Use /usr/include/xen/xenio*.h if present, falling back to the ones from files/ (which have the old IOCTL_PRIVCMD_HYPERCALL to be compatible with NetBSD 4.0). Properly handle the new IOCTL_PRIVCMD_HYPERCALL ioctl if present.diff -r1.6 -r1.7 pkgsrc/sysutils/xentools3/Makefile
(bouyer)
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | # $NetBSD: Makefile,v 1.6 2008/02/15 20:34:35 bouyer Exp $ | 1 | # $NetBSD: Makefile,v 1.7 2008/02/17 16:29:03 bouyer Exp $ | |
2 | # | 2 | # | |
3 | 3 | |||
4 | VERSION= 3.1.3 | 4 | VERSION= 3.1.3 | |
5 | DISTNAME= xen-${VERSION}-src | 5 | DISTNAME= xen-${VERSION}-src | |
6 | PKGNAME= xentools3-${VERSION} | 6 | PKGNAME= xentools3-${VERSION} | |
7 | PKGREVISION= 1 | 7 | PKGREVISION= 1 | |
8 | CATEGORIES= sysutils | 8 | CATEGORIES= sysutils | |
9 | MASTER_SITES= ${MASTER_SITE_LOCAL} | 9 | MASTER_SITES= ${MASTER_SITE_LOCAL} | |
10 | EXTRACT_SUFX= .tgz | 10 | EXTRACT_SUFX= .tgz | |
11 | 11 | |||
12 | MAINTAINER= bouyer@NetBSD.org | 12 | MAINTAINER= bouyer@NetBSD.org | |
13 | HOMEPAGE= http://xen.org/ | 13 | HOMEPAGE= http://xen.org/ | |
14 | COMMENT= Userland Tools for Xen | 14 | COMMENT= Userland Tools for Xen | |
@@ -127,31 +127,33 @@ FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSC | @@ -127,31 +127,33 @@ FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSC | |||
127 | 127 | |||
128 | XEND_SCRIPTS= block vif-bridge vif-ip | 128 | XEND_SCRIPTS= block vif-bridge vif-ip | |
129 | 129 | |||
130 | CONF_FILES= ${EGDIR}/xend-config.sxp \ | 130 | CONF_FILES= ${EGDIR}/xend-config.sxp \ | |
131 | ${PKG_SYSCONFDIR}/xend-config.sxp | 131 | ${PKG_SYSCONFDIR}/xend-config.sxp | |
132 | .for s in ${XEND_SCRIPTS} | 132 | .for s in ${XEND_SCRIPTS} | |
133 | CONF_FILES_PERMS+= ${EGDIR}/${s} ${PKG_SYSCONFDIR}/scripts/${s} \ | 133 | CONF_FILES_PERMS+= ${EGDIR}/${s} ${PKG_SYSCONFDIR}/scripts/${s} \ | |
134 | ${ROOT_USER} ${ROOT_GROUP} 0755 | 134 | ${ROOT_USER} ${ROOT_GROUP} 0755 | |
135 | .endfor | 135 | .endfor | |
136 | 136 | |||
137 | OWN_DIRS= ${PKG_SYSCONFDIR}/scripts /var/log/xen | 137 | OWN_DIRS= ${PKG_SYSCONFDIR}/scripts /var/log/xen | |
138 | 138 | |||
139 | pre-build: | 139 | pre-build: | |
140 | ${MKDIR} ${WRKSRC}/libxc/xen/NetBSD | 140 | .if !exists(/usr/include/xen/xenio.h) | |
141 | ${TEST} -f ${WRKSRC}/libxc/xen/NetBSD/xenio.h || \ | 141 | ${MKDIR} ${WRKSRC}/libxc/xen | |
142 | ${CP} ${FILESDIR}/xenio.h ${WRKSRC}/libxc/xen/NetBSD | 142 | ${TEST} -f ${WRKSRC}/libxc/xen/xenio.h || \ | |
143 | ${TEST} -f ${WRKSRC}/libxc/xen/NetBSD/xenio3.h || \ | 143 | ${CP} ${FILESDIR}/xenio.h ${WRKSRC}/libxc/xen | |
144 | ${CP} ${FILESDIR}/xenio3.h ${WRKSRC}/libxc/xen/NetBSD | 144 | ${TEST} -f ${WRKSRC}/libxc/xen/xenio3.h || \ | |
145 | ${CP} ${FILESDIR}/xenio3.h ${WRKSRC}/libxc/xen | |||
146 | .endif | |||
145 | ${CP} ${FILESDIR}/NetBSD.mk ${WRKSRC}/../config/ | 147 | ${CP} ${FILESDIR}/NetBSD.mk ${WRKSRC}/../config/ | |
146 | pod2man ${WRKSRC}/../docs/man/xend-config.sxp.pod.5 |\ | 148 | pod2man ${WRKSRC}/../docs/man/xend-config.sxp.pod.5 |\ | |
147 | sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ | 149 | sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ | |
148 | >${WRKDIR}/xend-config.sxp.5 | 150 | >${WRKDIR}/xend-config.sxp.5 | |
149 | pod2man ${WRKSRC}/../docs/man/xmdomain.cfg.pod.5 |\ | 151 | pod2man ${WRKSRC}/../docs/man/xmdomain.cfg.pod.5 |\ | |
150 | sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ | 152 | sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ | |
151 | >${WRKDIR}/xmdomain.cfg.5 | 153 | >${WRKDIR}/xmdomain.cfg.5 | |
152 | pod2man ${WRKSRC}/../docs/man/xm.pod.1 |\ | 154 | pod2man ${WRKSRC}/../docs/man/xm.pod.1 |\ | |
153 | sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ | 155 | sed -e "s,@XENDCONFDIR@,${PKG_SYSCONFDIR},g" \ | |
154 | >${WRKDIR}/xm.1 | 156 | >${WRKDIR}/xm.1 | |
155 | 157 | |||
156 | .if ${OPSYS} == "NetBSD" | 158 | .if ${OPSYS} == "NetBSD" | |
157 | post-build: | 159 | post-build: |
@@ -1,25 +1,25 @@ | @@ -1,25 +1,25 @@ | |||
1 | $NetBSD: distinfo,v 1.4 2008/02/15 20:34:35 bouyer Exp $ | 1 | $NetBSD: distinfo,v 1.5 2008/02/17 16:29:03 bouyer Exp $ | |
2 | 2 | |||
3 | SHA1 (xen-3.1.3-src.tgz) = 87b370df928feda599bbc7076e7a4589f67355c8 | 3 | SHA1 (xen-3.1.3-src.tgz) = 87b370df928feda599bbc7076e7a4589f67355c8 | |
4 | RMD160 (xen-3.1.3-src.tgz) = b26b71e0422db7aece60aa4dd9f9c8d34affd0c7 | 4 | RMD160 (xen-3.1.3-src.tgz) = b26b71e0422db7aece60aa4dd9f9c8d34affd0c7 | |
5 | Size (xen-3.1.3-src.tgz) = 6891760 bytes | 5 | Size (xen-3.1.3-src.tgz) = 6891760 bytes | |
6 | SHA1 (patch-aa) = 86a6c9c2a43da76a5746835e13646b24e6992070 | 6 | SHA1 (patch-aa) = 86a6c9c2a43da76a5746835e13646b24e6992070 | |
7 | SHA1 (patch-ab) = 424d8cc3e41d128a221f0277c1cb1d8779e97241 | 7 | SHA1 (patch-ab) = dcafc8b6c4cd1e4dfc6f4ec806fd8076b3104b86 | |
8 | SHA1 (patch-ac) = 4eb0f474d4e3a685788c1ce92c0b407dc3d7a855 | 8 | SHA1 (patch-ac) = 4eb0f474d4e3a685788c1ce92c0b407dc3d7a855 | |
9 | SHA1 (patch-ad) = ec36d712925ddf06aac7d6393ad818a51c4363f3 | 9 | SHA1 (patch-ad) = ec36d712925ddf06aac7d6393ad818a51c4363f3 | |
10 | SHA1 (patch-al) = da759ccbb2c4b48f42178cff47ace7ef42466814 | 10 | SHA1 (patch-al) = da759ccbb2c4b48f42178cff47ace7ef42466814 | |
11 | SHA1 (patch-as) = 6f05feeb9dd63f2071d48b0d8aa8c6a0952e60c7 | 11 | SHA1 (patch-as) = 6f05feeb9dd63f2071d48b0d8aa8c6a0952e60c7 | |
12 | SHA1 (patch-au) = beb2eaa8bf832e179e69b1758cfe0fafafdc496b | 12 | SHA1 (patch-au) = b2357fdaff2895a5e4da4371d72ccc3041c78a83 | |
13 | SHA1 (patch-av) = be2a1440126908996410f92a04ad479f8a2ca373 | 13 | SHA1 (patch-av) = be2a1440126908996410f92a04ad479f8a2ca373 | |
14 | SHA1 (patch-aw) = 8039fa7bd7799efc48da9550f861e2212cb3361b | 14 | SHA1 (patch-aw) = 8039fa7bd7799efc48da9550f861e2212cb3361b | |
15 | SHA1 (patch-ax) = c2fd0f25ed00498039eececcfb467a236f608efa | 15 | SHA1 (patch-ax) = c2fd0f25ed00498039eececcfb467a236f608efa | |
16 | SHA1 (patch-ba) = 464405094eb798cce37302bdbc935561248ebd4e | 16 | SHA1 (patch-ba) = 464405094eb798cce37302bdbc935561248ebd4e | |
17 | SHA1 (patch-bb) = d6705871ab5655719cac1df2daf03845a8d50fba | 17 | SHA1 (patch-bb) = d6705871ab5655719cac1df2daf03845a8d50fba | |
18 | SHA1 (patch-bc) = c143c3c587f254af1552667a70e2fac1f0f9665e | 18 | SHA1 (patch-bc) = c143c3c587f254af1552667a70e2fac1f0f9665e | |
19 | SHA1 (patch-be) = dc8e2a96f39cb540eece35468e2e055201c80220 | 19 | SHA1 (patch-be) = dc8e2a96f39cb540eece35468e2e055201c80220 | |
20 | SHA1 (patch-bf) = 8b4ecb5cc6c92e3b52574f725f577df062c4f147 | 20 | SHA1 (patch-bf) = 8b4ecb5cc6c92e3b52574f725f577df062c4f147 | |
21 | SHA1 (patch-bg) = 3d390a3155db6a1f9c910868b7f615c2f270dc4d | 21 | SHA1 (patch-bg) = 3d390a3155db6a1f9c910868b7f615c2f270dc4d | |
22 | SHA1 (patch-bh) = c9719a85d84268fab81da989b06c7eca341bb6f9 | 22 | SHA1 (patch-bh) = c9719a85d84268fab81da989b06c7eca341bb6f9 | |
23 | SHA1 (patch-bo) = 473f6615d275d7a9d65ba6abfc7b809cb5e334fb | 23 | SHA1 (patch-bo) = 473f6615d275d7a9d65ba6abfc7b809cb5e334fb | |
24 | SHA1 (patch-br) = 906ac9598808f7e9677a04bbe159d174ea6f8b9a | 24 | SHA1 (patch-br) = 906ac9598808f7e9677a04bbe159d174ea6f8b9a | |
25 | SHA1 (patch-bs) = e6542ccdad7b48536d2d1b0ad533da4b1a784022 | 25 | SHA1 (patch-bs) = e6542ccdad7b48536d2d1b0ad533da4b1a784022 |
@@ -1,19 +1,20 @@ | @@ -1,19 +1,20 @@ | |||
1 | # $NetBSD: Makefile,v 1.4 2008/02/15 20:34:35 bouyer Exp $ | 1 | # $NetBSD: Makefile,v 1.5 2008/02/17 16:29:03 bouyer Exp $ | |
2 | # | 2 | # | |
3 | 3 | |||
4 | VERSION= 3.1.3 | 4 | VERSION= 3.1.3 | |
5 | DISTNAME= xen-${VERSION}-src | 5 | DISTNAME= xen-${VERSION}-src | |
6 | PKGNAME= xentools3-hvm-${VERSION} | 6 | PKGNAME= xentools3-hvm-${VERSION} | |
7 | PKGREVISION= 1 | |||
7 | CATEGORIES= sysutils | 8 | CATEGORIES= sysutils | |
8 | MASTER_SITES= ${MASTER_SITE_LOCAL} | 9 | MASTER_SITES= ${MASTER_SITE_LOCAL} | |
9 | EXTRACT_SUFX= .tgz | 10 | EXTRACT_SUFX= .tgz | |
10 | 11 | |||
11 | MAINTAINER= bouyer@NetBSD.org | 12 | MAINTAINER= bouyer@NetBSD.org | |
12 | HOMEPAGE= http://xen.org/ | 13 | HOMEPAGE= http://xen.org/ | |
13 | COMMENT= Tools for Virtual Machine Extensions support in Xen | 14 | COMMENT= Tools for Virtual Machine Extensions support in Xen | |
14 | 15 | |||
15 | BUILD_DEPENDS+= dev86-[0-9]*:../../devel/dev86 # needed to build firmware | 16 | BUILD_DEPENDS+= dev86-[0-9]*:../../devel/dev86 # needed to build firmware | |
16 | 17 | |||
17 | PKG_SYSCONFSUBDIR= xen | 18 | PKG_SYSCONFSUBDIR= xen | |
18 | 19 | |||
19 | ONLY_FOR_PLATFORM= Linux-2.[46]*-i386 Linux-2.[46]*-x86_64 | 20 | ONLY_FOR_PLATFORM= Linux-2.[46]*-i386 Linux-2.[46]*-x86_64 | |
@@ -67,31 +68,33 @@ SUBST_SED.prefix= -e "s,@PREFIX@,${PREFI | @@ -67,31 +68,33 @@ SUBST_SED.prefix= -e "s,@PREFIX@,${PREFI | |||
67 | 68 | |||
68 | .if ${OPSYS} == "NetBSD" | 69 | .if ${OPSYS} == "NetBSD" | |
69 | PROCPATH= /kern | 70 | PROCPATH= /kern | |
70 | .else | 71 | .else | |
71 | PROCPATH= /proc | 72 | PROCPATH= /proc | |
72 | .endif | 73 | .endif | |
73 | 74 | |||
74 | CONF_FILES_PERMS+= ${EGDIR}/qemu-ifup ${PKG_SYSCONFDIR}/scripts/qemu-ifup \ | 75 | CONF_FILES_PERMS+= ${EGDIR}/qemu-ifup ${PKG_SYSCONFDIR}/scripts/qemu-ifup \ | |
75 | ${ROOT_USER} ${ROOT_GROUP} 0755 | 76 | ${ROOT_USER} ${ROOT_GROUP} 0755 | |
76 | 77 | |||
77 | OWN_DIRS= ${PKG_SYSCONFDIR}/scripts | 78 | OWN_DIRS= ${PKG_SYSCONFDIR}/scripts | |
78 | 79 | |||
79 | pre-build: | 80 | pre-build: | |
80 | ${MKDIR} ${WRKSRC}/libxc/xen/NetBSD | 81 | .if !exists(/usr/include/xen/xenio.h) | |
81 | ${TEST} -f ${WRKSRC}/libxc/xen/NetBSD/xenio.h || \ | 82 | ${MKDIR} ${WRKSRC}/libxc/xen | |
82 | ${CP} ${FILESDIR}/xenio.h ${WRKSRC}/libxc/xen/NetBSD | 83 | ${TEST} -f ${WRKSRC}/libxc/xen/xenio.h || \ | |
83 | ${TEST} -f ${WRKSRC}/libxc/xen/NetBSD/xenio3.h || \ | 84 | ${CP} ${FILESDIR}/xenio.h ${WRKSRC}/libxc/xen | |
84 | ${CP} ${FILESDIR}/xenio3.h ${WRKSRC}/libxc/xen/NetBSD | 85 | ${TEST} -f ${WRKSRC}/libxc/xen/xenio3.h || \ | |
86 | ${CP} ${FILESDIR}/xenio3.h ${WRKSRC}/libxc/xen | |||
87 | .endif | |||
85 | ${CP} ${FILESDIR}/NetBSD.mk ${WRKSRC}/../config/ | 88 | ${CP} ${FILESDIR}/NetBSD.mk ${WRKSRC}/../config/ | |
86 | .if ${MACHINE_ARCH} == "x86_64" | 89 | .if ${MACHINE_ARCH} == "x86_64" | |
87 | ${MKDIR} ${WRKSRC}/libxc/machine | 90 | ${MKDIR} ${WRKSRC}/libxc/machine | |
88 | ${TEST} -f ${WRKSRC}/libxc/machine/int_types.h || \ | 91 | ${TEST} -f ${WRKSRC}/libxc/machine/int_types.h || \ | |
89 | ${CP} ${FILESDIR}/int_types.h ${WRKSRC}/libxc/machine | 92 | ${CP} ${FILESDIR}/int_types.h ${WRKSRC}/libxc/machine | |
90 | ${TEST} -f ${WRKSRC}/libxc/machine/elf_machdep.h || \ | 93 | ${TEST} -f ${WRKSRC}/libxc/machine/elf_machdep.h || \ | |
91 | ${CP} ${FILESDIR}/elf_machdep.h ${WRKSRC}/libxc/machine | 94 | ${CP} ${FILESDIR}/elf_machdep.h ${WRKSRC}/libxc/machine | |
92 | .endif | 95 | .endif | |
93 | 96 | |||
94 | .if ${OPSYS} == "NetBSD" | 97 | .if ${OPSYS} == "NetBSD" | |
95 | post-build: | 98 | post-build: | |
96 | cd ${FILESDIR}; for src in *-nbsd; do \ | 99 | cd ${FILESDIR}; for src in *-nbsd; do \ | |
97 | dst="$${src%-nbsd}"; \ | 100 | dst="$${src%-nbsd}"; \ |
@@ -1,24 +1,24 @@ | @@ -1,24 +1,24 @@ | |||
1 | $NetBSD: distinfo,v 1.3 2008/02/15 20:34:35 bouyer Exp $ | 1 | $NetBSD: distinfo,v 1.4 2008/02/17 16:29:03 bouyer Exp $ | |
2 | 2 | |||
3 | SHA1 (xen-3.1.3-src.tgz) = 87b370df928feda599bbc7076e7a4589f67355c8 | 3 | SHA1 (xen-3.1.3-src.tgz) = 87b370df928feda599bbc7076e7a4589f67355c8 | |
4 | RMD160 (xen-3.1.3-src.tgz) = b26b71e0422db7aece60aa4dd9f9c8d34affd0c7 | 4 | RMD160 (xen-3.1.3-src.tgz) = b26b71e0422db7aece60aa4dd9f9c8d34affd0c7 | |
5 | Size (xen-3.1.3-src.tgz) = 6891760 bytes | 5 | Size (xen-3.1.3-src.tgz) = 6891760 bytes | |
6 | SHA1 (patch-aa) = 663c798a472501d4c38add5049faded5b7e807aa | 6 | SHA1 (patch-aa) = 663c798a472501d4c38add5049faded5b7e807aa | |
7 | SHA1 (patch-an) = cb6e3a7eac490851f2eacf557f05daf0d6966cce | 7 | SHA1 (patch-an) = cb6e3a7eac490851f2eacf557f05daf0d6966cce | |
8 | SHA1 (patch-ao) = d1250258d09cf9b330a4e9d52e85332a0eef7998 | 8 | SHA1 (patch-ao) = d1250258d09cf9b330a4e9d52e85332a0eef7998 | |
9 | SHA1 (patch-ap) = 33f2bdbef6df3f2105d4502b8066abb6c952fc6c | 9 | SHA1 (patch-ap) = 33f2bdbef6df3f2105d4502b8066abb6c952fc6c | |
10 | SHA1 (patch-ar) = c8748761267dd82c75deab79d13b71d56bcf2223 | 10 | SHA1 (patch-ar) = c8748761267dd82c75deab79d13b71d56bcf2223 | |
11 | SHA1 (patch-as) = 8850108d0c8f101642f4855184253824f9c214b5 | 11 | SHA1 (patch-as) = 8850108d0c8f101642f4855184253824f9c214b5 | |
12 | SHA1 (patch-at) = 2311289176c83fcd3ff18b90bab9c2e5e05a52f1 | 12 | SHA1 (patch-at) = 2311289176c83fcd3ff18b90bab9c2e5e05a52f1 | |
13 | SHA1 (patch-au) = beb2eaa8bf832e179e69b1758cfe0fafafdc496b | 13 | SHA1 (patch-au) = b2357fdaff2895a5e4da4371d72ccc3041c78a83 | |
14 | SHA1 (patch-av) = be2a1440126908996410f92a04ad479f8a2ca373 | 14 | SHA1 (patch-av) = be2a1440126908996410f92a04ad479f8a2ca373 | |
15 | SHA1 (patch-aw) = 2776799b391983ad79af0f28367287a4a865260a | 15 | SHA1 (patch-aw) = 2776799b391983ad79af0f28367287a4a865260a | |
16 | SHA1 (patch-ax) = 93411fbeff95f76d723fdda993d55a2740d3a713 | 16 | SHA1 (patch-ax) = 93411fbeff95f76d723fdda993d55a2740d3a713 | |
17 | SHA1 (patch-ay) = 6c5b1e469d6dfd853f68a3151ee46e7c56d8247c | 17 | SHA1 (patch-ay) = 6c5b1e469d6dfd853f68a3151ee46e7c56d8247c | |
18 | SHA1 (patch-ba) = ee151472a9ec28301b67e696e81673c4bf753ed6 | 18 | SHA1 (patch-ba) = ee151472a9ec28301b67e696e81673c4bf753ed6 | |
19 | SHA1 (patch-bb) = 19e3d323efab335a50f0410d1197ecbee5b7798b | 19 | SHA1 (patch-bb) = 19e3d323efab335a50f0410d1197ecbee5b7798b | |
20 | SHA1 (patch-bv) = 2ba938aef7a5c9eb417e443577b841bae0e0550a | 20 | SHA1 (patch-bv) = 2ba938aef7a5c9eb417e443577b841bae0e0550a | |
21 | SHA1 (patch-ck) = d085b0ced66544963441fff5231e06fd9ac03878 | 21 | SHA1 (patch-ck) = d085b0ced66544963441fff5231e06fd9ac03878 | |
22 | SHA1 (patch-cl) = ad26eee7b315ec512453c73cdc29253e0fa6266f | 22 | SHA1 (patch-cl) = ad26eee7b315ec512453c73cdc29253e0fa6266f | |
23 | SHA1 (patch-cp) = 1f774a6636ce6646fc83bab304e84ce2d8886db5 | 23 | SHA1 (patch-cp) = 1f774a6636ce6646fc83bab304e84ce2d8886db5 | |
24 | SHA1 (patch-cq) = b2fcddf97e92a49828504777232841c8d5e3df16 | 24 | SHA1 (patch-cq) = b2fcddf97e92a49828504777232841c8d5e3df16 |
@@ -17,28 +17,28 @@ | @@ -17,28 +17,28 @@ | |||
17 | * | 17 | * | |
18 | * The above copyright notice and this permission notice shall be included in | 18 | * The above copyright notice and this permission notice shall be included in | |
19 | * all copies or substantial portions of the Software. | 19 | * all copies or substantial portions of the Software. | |
20 | * | 20 | * | |
21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
22 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 22 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
23 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | 23 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
24 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 24 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
25 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 25 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | 26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
27 | * IN THE SOFTWARE. | 27 | * IN THE SOFTWARE. | |
28 | */ | 28 | */ | |
29 | 29 | |||
30 | #ifndef __NetBSD_PRIVCMD_H__ | 30 | #ifndef __PKGSRC_PRIVCMD_H__ | |
31 | #define __NetBSD_PRIVCMD_H__ | 31 | #define __PKGSRC_PRIVCMD_H__ | |
32 | 32 | |||
33 | /* Interface to /proc/xen/privcmd */ | 33 | /* Interface to /proc/xen/privcmd */ | |
34 | 34 | |||
35 | typedef struct privcmd_hypercall | 35 | typedef struct privcmd_hypercall | |
36 | { | 36 | { | |
37 | unsigned long op; | 37 | unsigned long op; | |
38 | unsigned long arg[5]; | 38 | unsigned long arg[5]; | |
39 | } privcmd_hypercall_t; | 39 | } privcmd_hypercall_t; | |
40 | 40 | |||
41 | typedef struct privcmd_mmap_entry { | 41 | typedef struct privcmd_mmap_entry { | |
42 | unsigned long va; | 42 | unsigned long va; | |
43 | unsigned long mfn; | 43 | unsigned long mfn; | |
44 | unsigned long npages; | 44 | unsigned long npages; | |
@@ -92,14 +92,14 @@ typedef struct privcmd_blkmsg | @@ -92,14 +92,14 @@ typedef struct privcmd_blkmsg | |||
92 | * for the initial domain. | 92 | * for the initial domain. | |
93 | */ | 93 | */ | |
94 | #define IOCTL_PRIVCMD_INITDOMAIN_EVTCHN \ | 94 | #define IOCTL_PRIVCMD_INITDOMAIN_EVTCHN \ | |
95 | _IOR('P', 5, int) | 95 | _IOR('P', 5, int) | |
96 | 96 | |||
97 | /* Interface to /dev/xenevt */ | 97 | /* Interface to /dev/xenevt */ | |
98 | /* EVTCHN_RESET: Clear and reinit the event buffer. Clear error condition. */ | 98 | /* EVTCHN_RESET: Clear and reinit the event buffer. Clear error condition. */ | |
99 | #define EVTCHN_RESET _IO('E', 1) | 99 | #define EVTCHN_RESET _IO('E', 1) | |
100 | /* EVTCHN_BIND: Bind to the specified event-channel port. */ | 100 | /* EVTCHN_BIND: Bind to the specified event-channel port. */ | |
101 | #define EVTCHN_BIND _IOW('E', 2, unsigned long) | 101 | #define EVTCHN_BIND _IOW('E', 2, unsigned long) | |
102 | /* EVTCHN_UNBIND: Unbind from the specified event-channel port. */ | 102 | /* EVTCHN_UNBIND: Unbind from the specified event-channel port. */ | |
103 | #define EVTCHN_UNBIND _IOW('E', 3, unsigned long) | 103 | #define EVTCHN_UNBIND _IOW('E', 3, unsigned long) | |
104 | 104 | |||
105 | #endif /* __NetBSD_PRIVCMD_H__ */ | 105 | #endif /* __PKGSRC_PRIVCMD_H__ */ |
@@ -1,16 +1,16 @@ | @@ -1,16 +1,16 @@ | |||
1 | $NetBSD: patch-au,v 1.1.1.1 2007/06/14 19:42:12 bouyer Exp $ | 1 | $NetBSD: patch-au,v 1.2 2008/02/17 16:29:03 bouyer Exp $ | |
2 | 2 | |||
3 | --- libxc/xc_private.h.orig 2006-10-16 22:15:35.000000000 +0200 | 3 | --- libxc/xc_private.h.orig 2006-10-16 22:15:35.000000000 +0200 | |
4 | +++ libxc/xc_private.h 2006-10-16 22:16:09.000000000 +0200 | 4 | +++ libxc/xc_private.h 2006-10-16 22:16:09.000000000 +0200 | |
5 | @@ -15,7 +15,11 @@ | 5 | @@ -15,7 +15,11 @@ | |
6 | 6 | |||
7 | #include "xenctrl.h" | 7 | #include "xenctrl.h" | |
8 | 8 | |||
9 | +#ifdef __NetBSD__ | 9 | +#ifdef __NetBSD__ | |
10 | +#include <xen/NetBSD/xenio.h> | 10 | +#include <xen/xenio.h> | |
11 | +#else | 11 | +#else | |
12 | #include <xen/sys/privcmd.h> | 12 | #include <xen/sys/privcmd.h> | |
13 | +#endif | 13 | +#endif | |
14 | 14 | |||
15 | /* valgrind cannot see when a hypercall has filled in some values. For this | 15 | /* valgrind cannot see when a hypercall has filled in some values. For this | |
16 | reason, we must zero the privcmd_hypercall_t or domctl/sysctl instance | 16 | reason, we must zero the privcmd_hypercall_t or domctl/sysctl instance |
@@ -17,28 +17,28 @@ | @@ -17,28 +17,28 @@ | |||
17 | * | 17 | * | |
18 | * The above copyright notice and this permission notice shall be included in | 18 | * The above copyright notice and this permission notice shall be included in | |
19 | * all copies or substantial portions of the Software. | 19 | * all copies or substantial portions of the Software. | |
20 | * | 20 | * | |
21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
22 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 22 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
23 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | 23 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
24 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 24 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
25 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 25 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | 26 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
27 | * IN THE SOFTWARE. | 27 | * IN THE SOFTWARE. | |
28 | */ | 28 | */ | |
29 | 29 | |||
30 | #ifndef __NetBSD_PRIVCMD_H__ | 30 | #ifndef __PKGSRC_PRIVCMD_H__ | |
31 | #define __NetBSD_PRIVCMD_H__ | 31 | #define __PKGSRC_PRIVCMD_H__ | |
32 | 32 | |||
33 | /* Interface to /proc/xen/privcmd */ | 33 | /* Interface to /proc/xen/privcmd */ | |
34 | 34 | |||
35 | typedef struct privcmd_hypercall | 35 | typedef struct privcmd_hypercall | |
36 | { | 36 | { | |
37 | unsigned long op; | 37 | unsigned long op; | |
38 | unsigned long arg[5]; | 38 | unsigned long arg[5]; | |
39 | } privcmd_hypercall_t; | 39 | } privcmd_hypercall_t; | |
40 | 40 | |||
41 | typedef struct privcmd_mmap_entry { | 41 | typedef struct privcmd_mmap_entry { | |
42 | unsigned long va; | 42 | unsigned long va; | |
43 | unsigned long mfn; | 43 | unsigned long mfn; | |
44 | unsigned long npages; | 44 | unsigned long npages; | |
@@ -92,14 +92,14 @@ typedef struct privcmd_blkmsg | @@ -92,14 +92,14 @@ typedef struct privcmd_blkmsg | |||
92 | * for the initial domain. | 92 | * for the initial domain. | |
93 | */ | 93 | */ | |
94 | #define IOCTL_PRIVCMD_INITDOMAIN_EVTCHN \ | 94 | #define IOCTL_PRIVCMD_INITDOMAIN_EVTCHN \ | |
95 | _IOR('P', 5, int) | 95 | _IOR('P', 5, int) | |
96 | 96 | |||
97 | /* Interface to /dev/xenevt */ | 97 | /* Interface to /dev/xenevt */ | |
98 | /* EVTCHN_RESET: Clear and reinit the event buffer. Clear error condition. */ | 98 | /* EVTCHN_RESET: Clear and reinit the event buffer. Clear error condition. */ | |
99 | #define EVTCHN_RESET _IO('E', 1) | 99 | #define EVTCHN_RESET _IO('E', 1) | |
100 | /* EVTCHN_BIND: Bind to the specified event-channel port. */ | 100 | /* EVTCHN_BIND: Bind to the specified event-channel port. */ | |
101 | #define EVTCHN_BIND _IOW('E', 2, unsigned long) | 101 | #define EVTCHN_BIND _IOW('E', 2, unsigned long) | |
102 | /* EVTCHN_UNBIND: Unbind from the specified event-channel port. */ | 102 | /* EVTCHN_UNBIND: Unbind from the specified event-channel port. */ | |
103 | #define EVTCHN_UNBIND _IOW('E', 3, unsigned long) | 103 | #define EVTCHN_UNBIND _IOW('E', 3, unsigned long) | |
104 | 104 | |||
105 | #endif /* __NetBSD_PRIVCMD_H__ */ | 105 | #endif /* __PKGSRC_PRIVCMD_H__ */ |
@@ -1,33 +1,33 @@ | @@ -1,33 +1,33 @@ | |||
1 | $NetBSD: patch-ab,v 1.2 2007/12/03 21:54:30 bouyer Exp $ | 1 | $NetBSD: patch-ab,v 1.3 2008/02/17 16:29:03 bouyer Exp $ | |
2 | 2 | |||
3 | --- libxc/xc_netbsd.c.orig 2007-12-03 12:46:01.000000000 +0100 | 3 | --- libxc/xc_netbsd.c.orig 2008-02-17 15:12:36.000000000 +0100 | |
4 | +++ libxc/xc_netbsd.c 2007-12-03 12:48:59.000000000 +0100 | 4 | +++ libxc/xc_netbsd.c 2008-02-17 15:20:03.000000000 +0100 | |
5 | @@ -0,0 +1,268 @@ | 5 | @@ -0,0 +1,279 @@ | |
6 | +/****************************************************************************** | 6 | +/****************************************************************************** | |
7 | + * | 7 | + * | |
8 | + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. | 8 | + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. | |
9 | + * Use is subject to license terms. | 9 | + * Use is subject to license terms. | |
10 | + * | 10 | + * | |
11 | + * This program is free software; you can redistribute it and/or | 11 | + * This program is free software; you can redistribute it and/or | |
12 | + * modify it under the terms of the GNU General Public License as | 12 | + * modify it under the terms of the GNU General Public License as | |
13 | + * published by the Free Software Foundation, version 2 of the | 13 | + * published by the Free Software Foundation, version 2 of the | |
14 | + * License. | 14 | + * License. | |
15 | + */ | 15 | + */ | |
16 | + | 16 | + | |
17 | +#include "xc_private.h" | 17 | +#include "xc_private.h" | |
18 | + | 18 | + | |
19 | +#include <xen/memory.h> | 19 | +#include <xen/memory.h> | |
20 | +#include <xen/NetBSD/xenio3.h> | 20 | +#include <xen/xenio3.h> | |
21 | +#include <unistd.h> | 21 | +#include <unistd.h> | |
22 | +#include <fcntl.h> | 22 | +#include <fcntl.h> | |
23 | + | 23 | + | |
24 | +int xc_interface_open(void) | 24 | +int xc_interface_open(void) | |
25 | +{ | 25 | +{ | |
26 | + int flags, saved_errno; | 26 | + int flags, saved_errno; | |
27 | + int fd = open("/kern/xen/privcmd", O_RDWR); | 27 | + int fd = open("/kern/xen/privcmd", O_RDWR); | |
28 | + | 28 | + | |
29 | + if ( fd == -1 ) | 29 | + if ( fd == -1 ) | |
30 | + { | 30 | + { | |
31 | + PERROR("Could not obtain handle on privileged command interface"); | 31 | + PERROR("Could not obtain handle on privileged command interface"); | |
32 | + return -1; | 32 | + return -1; | |
33 | + } | 33 | + } | |
@@ -132,29 +132,40 @@ $NetBSD: patch-ab,v 1.2 2007/12/03 21:54 | @@ -132,29 +132,40 @@ $NetBSD: patch-ab,v 1.2 2007/12/03 21:54 | |||
132 | +} | 132 | +} | |
133 | + | 133 | + | |
134 | +static int do_privcmd(int xc_handle, unsigned int cmd, unsigned long data) | 134 | +static int do_privcmd(int xc_handle, unsigned int cmd, unsigned long data) | |
135 | +{ | 135 | +{ | |
136 | + int err = ioctl(xc_handle, cmd, data); | 136 | + int err = ioctl(xc_handle, cmd, data); | |
137 | + if (err == 0) | 137 | + if (err == 0) | |
138 | + return 0; | 138 | + return 0; | |
139 | + else | 139 | + else | |
140 | + return -errno; | 140 | + return -errno; | |
141 | +} | 141 | +} | |
142 | + | 142 | + | |
143 | +int do_xen_hypercall(int xc_handle, privcmd_hypercall_t *hypercall) | 143 | +int do_xen_hypercall(int xc_handle, privcmd_hypercall_t *hypercall) | |
144 | +{ | 144 | +{ | |
145 | +#ifdef __PKGSRC_PRIVCMD_H__ | |||
146 | + /* old IOCTL */ | |||
145 | + return do_privcmd(xc_handle, | 147 | + return do_privcmd(xc_handle, | |
146 | + IOCTL_PRIVCMD_HYPERCALL, | 148 | + IOCTL_PRIVCMD_HYPERCALL, | |
147 | + (unsigned long)hypercall); | 149 | + (unsigned long)hypercall); | |
150 | +#else | |||
151 | + int error = do_privcmd(xc_handle, | |||
152 | + IOCTL_PRIVCMD_HYPERCALL, | |||
153 | + (unsigned long)hypercall); | |||
154 | + if (error) | |||
155 | + return error; | |||
156 | + else | |||
157 | + return (hypercall->retval); | |||
158 | +#endif | |||
148 | +} | 159 | +} | |
149 | + | 160 | + | |
150 | +#define EVTCHN_DEV_NAME "/dev/xenevt" | 161 | +#define EVTCHN_DEV_NAME "/dev/xenevt" | |
151 | + | 162 | + | |
152 | +int xc_evtchn_open(void) | 163 | +int xc_evtchn_open(void) | |
153 | +{ | 164 | +{ | |
154 | + return open(EVTCHN_DEV_NAME, O_NONBLOCK|O_RDWR); | 165 | + return open(EVTCHN_DEV_NAME, O_NONBLOCK|O_RDWR); | |
155 | +} | 166 | +} | |
156 | + | 167 | + | |
157 | +int xc_evtchn_close(int xce_handle) | 168 | +int xc_evtchn_close(int xce_handle) | |
158 | +{ | 169 | +{ | |
159 | + return close(xce_handle); | 170 | + return close(xce_handle); | |
160 | +} | 171 | +} |
@@ -1,16 +1,16 @@ | @@ -1,16 +1,16 @@ | |||
1 | $NetBSD: patch-au,v 1.1.1.1 2007/06/14 19:39:46 bouyer Exp $ | 1 | $NetBSD: patch-au,v 1.2 2008/02/17 16:29:03 bouyer Exp $ | |
2 | 2 | |||
3 | --- libxc/xc_private.h.orig 2006-10-16 22:15:35.000000000 +0200 | 3 | --- libxc/xc_private.h.orig 2006-10-16 22:15:35.000000000 +0200 | |
4 | +++ libxc/xc_private.h 2006-10-16 22:16:09.000000000 +0200 | 4 | +++ libxc/xc_private.h 2006-10-16 22:16:09.000000000 +0200 | |
5 | @@ -15,7 +15,11 @@ | 5 | @@ -15,7 +15,11 @@ | |
6 | 6 | |||
7 | #include "xenctrl.h" | 7 | #include "xenctrl.h" | |
8 | 8 | |||
9 | +#ifdef __NetBSD__ | 9 | +#ifdef __NetBSD__ | |
10 | +#include <xen/NetBSD/xenio.h> | 10 | +#include <xen/xenio.h> | |
11 | +#else | 11 | +#else | |
12 | #include <xen/sys/privcmd.h> | 12 | #include <xen/sys/privcmd.h> | |
13 | +#endif | 13 | +#endif | |
14 | 14 | |||
15 | /* valgrind cannot see when a hypercall has filled in some values. For this | 15 | /* valgrind cannot see when a hypercall has filled in some values. For this | |
16 | reason, we must zero the privcmd_hypercall_t or domctl/sysctl instance | 16 | reason, we must zero the privcmd_hypercall_t or domctl/sysctl instance |