kqemu and sched_lock, please test port update

From: Juergen Lock <nox_at_jelal.kn-bremen.de>
Date: Fri, 20 Jul 2007 23:32:11 +0200
I just noticed this, and came up with the update below.  I still don't
have a -current box so I need you to test this before I commit it...

 Thanx,
	Juergen

Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/emulators/kqemu-kmod/Makefile,v
retrieving revision 1.19
diff -u -r1.19 Makefile
--- Makefile	14 Jul 2007 17:48:56 -0000	1.19
+++ Makefile	20 Jul 2007 21:21:14 -0000
_at__at_ -7,7 +7,7 _at__at_
 
 PORTNAME=	kqemu
 PORTVERSION=	1.3.0.p11
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	emulators kld
 MASTER_SITES=	http://fabrice.bellard.free.fr/qemu/ \
 		http://qemu.org/ \
Index: files/patch-kqemu-freebsd.c
===================================================================
RCS file: /home/pcvs/ports/emulators/kqemu-kmod/files/patch-kqemu-freebsd.c,v
retrieving revision 1.5
diff -u -r1.5 patch-kqemu-freebsd.c
--- files/patch-kqemu-freebsd.c	6 Feb 2007 20:46:29 -0000	1.5
+++ files/patch-kqemu-freebsd.c	20 Jul 2007 21:17:33 -0000
_at__at_ -1,5 +1,23 _at__at_
 Index: kqemu-freebsd.c
-_at__at_ -321,6 +321,9 _at__at_
+_at__at_ -208,9 +208,17 _at__at_
+ int CDECL kqemu_schedule(void)
+ {
+     /* kqemu_log("kqemu_schedule\n"); */
++#if __FreeBSD_version < 700044
+     mtx_lock_spin(&sched_lock);
+     mi_switch(SW_VOL, NULL);
+     mtx_unlock_spin(&sched_lock);
++#else
++    /* -current no longer uses sched_lock */
++    struct thread *td = curthread;
++    thread_lock(td);
++    mi_switch(SW_VOL, NULL);
++    thread_unlock(td);
++#endif
+     return SIGPENDING(curthread);
+ }
+ #endif
+_at__at_ -320,6 +328,9 _at__at_
  #if __FreeBSD_version >= 500000
      dev->si_drv1 = NULL;
      TAILQ_REMOVE(&kqemuhead, ks, kqemu_ent);
_at__at_ -9,4 +27,3 _at__at_
      destroy_dev(dev);
  #endif
      free(ks, M_KQEMU);
-
Received on Fri Jul 20 2007 - 20:06:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC