diff options
author | Juergen Lock <nox@FreeBSD.org> | 2008-04-19 15:04:56 +0000 |
---|---|---|
committer | Juergen Lock <nox@FreeBSD.org> | 2008-04-19 15:04:56 +0000 |
commit | d4679191a5f74f87674e4ac93257034408e066df (patch) | |
tree | ac3d8fc31c71e2da792eecfbf46034d16f0a0003 /emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c | |
parent | Upgrade to 6.4.0-7 -- currently the latest. (diff) |
- Try and fix for real the issue of exiting qemu processes sometimes
stuck in devdrn
- Remove the -DSMP magic, it didn't help the amd64 SMP panics and was
useless anyway (the panics still exist, the only good workaround I've
found so far is forcing qemu onto cpu 1 and that is only possible on
HEAD using the new cpuset feature)
- Only bother with the -DKSE magic for OSVERSIONs where it matters
- Bump PORTREVISION
Diffstat (limited to 'emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c')
-rw-r--r-- | emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c b/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c index 73e23f4b7d24..ac811e16d7fe 100644 --- a/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c +++ b/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c @@ -17,13 +17,33 @@ Index: kqemu-freebsd.c return SIGPENDING(curthread); } #endif -@@ -320,6 +328,9 @@ +@@ -320,8 +328,15 @@ #if __FreeBSD_version >= 500000 dev->si_drv1 = NULL; TAILQ_REMOVE(&kqemuhead, ks, kqemu_ent); ++#if __FreeBSD_version >= 700051 ++ destroy_dev_sched(dev); ++#else +#if __FreeBSD_version >= 700024 + dev_relthread(dev); +#endif destroy_dev(dev); #endif ++#endif free(ks, M_KQEMU); + --kqemu_ref_count; + } +@@ -500,7 +515,13 @@ + while ((ks = TAILQ_FIRST(&kqemuhead)) != NULL) { + kqemu_destroy(ks); + } ++#if __FreeBSD_version >= 700051 ++ drain_dev_clone_events(); ++#endif + clone_cleanup(&kqemuclones); ++#if __FreeBSD_version >= 700051 ++ destroy_dev_drain(&kqemu_cdevsw); ++#endif + #endif + kqemu_global_delete(kqemu_gs); + kqemu_gs = NULL; |