diff options
author | sbruno <sbruno@FreeBSD.org> | 2013-03-21 09:24:26 +0800 |
---|---|---|
committer | sbruno <sbruno@FreeBSD.org> | 2013-03-21 09:24:26 +0800 |
commit | 45c335c6560594862d53fd6085dd8637cd06bf01 (patch) | |
tree | 77a548a0a7127cf5be35a3ce646adf27c72f1e0a /emulators | |
parent | 031f36c58f244915916ecd5d297972f999198b99 (diff) | |
download | freebsd-ports-gnome-45c335c6560594862d53fd6085dd8637cd06bf01.tar.gz freebsd-ports-gnome-45c335c6560594862d53fd6085dd8637cd06bf01.tar.zst freebsd-ports-gnome-45c335c6560594862d53fd6085dd8637cd06bf01.zip |
Fix port after breakage on src commit svn r248084 on
March 9th, 2013.
Patch kmod to include rwlock.h
Patch kmod to change VM_OBJECT_LOCK to VM_OBJECT_RLOCK
Patch kmod to change VM_OBJECT_UNLOCK to VM_OBJECT_RUNLOCK
Diffstat (limited to 'emulators')
3 files changed, 108 insertions, 1 deletions
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile index 370d97446272..d9dbad2bfa58 100644 --- a/emulators/virtualbox-ose-kmod/Makefile +++ b/emulators/virtualbox-ose-kmod/Makefile @@ -3,7 +3,7 @@ PORTNAME= virtualbox-ose DISTVERSION= 4.2.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= emulators kld MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \ http://tmp.chruetertee.ch/ \ diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c new file mode 100644 index 000000000000..12da26c317a4 --- /dev/null +++ b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c @@ -0,0 +1,95 @@ +$FreeBSD$ + +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-03-20 14:45:46.594643103 -0700 ++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-03-20 14:33:00.483697105 -0700 +@@ -162,7 +162,7 @@ + case RTR0MEMOBJTYPE_PHYS: + case RTR0MEMOBJTYPE_PHYS_NC: + { +- VM_OBJECT_LOCK(pMemFreeBSD->pObject); ++ VM_OBJECT_RLOCK(pMemFreeBSD->pObject); + 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 +177,7 @@ + #if __FreeBSD_version < 900000 + vm_page_unlock_queues(); + #endif +- VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); ++ VM_OBJECT_RUNLOCK(pMemFreeBSD->pObject); + vm_object_deallocate(pMemFreeBSD->pObject); + break; + } +@@ -205,10 +205,10 @@ + + while (cTries <= 1) + { +- VM_OBJECT_LOCK(pObject); ++ VM_OBJECT_RLOCK(pObject); + pPages = vm_page_alloc_contig(pObject, iPIndex, fFlags, cPages, 0, + VmPhysAddrHigh, uAlignment, 0, VM_MEMATTR_DEFAULT); +- VM_OBJECT_UNLOCK(pObject); ++ VM_OBJECT_RUNLOCK(pObject); + if (pPages) + break; + vm_pageout_grow_cache(cTries, 0, VmPhysAddrHigh); +@@ -228,7 +228,7 @@ + + if (!pPages) + return pPages; +- VM_OBJECT_LOCK(pObject); ++ VM_OBJECT_RLOCK(pObject); + for (vm_pindex_t iPage = 0; iPage < cPages; iPage++) + { + vm_page_t pPage = pPages + iPage; +@@ -240,7 +240,7 @@ + atomic_add_int(&cnt.v_wire_count, 1); + } + } +- VM_OBJECT_UNLOCK(pObject); ++ VM_OBJECT_RUNLOCK(pObject); + return pPages; + #endif + } +@@ -264,7 +264,7 @@ + if (!pPage) + { + /* Free all allocated pages */ +- VM_OBJECT_LOCK(pObject); ++ VM_OBJECT_RLOCK(pObject); + while (iPage-- > 0) + { + pPage = vm_page_lookup(pObject, iPage); +@@ -278,7 +278,7 @@ + vm_page_unlock_queues(); + #endif + } +- VM_OBJECT_UNLOCK(pObject); ++ VM_OBJECT_RUNLOCK(pObject); + return rcNoMem; + } + } +@@ -411,9 +411,9 @@ + if (fContiguous) + { + Assert(enmType == RTR0MEMOBJTYPE_PHYS); +- VM_OBJECT_LOCK(pMemFreeBSD->pObject); ++ VM_OBJECT_RLOCK(pMemFreeBSD->pObject); + pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0)); +- VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); ++ VM_OBJECT_RUNLOCK(pMemFreeBSD->pObject); + pMemFreeBSD->Core.u.Phys.fAllocated = true; + } + +@@ -823,9 +823,9 @@ + case RTR0MEMOBJTYPE_PHYS_NC: + { + RTHCPHYS addr; +- VM_OBJECT_LOCK(pMemFreeBSD->pObject); ++ VM_OBJECT_RLOCK(pMemFreeBSD->pObject); + addr = VM_PAGE_TO_PHYS(vm_page_lookup(pMemFreeBSD->pObject, iPage)); +- VM_OBJECT_UNLOCK(pMemFreeBSD->pObject); ++ VM_OBJECT_RUNLOCK(pMemFreeBSD->pObject); + return addr; + } + diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h new file mode 100644 index 000000000000..090be79634cc --- /dev/null +++ b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h @@ -0,0 +1,12 @@ +$FreeBSD$ + +--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2012-12-19 10:27:29.000000000 -0800 ++++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2013-03-20 14:50:35.330638254 -0700 +@@ -50,6 +50,7 @@ + #include <sys/unistd.h> + #include <sys/kthread.h> + #include <sys/lock.h> ++#include <sys/rwlock.h> + #include <sys/mutex.h> + #include <sys/sched.h> + #include <sys/callout.h> |