Date: Wed, 9 Feb 2011 14:26:55 -0500 From: Jung-uk Kim <jkim@FreeBSD.org> To: freebsd-emulation@FreeBSD.org Subject: Re: virtualbox-ose-kmod breakage after svn r218425 Message-ID: <201102091426.57152.jkim@FreeBSD.org> In-Reply-To: <4D52E51F.8080304@protected-networks.net> References: <4D52E45E.4040505@protected-networks.net> <4D52E51F.8080304@protected-networks.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Wednesday 09 February 2011 02:03 pm, Michael Butler wrote:
> On 02/09/11 14:00, Michael Butler wrote:
> > Attached is a patch required for vboxdrv.ko to load after the
> > (public) disappearance of uio_yield.
> >
> > Presumably, this will need to be applied to the other branches at
> > bluelife.at
> >
> > imb
>
> Mailman ate my homework!
>
> *** ./src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c~ Wed
> Dec 1 12:09:43 2010
> --- ./src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c Wed
> Feb 9 13:44:28 2011
> ***************
> *** 101,107 ****
> --- 101,111 ----
>
> RTDECL(bool) RTThreadYield(void)
> {
> + #if (__FreeBSD_version >= 900032)
> + kern_yield(curthread->td_user_pri);
> + #else
> uio_yield();
> + #endif
> return false; /** @todo figure this one ... */
> }
Actually I did the same thing last night. Please see the attachment.
Jung-uk Kim
[-- Attachment #2 --]
--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2010-12-01 12:09:43.000000000 -0500
+++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2011-02-08 18:19:00.000000000 -0500
@@ -112,4 +112,13 @@
# define USE_KMEM_ALLOC_PROT
#endif
+/**
+ * Check whether we can use uio_yield.
+ */
+#if __FreeBSD_version >= 900032
+# define UIO_YIELD() kern_yield(curthread->td_user_pri)
+#else
+# define UIO_YIELD() uio_yield()
+#endif
+
#endif
--- src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c.orig 2010-12-01 12:09:43.000000000 -0500
+++ src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c 2011-02-08 18:19:00.000000000 -0500
@@ -101,7 +101,7 @@
RTDECL(bool) RTThreadYield(void)
{
- uio_yield();
+ UIO_YIELD();
return false; /** @todo figure this one ... */
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102091426.57152.jkim>
