aboutsummaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-additions/files
diff options
context:
space:
mode:
authorBernhard Froehlich <decke@FreeBSD.org>2013-05-02 20:54:04 +0000
committerBernhard Froehlich <decke@FreeBSD.org>2013-05-02 20:54:04 +0000
commitf211bc094ccd001fd951b88b904823453eaf9d34 (patch)
tree3416befb42c0483e4c3edd910e13fcdd31681155 /emulators/virtualbox-ose-additions/files
parenta25a60bedddda02305f61a0f3daf9c32d5fab410 (diff)
downloadports-f211bc094ccd001fd951b88b904823453eaf9d34.tar.gz
ports-f211bc094ccd001fd951b88b904823453eaf9d34.zip
Notes
Diffstat (limited to 'emulators/virtualbox-ose-additions/files')
-rw-r--r--emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c132
-rw-r--r--emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h16
2 files changed, 145 insertions, 3 deletions
diff --git a/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c b/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c
new file mode 100644
index 000000000000..82d7d1c297d6
--- /dev/null
+++ b/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c
@@ -0,0 +1,132 @@
+$FreeBSD$
+
+--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-03-20 19:19:36.795745576 -0700
++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-03-20 19:15:35.164791970 -0700
+@@ -162,7 +162,11 @@
+ case RTR0MEMOBJTYPE_PHYS:
+ case RTR0MEMOBJTYPE_PHYS_NC:
+ {
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
++#else
+ VM_OBJECT_LOCK(pMemFreeBSD->pObject);
++#endif
+ vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
+ #if __FreeBSD_version < 900000
+ /* See http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037963.html */
+@@ -177,7 +181,12 @@
+ #if __FreeBSD_version < 900000
+ vm_page_unlock_queues();
+ #endif
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
++#else
+ VM_OBJECT_UNLOCK(pMemFreeBSD->pObject);
++#endif
++
+ vm_object_deallocate(pMemFreeBSD->pObject);
+ break;
+ }
+@@ -205,10 +214,18 @@
+
+ while (cTries <= 1)
+ {
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WLOCK(pObject);
++#else
+ VM_OBJECT_LOCK(pObject);
++#endif
+ pPages = vm_page_alloc_contig(pObject, iPIndex, fFlags, cPages, 0,
+ VmPhysAddrHigh, uAlignment, 0, VM_MEMATTR_DEFAULT);
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WUNLOCK(pObject);
++#else
+ VM_OBJECT_UNLOCK(pObject);
++#endif
+ if (pPages)
+ break;
+ vm_pageout_grow_cache(cTries, 0, VmPhysAddrHigh);
+@@ -228,7 +245,11 @@
+
+ if (!pPages)
+ return pPages;
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WLOCK(pObject);
++#else
+ VM_OBJECT_LOCK(pObject);
++#endif
+ for (vm_pindex_t iPage = 0; iPage < cPages; iPage++)
+ {
+ vm_page_t pPage = pPages + iPage;
+@@ -240,7 +261,11 @@
+ atomic_add_int(&cnt.v_wire_count, 1);
+ }
+ }
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WUNLOCK(pObject);
++#else
+ VM_OBJECT_UNLOCK(pObject);
++#endif
+ return pPages;
+ #endif
+ }
+@@ -264,7 +289,11 @@
+ if (!pPage)
+ {
+ /* Free all allocated pages */
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WLOCK(pObject);
++#else
+ VM_OBJECT_LOCK(pObject);
++#endif
+ while (iPage-- > 0)
+ {
+ pPage = vm_page_lookup(pObject, iPage);
+@@ -278,7 +307,11 @@
+ vm_page_unlock_queues();
+ #endif
+ }
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WUNLOCK(pObject);
++#else
+ VM_OBJECT_UNLOCK(pObject);
++#endif
+ return rcNoMem;
+ }
+ }
+@@ -411,9 +444,17 @@
+ if (fContiguous)
+ {
+ Assert(enmType == RTR0MEMOBJTYPE_PHYS);
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
++#else
+ VM_OBJECT_LOCK(pMemFreeBSD->pObject);
++#endif
+ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0));
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
++#else
+ VM_OBJECT_UNLOCK(pMemFreeBSD->pObject);
++#endif
+ pMemFreeBSD->Core.u.Phys.fAllocated = true;
+ }
+
+@@ -823,9 +864,17 @@
+ case RTR0MEMOBJTYPE_PHYS_NC:
+ {
+ RTHCPHYS addr;
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
++#else
+ VM_OBJECT_LOCK(pMemFreeBSD->pObject);
++#endif
+ addr = VM_PAGE_TO_PHYS(vm_page_lookup(pMemFreeBSD->pObject, iPage));
++#if __FreeBSD_version >= 1000030
++ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
++#else
+ VM_OBJECT_UNLOCK(pMemFreeBSD->pObject);
++#endif
+ return addr;
+ }
+
diff --git a/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h b/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h
index 98a8b960508e..c8ab61f1e48a 100644
--- a/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h
+++ b/emulators/virtualbox-ose-additions/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h
@@ -1,6 +1,16 @@
---- ./src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2012-06-12 02:54:01.440878507 +0400
-+++ ./src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2012-06-12 00:08:55.218232972 +0400
-@@ -64,6 +64,7 @@
+--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2013-03-05 14:28:07.000000000 +0000
++++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2013-03-28 13:10:34.000000000 +0000
+@@ -50,6 +50,9 @@
+ #include <sys/unistd.h>
+ #include <sys/kthread.h>
+ #include <sys/lock.h>
++#if __FreeBSD_version >= 1000030
++#include <sys/rwlock.h>
++#endif
+ #include <sys/mutex.h>
+ #include <sys/sched.h>
+ #include <sys/callout.h>
+@@ -64,6 +67,7 @@
#include <vm/vm_kern.h>
#include <vm/vm_param.h> /* KERN_SUCCESS ++ */
#include <vm/vm_page.h>