[vbox-dev] [PATCH] FreeBSD memobj r0: use _4G - 1 as 4GB limit constant

Bernhard Froehlich decke at bluelife.at
Fri Mar 9 22:15:31 GMT 2012


-------- Original Message --------
Subject: [PATCH] use _4G - 1 as 4GB limit constant
Date: 09.03.2012 22:57
 From: Andriy Gapon <avg at icyb.net.ua>
To: Bernhard Froehlich <decke at FreeBSD.org>
Cc: Andriy Gapon <avg at icyb.net.ua>

... while plain _4G is technically more correct, it is impossible to 
use
on !PAE i386 where it overflows vm_phys_t and is equivalent to zero.

Signed-off-by: Andriy Gapon <avg at icyb.net.ua>

---
  .../Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c   |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c 
b/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
index 75427ab..fec5bfa 100644
--- a/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
+++ b/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
@@ -319,7 +319,7 @@ DECLHIDDEN(int) 
rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb,
      if (!pMemFreeBSD)
          return VERR_NO_MEMORY;

-    int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, 
_4G, false, VERR_NO_LOW_MEMORY);
+    int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, 
_4G - 1, false, VERR_NO_LOW_MEMORY);
      if (RT_FAILURE(rc))
      {
          rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -338,7 +338,7 @@ DECLHIDDEN(int) 
rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb,
      if (!pMemFreeBSD)
          return VERR_NO_MEMORY;

-    int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, 
_4G, true, VERR_NO_CONT_MEMORY);
+    int rc = rtR0MemObjFreeBSDAllocHelper(pMemFreeBSD, fExecutable, 
_4G - 1, true, VERR_NO_CONT_MEMORY);
      if (RT_FAILURE(rc))
      {
          rtR0MemObjDelete(&pMemFreeBSD->Core);




More information about the vbox-dev mailing list