From owner-svn-ports-head@FreeBSD.ORG Mon May 13 09:59:02 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 381F7959; Mon, 13 May 2013 09:59:02 +0000 (UTC) (envelope-from decke@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1ABBC2E5; Mon, 13 May 2013 09:59:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r4D9x1U6051231; Mon, 13 May 2013 09:59:01 GMT (envelope-from decke@svn.freebsd.org) Received: (from decke@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r4D9x1uP051229; Mon, 13 May 2013 09:59:01 GMT (envelope-from decke@svn.freebsd.org) Message-Id: <201305130959.r4D9x1uP051229@svn.freebsd.org> From: Bernhard Froehlich Date: Mon, 13 May 2013 09:59:01 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r318061 - head/emulators/virtualbox-ose-kmod-legacy/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 May 2013 09:59:02 -0000 Author: decke Date: Mon May 13 09:59:01 2013 New Revision: 318061 URL: http://svnweb.freebsd.org/changeset/ports/318061 Log: - Add VM_OBJECT patch from virtualbox-ose-kmod to use WLOCK/WUNLOCK on 10-CURRENT. Submitted by: Gabor Pali Added: head/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c (contents, props changed) head/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h (contents, props changed) Added: head/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd_VM_OBJECT_RENAME.c Mon May 13 09:59:01 2013 (r318061) @@ -0,0 +1,135 @@ +--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2013-05-10 15:16:34.000000000 +0200 ++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2013-05-10 12:43:20.000000000 +0200 +@@ -165,7 +165,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,8 +181,14 @@ + { + vm_page_unwire(pPage, 0); + } ++#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,9 +215,17 @@ + flags |= VM_ALLOC_WIRED; + while (1) + { ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WLOCK(pObject); ++#else + VM_OBJECT_LOCK(pObject); ++#endif + pPages = vm_page_alloc_contig(pObject, iPIndex, flags, cPages, 0, VmPhysAddrHigh, uAlignment, 0, VM_MEMATTR_DEFAULT); ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pObject); ++#else + VM_OBJECT_UNLOCK(pObject); ++#endif + if (pPages || tries >= 1) + break; + vm_pageout_grow_cache(tries, 0, VmPhysAddrHigh); +@@ -226,7 +244,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; +@@ -238,7 +260,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 + } +@@ -261,7 +287,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); +@@ -271,9 +301,15 @@ + if (fWire) + vm_page_unwire(pPage, 0); + vm_page_free(pPage); ++#if __FreeBSD_version < 900000 + vm_page_unlock_queues(); ++#endif + } ++#if __FreeBSD_version >= 1000030 ++ VM_OBJECT_WUNLOCK(pObject); ++#else + VM_OBJECT_UNLOCK(pObject); ++#endif + return VERR_NO_MEMORY; + } + } +@@ -406,9 +442,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; + } + +@@ -813,9 +857,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; + } + Added: head/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h Mon May 13 09:59:01 2013 (r318061) @@ -0,0 +1,12 @@ +--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2012-12-19 20:51:59.000000000 +0100 ++++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2013-05-10 12:40:19.000000000 +0200 +@@ -50,6 +50,9 @@ + #include + #include + #include ++#if __FreeBSD_version >= 1000030 ++#include ++#endif + #include + #include + #include