diff options
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/kqemu-kmod/Makefile | 5 | ||||
-rw-r--r-- | emulators/kqemu-kmod/files/patch-kqemu-freebsd.c | 26 |
2 files changed, 26 insertions, 5 deletions
diff --git a/emulators/kqemu-kmod/Makefile b/emulators/kqemu-kmod/Makefile index 2febf64685e1..0e778b0e3820 100644 --- a/emulators/kqemu-kmod/Makefile +++ b/emulators/kqemu-kmod/Makefile @@ -7,7 +7,7 @@ PORTNAME= kqemu PORTVERSION= 1.3.0.p11 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= emulators kld MASTER_SITES= http://bellard.org/qemu/ \ http://qemu.org/ \ @@ -18,12 +18,13 @@ DISTNAME= ${PORTNAME}-${PORTVERSION:C/.p/pre/} DIST_SUBDIR= kqemu MAINTAINER= nox@FreeBSD.org -COMMENT= Kernel Accelerator for QEMU CPU Emulator (development version) +COMMENT= Kernel Accelerator for QEMU CPU Emulator ONLY_FOR_ARCHS= i386 amd64 HAS_CONFIGURE= yes USE_GMAKE= yes CONFIGURE_ARGS+= --prefix=${PREFIX} --cc=${CC} +CONFLICTS= kqemu-kmod-devel-[0-9]* USE_RC_SUBR= kqemu diff --git a/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c b/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c index ac811e16d7fe..9b4d6ab137ec 100644 --- a/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c +++ b/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c @@ -1,5 +1,5 @@ Index: kqemu-freebsd.c -@@ -208,9 +208,17 @@ +@@ -222,9 +222,17 @@ int CDECL kqemu_schedule(void) { /* kqemu_log("kqemu_schedule\n"); */ @@ -17,7 +17,27 @@ Index: kqemu-freebsd.c return SIGPENDING(curthread); } #endif -@@ -320,8 +328,15 @@ +@@ -258,6 +266,10 @@ + static struct clonedevs *kqemuclones; + static TAILQ_HEAD(,kqemu_instance) kqemuhead = TAILQ_HEAD_INITIALIZER(kqemuhead); + static eventhandler_tag clonetag; ++#ifndef D_NEEDMINOR ++/* see http://svn.freebsd.org/viewvc/base?view=revision&revision=179726 */ ++#define D_NEEDMINOR 0 ++#endif + #endif + + static d_close_t kqemu_close; +@@ -282,7 +294,7 @@ + /* bmaj */ -1 + #else + .d_version = D_VERSION, +- .d_flags = D_NEEDGIANT, ++ .d_flags = D_NEEDGIANT | D_NEEDMINOR, + .d_open = kqemu_open, + .d_ioctl = kqemu_ioctl, + .d_close = kqemu_close, +@@ -334,8 +346,15 @@ #if __FreeBSD_version >= 500000 dev->si_drv1 = NULL; TAILQ_REMOVE(&kqemuhead, ks, kqemu_ent); @@ -33,7 +53,7 @@ Index: kqemu-freebsd.c free(ks, M_KQEMU); --kqemu_ref_count; } -@@ -500,7 +515,13 @@ +@@ -514,7 +533,13 @@ while ((ks = TAILQ_FIRST(&kqemuhead)) != NULL) { kqemu_destroy(ks); } |