svn commit: r478602 - in head/emulators/open-vm-tools: . files
Josh Paetzel
jpaetzel at FreeBSD.org
Fri Aug 31 18:13:57 UTC 2018
Author: jpaetzel
Date: Fri Aug 31 18:13:56 2018
New Revision: 478602
URL: https://svnweb.freebsd.org/changeset/ports/478602
Log:
Chase FreeBSD HEAD changes
r338318, r338143
The patches have been upstreamed to VMware.
Submitted by: dim
Modified:
head/emulators/open-vm-tools/Makefile
head/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c
Modified: head/emulators/open-vm-tools/Makefile
==============================================================================
--- head/emulators/open-vm-tools/Makefile Fri Aug 31 17:42:18 2018 (r478601)
+++ head/emulators/open-vm-tools/Makefile Fri Aug 31 18:13:56 2018 (r478602)
@@ -4,7 +4,7 @@
PORTNAME= open-vm-tools
PORTVERSION= ${RELEASE_VER}
DISTVERSIONPREFIX= stable-
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 2
CATEGORIES= emulators
Modified: head/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c
==============================================================================
--- head/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c Fri Aug 31 17:42:18 2018 (r478601)
+++ head/emulators/open-vm-tools/files/patch-modules_freebsd_vmmemctl_os.c Fri Aug 31 18:13:56 2018 (r478602)
@@ -12,7 +12,7 @@
#include <sys/sysctl.h>
#include <vm/vm.h>
-@@ -83,6 +85,30 @@ typedef struct {
+@@ -83,6 +85,55 @@ typedef struct {
MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl metadata");
/*
@@ -39,11 +39,36 @@
+#else
+ #define VM_SYS_PAGES vm_cnt.v_page_count
+#endif
++
++#if __FreeBSD_version < 1000000
++ #define KVA_ALLOC(size) kmem_alloc_nofault(kernel_map, size)
++ #define KVA_FREE(offset, size) kmem_free(kernel_map, offset, size)
++#else
++ #define KVA_ALLOC(size) kva_alloc(size);
++ #define KVA_FREE(offset, size) kva_free(offset, size)
++#endif
++
++#if __FreeBSD_version < 1000000
++ #define KMEM_ALLOC(size) kmem_alloc(kernel_map, size)
++#elif __FreeBSD_version < 1200080
++ #define KMEM_ALLOC(size) kmem_malloc(kernel_arena, size, M_WAITOK | M_ZERO)
++#else
++ #define KMEM_ALLOC(size) kmem_malloc(size, M_WAITOK | M_ZERO)
++#endif
++
++#if __FreeBSD_version < 1000000
++ #define KMEM_FREE(offset, size) kmem_free(kernel_map, offset, size)
++#elif __FreeBSD_version < 1200083
++ #define KMEM_FREE(offset, size) kmem_free(kernel_arena, offset, size)
++#else
++ #define KMEM_FREE(offset, size) kmem_free(offset, size)
++#endif
++
+/*
* Globals
*/
-@@ -223,7 +249,7 @@ static __inline__ unsigned long os_ffz(unsigned long w
+@@ -223,7 +274,7 @@ static __inline__ unsigned long os_ffz(unsigned long w
unsigned long
OS_ReservedPageGetLimit(void)
{
@@ -52,7 +77,33 @@
}
-@@ -369,7 +395,7 @@ static void
+@@ -295,11 +346,7 @@ OS_ReservedPageGetHandle(PA64 pa) // IN
+ Mapping
+ OS_MapPageHandle(PageHandle handle) // IN
+ {
+-#if __FreeBSD_version < 1000000
+- vm_offset_t res = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
+-#else
+- vm_offset_t res = kva_alloc(PAGE_SIZE);
+-#endif
++ vm_offset_t res = KVA_ALLOC(PAGE_SIZE);
+
+ vm_page_t page = (vm_page_t)handle;
+
+@@ -357,11 +404,7 @@ void
+ OS_UnmapPage(Mapping mapping) // IN
+ {
+ pmap_qremove((vm_offset_t)mapping, 1);
+-#if __FreeBSD_version < 1000000
+- kmem_free(kernel_map, (vm_offset_t)mapping, PAGE_SIZE);
+-#else
+- kva_free((vm_offset_t)mapping, PAGE_SIZE);
+-#endif
++ KVA_FREE((vm_offset_t)mapping, PAGE_SIZE);
+ }
+
+
+@@ -369,7 +412,7 @@ static void
os_pmap_alloc(os_pmap *p) // IN
{
/* number of pages (div. 8) */
@@ -61,7 +112,32 @@
/*
* expand to nearest word boundary
-@@ -466,12 +492,14 @@ os_kmem_free(vm_page_t page) // IN
+@@ -378,22 +421,14 @@ os_pmap_alloc(os_pmap *p) // IN
+ p->size = (p->size + sizeof(unsigned long) - 1) &
+ ~(sizeof(unsigned long) - 1);
+
+-#if __FreeBSD_version < 1000000
+- p->bitmap = (unsigned long *)kmem_alloc(kernel_map, p->size);
+-#else
+- p->bitmap = (unsigned long *)kmem_malloc(kernel_arena, p->size, M_WAITOK | M_ZERO);
+-#endif
++ p->bitmap = (unsigned long *)KMEM_ALLOC(p->size);
+ }
+
+
+ static void
+ os_pmap_free(os_pmap *p) // IN
+ {
+-#if __FreeBSD_version < 1000000
+- kmem_free(kernel_map, (vm_offset_t)p->bitmap, p->size);
+-#else
+- kmem_free(kernel_arena, (vm_offset_t)p->bitmap, p->size);
+-#endif
++ KMEM_FREE((vm_offset_t)p->bitmap, p->size);
+ p->size = 0;
+ p->bitmap = NULL;
+ }
+@@ -466,12 +501,14 @@ os_kmem_free(vm_page_t page) // IN
os_state *state = &global_state;
os_pmap *pmap = &state->pmap;
@@ -81,7 +157,7 @@
}
-@@ -483,8 +511,11 @@ os_kmem_alloc(int alloc_normal_failed) // IN
+@@ -483,8 +520,11 @@ os_kmem_alloc(int alloc_normal_failed) // IN
os_state *state = &global_state;
os_pmap *pmap = &state->pmap;
@@ -93,7 +169,7 @@
return NULL;
}
-@@ -505,6 +536,7 @@ os_kmem_alloc(int alloc_normal_failed) // IN
+@@ -505,6 +545,7 @@ os_kmem_alloc(int alloc_normal_failed) // IN
if (!page) {
os_pmap_putindex(pmap, pindex);
}
@@ -101,7 +177,7 @@
return page;
}
-@@ -847,7 +879,7 @@ vmmemctl_sysctl(SYSCTL_HANDLER_ARGS)
+@@ -847,7 +888,7 @@ vmmemctl_sysctl(SYSCTL_HANDLER_ARGS)
static void
vmmemctl_init_sysctl(void)
{
More information about the svn-ports-head
mailing list