aboutsummaryrefslogtreecommitdiffstats
path: root/emulators/qemu
diff options
context:
space:
mode:
authorpav <pav@FreeBSD.org>2005-10-08 03:26:21 +0800
committerpav <pav@FreeBSD.org>2005-10-08 03:26:21 +0800
commit19ab7b393ae0ef25b319a6f46b3e4535de3f326e (patch)
treee85296405af94a4e3ffe1766ec2df3cddea037d9 /emulators/qemu
parent4e04182f83151a0c04e7f12c2199effe22f7ef66 (diff)
downloadfreebsd-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/Makefile12
-rw-r--r--emulators/qemu/files/kqemu-freebsd-patch14
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;