diff options
Diffstat (limited to 'emulators/open-vm-kmod')
-rw-r--r-- | emulators/open-vm-kmod/Makefile | 30 | ||||
-rw-r--r-- | emulators/open-vm-kmod/distinfo | 3 | ||||
-rw-r--r-- | emulators/open-vm-kmod/files/patch-Makefile | 7 | ||||
-rw-r--r-- | emulators/open-vm-kmod/files/patch-vmblock_vfsops.c | 10 | ||||
-rw-r--r-- | emulators/open-vm-kmod/files/patch-vmmemctl_os.c | 24 | ||||
-rw-r--r-- | emulators/open-vm-kmod/pkg-descr | 6 |
6 files changed, 80 insertions, 0 deletions
diff --git a/emulators/open-vm-kmod/Makefile b/emulators/open-vm-kmod/Makefile new file mode 100644 index 000000000000..64a367bd1c98 --- /dev/null +++ b/emulators/open-vm-kmod/Makefile @@ -0,0 +1,30 @@ +PORTNAME= open-vm-kmod +PORTVERSION= 12.5.0 +DISTVERSIONPREFIX= stable- +PORTEPOCH= 2 +CATEGORIES= emulators + +MAINTAINER= garga@FreeBSD.org +COMMENT= Open VMware tools for FreeBSD VMware guests ${${FLAVOR}_COMMENT} +WWW= https://github.com/vmware/open-vm-tools + +LICENSE= BSD2CLAUSE GPLv2 +LICENSE_COMB= multi +LICENSE_FILE_GPLv2= ${WRKSRC}/vmmemctl/COPYING +LICENSE_FILE_BSD2CLAUSE= ${WRKSRC}/vmblock/COPYING + +ONLY_FOR_ARCHS= aarch64 amd64 i386 + +USES= kmod uidfix + +USE_GITHUB= yes +GH_ACCOUNT= vmware +GH_PROJECT= open-vm-tools + +WRKSRC_SUBDIR= open-vm-tools/modules/freebsd/ +MAKE_ARGS= OVT_SOURCE_DIR=${WRKSRC:H:H:H} + +PLIST_FILES= ${KMODDIR}/vmblock.ko \ + ${KMODDIR}/vmmemctl.ko + +.include <bsd.port.mk> diff --git a/emulators/open-vm-kmod/distinfo b/emulators/open-vm-kmod/distinfo new file mode 100644 index 000000000000..2f34cde2a8c0 --- /dev/null +++ b/emulators/open-vm-kmod/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1733928741 +SHA256 (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = a52182c7e6b5df41bb317625e9d8592ecdb9db814d1c2c9b7cdb91a77f8c0640 +SIZE (vmware-open-vm-tools-stable-12.5.0_GH0.tar.gz) = 3001944 diff --git a/emulators/open-vm-kmod/files/patch-Makefile b/emulators/open-vm-kmod/files/patch-Makefile new file mode 100644 index 000000000000..a1ac4b5af968 --- /dev/null +++ b/emulators/open-vm-kmod/files/patch-Makefile @@ -0,0 +1,7 @@ +--- Makefile.orig 2024-12-12 16:16:21 UTC ++++ Makefile +@@ -0,0 +1,4 @@ ++SUBDIR+= vmblock ++SUBDIR+= vmmemctl ++ ++.include <bsd.subdir.mk> diff --git a/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c b/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c new file mode 100644 index 000000000000..97840675e338 --- /dev/null +++ b/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c @@ -0,0 +1,10 @@ +--- vmblock/vfsops.c.orig 2024-10-10 15:05:07 UTC ++++ vmblock/vfsops.c +@@ -173,7 +173,6 @@ VMBlockVFSMount(struct mount *mp) // IN: mount( + #endif + error = namei(ndp); + if (error) { +- NDFREE(ndp, 0); + uma_zfree(VMBlockPathnameZone, pathname); + return error; + } diff --git a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c new file mode 100644 index 000000000000..d096f92236c3 --- /dev/null +++ b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c @@ -0,0 +1,24 @@ +--- vmmemctl/os.c.orig 2024-10-10 15:05:07 UTC ++++ vmmemctl/os.c +@@ -103,7 +103,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) +-#define KMEM_FREE(offset, size) kmem_free(offset, size) ++#if __FreeBSD_version < 1400070 ++ #define KMEM_FREE(offset, size) kmem_free((vm_offset_t)offset, size) ++#else ++ #define KMEM_FREE(offset, size) kmem_free(offset, size) ++#endif + + /* + * Globals +@@ -404,7 +408,7 @@ os_pmap_free(os_pmap *p) // IN + static void + os_pmap_free(os_pmap *p) // IN + { +- KMEM_FREE((vm_offset_t)p->bitmap, p->size); ++ KMEM_FREE(p->bitmap, p->size); + p->size = 0; + p->bitmap = NULL; + } diff --git a/emulators/open-vm-kmod/pkg-descr b/emulators/open-vm-kmod/pkg-descr new file mode 100644 index 000000000000..de6677a26c1c --- /dev/null +++ b/emulators/open-vm-kmod/pkg-descr @@ -0,0 +1,6 @@ +open-vm-kmod is a set of modules that enable several features in +VMware products for better management of, and seamless user +interactions with, guests. + +It includes kernel modules for enhancing the performance of virtual +machines running FreeBSD. |