mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
- 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
This commit is contained in:
parent
fa42a4a9f4
commit
d4679191a5
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=211579
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= kqemu
|
||||
PORTVERSION= 1.3.0.p11
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= emulators kld
|
||||
MASTER_SITES= http://fabrice.bellard.free.fr/qemu/ \
|
||||
http://qemu.org/ \
|
||||
@ -51,25 +51,15 @@ MAKE_ENV+= KMODDIR="${KMODDIR}"
|
||||
IGNORE= kqemu requires kernel source to be installed
|
||||
.endif
|
||||
|
||||
.if ${OSVERSION} >= 700024 && !defined(NOKSE)
|
||||
.if ${OSVERSION} >= 700024 && ${OSVERSION} < 700053 && !defined(NOKSE)
|
||||
# XXX this is wrong if you have `nooption KSE' in your kernel config,
|
||||
# please define NOKSE in that case
|
||||
# please define NOKSE in that case (no longer a problem after attilio's
|
||||
# Sun Jul 22 21:35:44 2007 UTC commit removing the KSE ABI incompatiblity)
|
||||
CFLAGS+= -DKSE
|
||||
.endif
|
||||
|
||||
# XXX the following is wrong if you run a custom SMP kernel on a
|
||||
# singleprocessor machine (but it probably doesn't really matter)
|
||||
KERNCONF!= ${UNAME} -v | ${SED} 's-.*/--' | ${TR} -d ' '
|
||||
NCPU!= ${SYSCTL} -n hw.ncpu 2>/dev/null
|
||||
# we know 7.x GENERIC has SMP
|
||||
.if ${KERNCONF} == "GENERIC" && ${OSVERSION} >= 700000
|
||||
CFLAGS+= -DSMP
|
||||
.elif ${NCPU} > 1
|
||||
CFLAGS+= -DSMP
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
.if ${OSVERSION} >= 700024 && !defined(NOKSE)
|
||||
.if ${OSVERSION} >= 700024 && ${OSVERSION} < 700053 && !defined(NOKSE)
|
||||
@${ECHO_MSG} "Compiling with -DKSE."
|
||||
@${ECHO_MSG} "If this is wrong (i.e. you have \`nooption KSE' in your kernel config),"
|
||||
@${ECHO_MSG} "then please define NOKSE."
|
||||
|
@ -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;
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= kqemu
|
||||
PORTVERSION= 1.3.0.p11
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= emulators kld
|
||||
MASTER_SITES= http://fabrice.bellard.free.fr/qemu/ \
|
||||
http://qemu.org/ \
|
||||
@ -51,25 +51,15 @@ MAKE_ENV+= KMODDIR="${KMODDIR}"
|
||||
IGNORE= kqemu requires kernel source to be installed
|
||||
.endif
|
||||
|
||||
.if ${OSVERSION} >= 700024 && !defined(NOKSE)
|
||||
.if ${OSVERSION} >= 700024 && ${OSVERSION} < 700053 && !defined(NOKSE)
|
||||
# XXX this is wrong if you have `nooption KSE' in your kernel config,
|
||||
# please define NOKSE in that case
|
||||
# please define NOKSE in that case (no longer a problem after attilio's
|
||||
# Sun Jul 22 21:35:44 2007 UTC commit removing the KSE ABI incompatiblity)
|
||||
CFLAGS+= -DKSE
|
||||
.endif
|
||||
|
||||
# XXX the following is wrong if you run a custom SMP kernel on a
|
||||
# singleprocessor machine (but it probably doesn't really matter)
|
||||
KERNCONF!= ${UNAME} -v | ${SED} 's-.*/--' | ${TR} -d ' '
|
||||
NCPU!= ${SYSCTL} -n hw.ncpu 2>/dev/null
|
||||
# we know 7.x GENERIC has SMP
|
||||
.if ${KERNCONF} == "GENERIC" && ${OSVERSION} >= 700000
|
||||
CFLAGS+= -DSMP
|
||||
.elif ${NCPU} > 1
|
||||
CFLAGS+= -DSMP
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
.if ${OSVERSION} >= 700024 && !defined(NOKSE)
|
||||
.if ${OSVERSION} >= 700024 && ${OSVERSION} < 700053 && !defined(NOKSE)
|
||||
@${ECHO_MSG} "Compiling with -DKSE."
|
||||
@${ECHO_MSG} "If this is wrong (i.e. you have \`nooption KSE' in your kernel config),"
|
||||
@${ECHO_MSG} "then please define NOKSE."
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user