Index: /trunk/src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c	(revision 29764)
+++ /trunk/src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c	(revision 29765)
@@ -77,23 +77,14 @@
             do
             {
-                vm_pindex_t PageIndex = OFF_TO_IDX(AddressDst);
-                vm_page_t   pPage;
+                vm_page_t pPage;
 
-                pPage = vm_page_alloc(NULL, PageIndex,
+                pPage = vm_page_alloc(NULL, 0,
                                       VM_ALLOC_NOBUSY | VM_ALLOC_SYSTEM |
                                       VM_ALLOC_WIRED  | VM_ALLOC_NOOBJ);
                 if (pPage)
                 {
-                    vm_page_lock_queues();
-                    vm_page_wire(pPage);
-                    vm_page_unlock_queues();
                     /* Put the page into the page table now. */
-#if __FreeBSD_version >= 701105
-                    pmap_enter(kernel_map->pmap, AddressDst, VM_PROT_NONE, pPage,
-                               VM_PROT_ALL, TRUE);
-#else
-                    pmap_enter(kernel_map->pmap, AddressDst, pPage,
-                               VM_PROT_ALL, TRUE);
-#endif
+                    MY_PMAP_ENTER(kernel_map->pmap, AddressDst, pPage, VM_PROT_ALL,
+                                  TRUE);
                 }
                 else
Index: /trunk/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c	(revision 29764)
+++ /trunk/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c	(revision 29765)
@@ -44,24 +44,4 @@
 #include "internal/memobj.h"
 
-/**
- * Our pmap_enter version
- */
-#if __FreeBSD_version >= 701105
-# define MY_PMAP_ENTER(pPhysMap, AddrR3, pPage, fProt, fWired) \
-    pmap_enter(pPhysMap, AddrR3, VM_PROT_NONE, pPage, fProt, fWired)
-#else
-# define MY_PMAP_ENTER(pPhysMap, AddrR3, pPage, fProt, fWired) \
-    pmap_enter(pPhysMap, AddrR3, pPage, fProt, fWired)
-#endif
-
-/**
- * Check whether we can use kmem_alloc_attr for low allocs.
- */
-#if    (__FreeBSD_version >= 900011) \
-    || (__FreeBSD_version < 900000 && __FreeBSD_version >= 800505) \
-    || (__FreeBSD_version < 800000 && __FreeBSD_version >= 703101)
-# define USE_KMEM_ALLOC_ATTR
-#endif
-
 /*******************************************************************************
 *   Structures and Typedefs                                                    *
Index: /trunk/src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h	(revision 29764)
+++ /trunk/src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h	(revision 29765)
@@ -70,8 +70,7 @@
 #include <machine/cpu.h>
 
-/*#ifdef __cplusplus
-# error "This header doesn't work for C++ code. Sorry, typical kernel crap."
-#endif*/
-
+/**
+ * Wrappers arount the sleepq_ KPI.
+ */
 #if __FreeBSD_version >= 800026
 # define SLEEPQ_TIMEDWAIT(EventInt) sleepq_timedwait(EventInt, 0)
@@ -86,3 +85,23 @@
 #endif
 
+/**
+ * Our pmap_enter version
+ */
+#if __FreeBSD_version >= 701105
+# define MY_PMAP_ENTER(pPhysMap, AddrR3, pPage, fProt, fWired) \
+    pmap_enter(pPhysMap, AddrR3, VM_PROT_NONE, pPage, fProt, fWired)
+#else
+# define MY_PMAP_ENTER(pPhysMap, AddrR3, pPage, fProt, fWired) \
+    pmap_enter(pPhysMap, AddrR3, pPage, fProt, fWired)
 #endif
+
+/**
+ * Check whether we can use kmem_alloc_attr for low allocs.
+ */
+#if    (__FreeBSD_version >= 900011) \
+    || (__FreeBSD_version < 900000 && __FreeBSD_version >= 800505) \
+    || (__FreeBSD_version < 800000 && __FreeBSD_version >= 703101)
+# define USE_KMEM_ALLOC_ATTR
+#endif
+
+#endif
