diff options
author | nork <nork@FreeBSD.org> | 2005-11-06 17:03:02 +0800 |
---|---|---|
committer | nork <nork@FreeBSD.org> | 2005-11-06 17:03:02 +0800 |
commit | 559f14ef352503046bbce85795d66561b115d25f (patch) | |
tree | 7c2c219a4ab23670a41a4f5b367b74e210247e3b /emulators/kqemu-kmod | |
parent | b2a24d5605c3a887901ec7408ab39f8527a5db0e (diff) | |
download | freebsd-ports-gnome-559f14ef352503046bbce85795d66561b115d25f.tar.gz freebsd-ports-gnome-559f14ef352503046bbce85795d66561b115d25f.tar.zst freebsd-ports-gnome-559f14ef352503046bbce85795d66561b115d25f.zip |
Fix kernel panic after stopping qemu.
Submitted by: pjd
Diffstat (limited to 'emulators/kqemu-kmod')
-rw-r--r-- | emulators/kqemu-kmod/Makefile | 1 | ||||
-rw-r--r-- | emulators/kqemu-kmod/files/patch-kqemu-freebsd.c | 15 |
2 files changed, 9 insertions, 7 deletions
diff --git a/emulators/kqemu-kmod/Makefile b/emulators/kqemu-kmod/Makefile index 1257adadb797..03f84aa01af2 100644 --- a/emulators/kqemu-kmod/Makefile +++ b/emulators/kqemu-kmod/Makefile @@ -7,6 +7,7 @@ PORTNAME= kqemu PORTVERSION= 0.7.2 +PORTREVISION= 1 CATEGORIES= emulators MASTER_SITES= http://fabrice.bellard.free.fr/qemu/ PKGNAMESUFFIX= -kmod diff --git a/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c b/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c index 27eb0420a4ff..ac413bb54912 100644 --- a/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c +++ b/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c @@ -1,5 +1,5 @@ ---- kqemu-freebsd.c.orig Mon Aug 15 01:34:06 2005 -+++ kqemu-freebsd.c Tue Oct 25 21:08:43 2005 +--- kqemu-freebsd.c.orig Sun Aug 14 18:34:06 2005 ++++ kqemu-freebsd.c Thu Nov 3 17:15:47 2005 @@ -3,32 +3,55 @@ #include <sys/param.h> #include <sys/systm.h> @@ -228,7 +228,7 @@ static char log_buf[4096]; -@@ -176,47 +227,159 @@ +@@ -176,47 +227,160 @@ va_end(ap); } @@ -312,6 +312,7 @@ + *dev = make_dev(&kqemu_cdevsw, unit2minor(unit), + UID_ROOT, GID_WHEEL, 0660, "kqemu%d", unit); + if (*dev != NULL) { ++ dev_ref(*dev); + (*dev)->si_flags |= SI_CHEAPCLONE; + } + } @@ -393,7 +394,7 @@ { int error = 0; int ret; -@@ -231,8 +394,9 @@ +@@ -231,8 +395,9 @@ break; } d1 = *(struct kqemu_init *)addr; @@ -405,7 +406,7 @@ if (s == NULL) { error = ENOMEM; break; -@@ -248,9 +412,16 @@ +@@ -248,9 +413,16 @@ } ctx = kqemu_get_cpu_state(s); *ctx = *(struct kqemu_cpu_state *)addr; @@ -422,7 +423,7 @@ *(struct kqemu_cpu_state *)addr = *ctx; break; } -@@ -265,10 +436,22 @@ +@@ -265,10 +437,22 @@ /* ARGSUSED */ static int @@ -446,7 +447,7 @@ } /* ARGSUSED */ -@@ -276,15 +459,55 @@ +@@ -276,15 +460,55 @@ kqemu_modevent(module_t mod __unused, int type, void *data __unused) { int error = 0; |