diff options
author | pav <pav@FreeBSD.org> | 2005-10-08 03:26:21 +0800 |
---|---|---|
committer | pav <pav@FreeBSD.org> | 2005-10-08 03:26:21 +0800 |
commit | 19ab7b393ae0ef25b319a6f46b3e4535de3f326e (patch) | |
tree | e85296405af94a4e3ffe1766ec2df3cddea037d9 /emulators/qemu | |
parent | 4e04182f83151a0c04e7f12c2199effe22f7ef66 (diff) | |
download | freebsd-ports-graphics-19ab7b393ae0ef25b319a6f46b3e4535de3f326e.tar.gz freebsd-ports-graphics-19ab7b393ae0ef25b319a6f46b3e4535de3f326e.tar.zst freebsd-ports-graphics-19ab7b393ae0ef25b319a6f46b3e4535de3f326e.zip |
- Now compiles with system compiler on amd64 again (Klaus-J. Wolf)
- Fix bogus EBUSY with /dev/kqemu on 5+ (Manuel Stuehn)
PR: ports/86617, ports/87086
Submitted by: Juergen Lock <nox@jelal.kn-bremen.de> (maintainer)
Diffstat (limited to 'emulators/qemu')
-rw-r--r-- | emulators/qemu/Makefile | 12 | ||||
-rw-r--r-- | emulators/qemu/files/kqemu-freebsd-patch | 14 |
2 files changed, 10 insertions, 16 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile index e9e9e3a4698..15f0d4c11b7 100644 --- a/emulators/qemu/Makefile +++ b/emulators/qemu/Makefile @@ -7,7 +7,7 @@ PORTNAME= qemu PORTVERSION= 0.7.2s.20050909 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= emulators MASTER_SITES= http://www.qemu.org/ \ http://people.fruitsalad.org/nox/qemu/ \ @@ -52,22 +52,12 @@ CONFIGURE_ARGS+= --disable-kqemu PLIST_SUB= WITH_KQEMU="@comment " .endif -# gcc34 (system cc on 5.x now) has problems with qemu on amd64 -# (doesnt build target-i386/op.c), try the one in ports which is newer .include <bsd.port.pre.mk> .if ${ARCH} == "amd64" ARCH= x86_64 -.if ${OSVERSION} >= 502126 && ${OSVERSION} <= 600029 -BUILD_DEPENDS+= gcc34:${PORTSDIR}/lang/gcc34 -GCCVERSION= 030402 -CC= gcc34 -.else -USE_GCC= 3.4 .endif -.else USE_GCC= 3.4 -.endif .if defined(WITH_KQEMU) && !exists(${SRC_BASE}/sys/Makefile) IGNORE= kqemu requires kernel source to be installed diff --git a/emulators/qemu/files/kqemu-freebsd-patch b/emulators/qemu/files/kqemu-freebsd-patch index 85fe0db0eb0..18bc371df0d 100644 --- a/emulators/qemu/files/kqemu-freebsd-patch +++ b/emulators/qemu/files/kqemu-freebsd-patch @@ -236,7 +236,7 @@ Index: qemu/kqemu/kqemu-freebsd.c static char log_buf[4096]; -@@ -176,47 +227,155 @@ +@@ -176,47 +227,159 @@ va_end(ap); } @@ -359,7 +359,11 @@ Index: qemu/kqemu/kqemu-freebsd.c +#endif struct kqemu_instance *ks; + ++#if __FreeBSD_version >= 500000 ++ if (kqemu_ref_count >= KQEMU_MAX_INSTANCES) ++#else + if (dev->si_drv1 || kqemu_ref_count >= KQEMU_MAX_INSTANCES) ++#endif + return(EBUSY); + + if ((flags & (FREAD|FWRITE)) == FREAD) @@ -397,7 +401,7 @@ Index: qemu/kqemu/kqemu-freebsd.c { int error = 0; int ret; -@@ -231,8 +390,9 @@ +@@ -231,8 +394,9 @@ break; } d1 = *(struct kqemu_init *)addr; @@ -409,7 +413,7 @@ Index: qemu/kqemu/kqemu-freebsd.c if (s == NULL) { error = ENOMEM; break; -@@ -248,9 +408,16 @@ +@@ -248,9 +412,16 @@ } ctx = kqemu_get_cpu_state(s); *ctx = *(struct kqemu_cpu_state *)addr; @@ -426,7 +430,7 @@ Index: qemu/kqemu/kqemu-freebsd.c *(struct kqemu_cpu_state *)addr = *ctx; break; } -@@ -265,10 +432,22 @@ +@@ -265,10 +436,22 @@ /* ARGSUSED */ static int @@ -450,7 +454,7 @@ Index: qemu/kqemu/kqemu-freebsd.c } /* ARGSUSED */ -@@ -276,15 +455,55 @@ +@@ -276,15 +459,55 @@ kqemu_modevent(module_t mod __unused, int type, void *data __unused) { int error = 0; |