- Fix panic: mutex vm page queue free mutex not owned on 10-CURRENT
- Fix compile error: 'D_PSEUDO' undeclared here on 10-CURRENT - Bump PORTREVISION PR: ports/162186 Submitted by: Jung-uk Kim <jkim@FreeBSD.org> Feature safe: yes
This commit is contained in:
parent
b5df71551e
commit
d6d01011a0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=286763
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= virtualbox-ose
|
||||
DISTVERSION= 4.0.12
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= emulators kld
|
||||
MASTER_SITES= http://tmp.chruetertee.ch/ \
|
||||
http://freebsd.unixfreunde.de/sources/ \
|
||||
|
@ -0,0 +1,13 @@
|
||||
--- src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c.orig 2011-11-04 07:19:39.000000000 -0400
|
||||
+++ src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c 2011-11-29 17:34:56.000000000 -0500
|
||||
@@ -100,7 +100,9 @@
|
||||
static struct cdevsw g_VBoxDrvFreeBSDChrDevSW =
|
||||
{
|
||||
.d_version = D_VERSION,
|
||||
-#if __FreeBSD_version > 800061
|
||||
+#if __FreeBSD_version >= 1000000
|
||||
+ .d_flags = D_TRACKCLOSE | D_NEEDMINOR,
|
||||
+#elif __FreeBSD_version > 800061
|
||||
.d_flags = D_PSEUDO | D_TRACKCLOSE | D_NEEDMINOR,
|
||||
#else
|
||||
.d_flags = D_PSEUDO | D_TRACKCLOSE,
|
@ -5,9 +5,13 @@ to VPO_UNMANAGED for an additional assert.
|
||||
|
||||
Reviewed by: kib
|
||||
See: http://svnweb.freebsd.org/base?view=revision&revision=224746
|
||||
--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2011-04-05 14:34:09.000000000 +0200
|
||||
+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2011-08-11 15:06:46.000000000 +0200
|
||||
@@ -394,9 +394,13 @@
|
||||
--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2011-11-04 07:19:54.000000000 -0400
|
||||
+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 2011-11-29 18:13:32.000000000 -0500
|
||||
@@ -391,12 +391,18 @@
|
||||
|
||||
static void rtR0MemObjFreeBSDPhysPageInit(vm_page_t pPage, vm_pindex_t iPage)
|
||||
{
|
||||
+#if __FreeBSD_version <= 1000000
|
||||
pPage->wire_count = 1;
|
||||
pPage->pindex = iPage;
|
||||
pPage->act_count = 0;
|
||||
@ -19,7 +23,42 @@ See: http://svnweb.freebsd.org/base?view=revision&revision=224746
|
||||
+ Assert(pPage->oflags & VPO_UNMANAGED != 0);
|
||||
+#else
|
||||
+ Assert(pPage->flags & PG_UNMANAGED != 0);
|
||||
+#endif
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -408,6 +414,9 @@
|
||||
int rc = VINF_SUCCESS;
|
||||
uint32_t cPages = cb >> PAGE_SHIFT;
|
||||
vm_paddr_t VmPhysAddrHigh;
|
||||
+#if __FreeBSD_version >= 1000001
|
||||
+ int pFlags = VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED;
|
||||
+#endif
|
||||
|
||||
/* create the object. */
|
||||
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(RT_OFFSETOF(RTR0MEMOBJFREEBSD, u.Phys.apPages[cPages]),
|
||||
@@ -424,7 +433,11 @@
|
||||
|
||||
if (fContiguous)
|
||||
{
|
||||
+#if __FreeBSD_version >= 1000001
|
||||
+ vm_page_t pPage = vm_page_alloc_contig(NULL, 0, pFlags, cPages, 0, VmPhysAddrHigh, uAlignment, 0, VM_MEMATTR_DEFAULT);
|
||||
+#else
|
||||
vm_page_t pPage = vm_phys_alloc_contig(cPages, 0, VmPhysAddrHigh, uAlignment, 0);
|
||||
+#endif
|
||||
|
||||
if (pPage)
|
||||
for (uint32_t iPage = 0; iPage < cPages; iPage++)
|
||||
@@ -440,7 +453,11 @@
|
||||
/* Allocate page by page */
|
||||
for (uint32_t iPage = 0; iPage < cPages; iPage++)
|
||||
{
|
||||
+#if __FreeBSD_version >= 1000001
|
||||
+ vm_page_t pPage = vm_page_alloc_contig(NULL, iPage, pFlags, 1, 0, VmPhysAddrHigh, uAlignment, 0, VM_MEMATTR_DEFAULT);
|
||||
+#else
|
||||
vm_page_t pPage = vm_phys_alloc_contig(1, 0, VmPhysAddrHigh, uAlignment, 0);
|
||||
+#endif
|
||||
|
||||
if (!pPage)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user