diff options
Diffstat (limited to 'emulators/open-vm-kmod/files/patch-vmmemctl_os.c')
-rw-r--r-- | emulators/open-vm-kmod/files/patch-vmmemctl_os.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c index d096f92236c3..d083ec453d4f 100644 --- a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c +++ b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c @@ -1,6 +1,22 @@ ---- vmmemctl/os.c.orig 2024-10-10 15:05:07 UTC +--- vmmemctl/os.c.orig 2025-05-15 19:16:07 UTC +++ vmmemctl/os.c -@@ -103,7 +103,11 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta +@@ -91,8 +91,13 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta + /* + * FreeBSD specific MACROS + */ +-#define VM_PAGE_LOCK(page) vm_page_lock(page); +-#define VM_PAGE_UNLOCK(page) vm_page_unlock(page) ++#if __FreeBSD_version < 1500046 ++#define VM_PAGE_LOCK(page) vm_page_tryxbusy(page); ++#define VM_PAGE_UNLOCK(page) vm_page_xunbusy(page) ++#else ++#define VM_PAGE_LOCK(page) vm_page_tryxbusy(page); ++#define VM_PAGE_UNLOCK(page) vm_page_xunbusy(page) ++#endif + + #define VM_OBJ_LOCK(object) VM_OBJECT_WLOCK(object) + #define VM_OBJ_UNLOCK(object) VM_OBJECT_WUNLOCK(object); +@@ -103,7 +108,11 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta #define KVA_FREE(offset, size) kva_free(offset, size) #define KMEM_ALLOC(size) kmem_malloc(size, M_WAITOK | M_ZERO) @@ -13,7 +29,7 @@ /* * Globals -@@ -404,7 +408,7 @@ os_pmap_free(os_pmap *p) // IN +@@ -404,7 +413,7 @@ os_pmap_free(os_pmap *p) // IN static void os_pmap_free(os_pmap *p) // IN { |