Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Aug 2018 18:13:56 +0000 (UTC)
From:      Josh Paetzel <jpaetzel@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r478602 - in head/emulators/open-vm-tools: . files
Message-ID:  <201808311813.w7VIDuQN049966@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)
  {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808311813.w7VIDuQN049966>