summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emulators/Makefile2
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c44
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile23
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk4
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk50
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk6
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk15
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c70
-rw-r--r--emulators/virtualbox-ose-additions-70/Makefile24
-rw-r--r--emulators/virtualbox-ose-additions-70/distinfo6
-rw-r--r--emulators/virtualbox-ose-additions-nox11-70/Makefile4
11 files changed, 169 insertions, 79 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index cee9f761a5a6..3e0d4fdd1675 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -161,9 +161,11 @@
SUBDIR += virtualbox-ose-71
SUBDIR += virtualbox-ose-72
SUBDIR += virtualbox-ose-additions
+ SUBDIR += virtualbox-ose-additions-70
SUBDIR += virtualbox-ose-additions-71
SUBDIR += virtualbox-ose-additions-legacy
SUBDIR += virtualbox-ose-additions-nox11
+ SUBDIR += virtualbox-ose-additions-nox11-70
SUBDIR += virtualbox-ose-additions-nox11-71
SUBDIR += virtualbox-ose-additions-nox11-legacy
SUBDIR += virtualbox-ose-kmod
diff --git a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index e790f372f95f..5ac0dc7e17c8 100644
--- a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -1,5 +1,5 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200
-+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-04-11 12:02:54 UTC
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
@@ -55,6 +55,7 @@
#include <sys/uio.h>
#include <sys/bus.h>
@@ -16,7 +16,7 @@
#include <iprt/initterm.h>
#include <iprt/process.h>
#include <iprt/string.h>
-@@ -112,8 +114,6 @@
+@@ -112,8 +114,6 @@ struct VBoxGuestDeviceState
struct resource *pIrqRes;
/** Pointer to the IRQ handler. */
void *pfnIrqHandler;
@@ -25,7 +25,7 @@
};
-@@ -123,8 +123,7 @@
+@@ -123,8 +123,7 @@ struct VBoxGuestDeviceState
/*
* Character device file handlers.
*/
@@ -35,7 +35,7 @@
static d_ioctl_t vgdrvFreeBSDIOCtl;
static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd);
static d_write_t vgdrvFreeBSDWrite;
-@@ -155,8 +154,7 @@
+@@ -155,8 +154,7 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
{
.d_version = D_VERSION,
.d_flags = D_TRACKCLOSE | D_NEEDMINOR,
@@ -45,7 +45,7 @@
.d_ioctl = vgdrvFreeBSDIOCtl,
.d_read = vgdrvFreeBSDRead,
.d_write = vgdrvFreeBSDWrite,
-@@ -164,81 +162,28 @@
+@@ -164,81 +162,28 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
.d_name = "vboxguest"
};
@@ -134,7 +134,7 @@
{
int rc;
PVBOXGUESTSESSION pSession;
-@@ -250,12 +195,6 @@
+@@ -250,12 +195,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
LogFlow(("vgdrvFreeBSDOpen:\n"));
/*
@@ -147,7 +147,7 @@
* Create a new session.
*/
fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
-@@ -272,47 +211,20 @@
+@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession);
if (RT_SUCCESS(rc))
{
@@ -168,10 +168,10 @@
}
LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc));
- return RTErrConvertToErrno(rc);
+@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
}
--/**
+ /**
- * File close handler
- *
- */
@@ -179,7 +179,7 @@
-{
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
-
+-
- /*
- * Close the session if it's still hanging on to the device...
- */
@@ -198,10 +198,11 @@
-}
-
-
- /**
+-/**
* I/O control request.
*
-@@ -326,8 +238,12 @@
+ * @returns depends...
+@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long
static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
{
PVBOXGUESTSESSION pSession;
@@ -215,20 +216,25 @@
/*
* Deal with the fast ioctl path first.
*/
-@@ -526,8 +442,10 @@
+@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv
+
+ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td)
+ {
+- int fEventsProcessed;
++ PVBOXGUESTSESSION pSession;
++ int fEventsProcessed, rc;
LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) {
-+
+ rc = devfs_get_cdevpriv((void **)&pSession);
+ if (rc)
-+ {
++ {
Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
}
-@@ -568,11 +486,8 @@
+@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice)
/*
* Reverse what we did in vgdrvFreeBSDAttach.
*/
@@ -241,7 +247,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
if (pState->pVMMDevMemRes)
-@@ -737,18 +652,21 @@
+@@ -737,18 +651,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice)
VGDrvCommonProcessOptionsFromHost(&g_DevExt);
/*
@@ -269,7 +275,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
}
else
-@@ -792,8 +710,12 @@
+@@ -792,8 +709,12 @@ static driver_t vgdrvFreeBSDDriver =
sizeof(struct VBoxGuestDeviceState),
};
diff --git a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
index 476346a59b13..37c1596cfe87 100644
--- a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
+++ b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
@@ -1,15 +1,17 @@
---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC
+--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC
+++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
-@@ -25,7 +25,7 @@
+@@ -34,9 +34,8 @@ KMOD = vboxguest
+ # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
#
KMOD = vboxguest
-
--CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-
.if (${MACHINE_ARCH} == "i386")
CFLAGS += -DRT_ARCH_X86
-@@ -80,6 +80,7 @@ SRCS += \
+ .elif (${MACHINE_ARCH} == "amd64")
+@@ -91,6 +90,7 @@ SRCS += \
handletable.c \
handletablectx.c \
once.c \
@@ -17,7 +19,7 @@
thread.c
.PATH: ${.CURDIR}/common/string
-@@ -147,6 +148,7 @@ SRCS += \
+@@ -163,6 +163,7 @@ SRCS += \
.PATH: ${.CURDIR}/r0drv
SRCS += \
@@ -25,3 +27,12 @@
alloc-r0drv.c \
initterm-r0drv.c \
memobj-r0drv.c \
+@@ -196,7 +197,7 @@ SRCS += \
+ SRCS += \
+ log-vbox.c \
+ logbackdoor.c \
+- RTLogWriteVmm-amd64-x86.
++ RTLogWriteVmm-amd64-x86.c
+
+ .include <bsd.kmod.mk>
+
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
index 270472c045e3..796aecabac8f 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
@@ -1,4 +1,4 @@
---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC
+--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC
+++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk
@@ -0,0 +1,28 @@
+# $Id: Makefile.kmk $
@@ -18,7 +18,7 @@
+CFLAGS+=-I$(MOUNT)
+
+PROGRAMS += mount_vboxvfs
-+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe
++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe
+mount_vboxvfs_SOURCES = mount_vboxvfs.c
+
+ifdef HAVE_MNTOPTS_IN_LIBUTIL
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
new file mode 100644
index 000000000000..679778e60181
--- /dev/null
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
@@ -0,0 +1,50 @@
+--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk
+@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \
+ $(vboxvfs_0_OUTDIR)
+ vboxvfs_SOURCES = \
+ vboxvfs_vfsops.c \
+- vboxvfs_vnops.c
++ bcmp.c \
++ vboxvfs_vnops.c \
++ vboxvfs_prov.c
+ vboxvfs_LIBS = \
+ $(VBOX_LIB_VBGL_R0) \
+ $(VBOX_LIB_IPRT_GUEST_R0)
+ vboxvfs_DEPS = \
+- $$(vboxvfs_0_OUTDIR)/vnode_if.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(vboxvfs_0_OUTDIR)/vnode_if.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+ vboxvfs_CLEAN += $(vboxvfs_DEPS)
+
+ VBOX_AWK := /usr/bin/awk
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR):
++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR)
++
++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+
+ include $(FILE_KBUILD_SUB_FOOTER)
+
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
index afb19c804d7a..2d0377fb3e40 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
@@ -1,6 +1,6 @@
---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC
+--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC
+++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk
-@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux)
+@@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
ifdef VBOX_USE_SYSTEM_XORG_HEADERS
@@ -10,7 +10,7 @@
- SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS))
+ ifeq ($(KBUILD_TARGET),freebsd)
+ DLLS += vboxmouse_drv_system
-+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod
+ vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_system_INCS := \
+ /usr/local/include/pixman-1 \
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
new file mode 100644
index 000000000000..38ef1ac68f9e
--- /dev/null
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
@@ -0,0 +1,15 @@
+--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC
++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
+ vboxvideo_drv_system_INCS += \
+ $(PATH_ROOT)/src/VBox/Runtime/include \
+ $(VBOX_GRAPHICS_INCS) \
+- /usr/include/xorg \
+- /usr/include/pixman-1
++ /usr/local/include/xorg \
++ /usr/local/include/pixman-1
+ vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES)
++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS)
+ endif
+
+
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
index cbdcb490764f..86e5984d6b82 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -11,16 +11,26 @@
switch (pMemFreeBSD->Core.enmType)
{
-@@ -155,8 +157,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -155,9 +157,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_LOCK:
{
- vm_map_t pMap = kernel_map;
-
- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
+- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) {
pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map;
-@@ -197,6 +197,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ rc = vm_map_unwire(pMap,
+@@ -165,6 +165,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb,
+ VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES);
+ AssertMsg(rc == KERN_SUCCESS, ("%#x", rc));
++ }
+ break;
+ }
+
+@@ -197,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_PHYS_NC:
{
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -28,7 +38,7 @@
vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
#if __FreeBSD_version < 1000000
vm_page_lock_queues();
-@@ -210,6 +211,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -210,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
#if __FreeBSD_version < 1000000
vm_page_unlock_queues();
#endif
@@ -43,7 +53,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
vm_object_deallocate(pMemFreeBSD->pObject);
break;
-@@ -220,6 +229,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -220,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
return VERR_INTERNAL_ERROR;
}
@@ -51,7 +61,7 @@
return VINF_SUCCESS;
}
-@@ -329,7 +339,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
+@@ -329,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
size_t cPages = atop(pMemFreeBSD->Core.cb);
int rc;
@@ -61,7 +71,7 @@
/* No additional object reference for auto-deallocation upon unmapping. */
#if __FreeBSD_version >= 1000055
-@@ -371,6 +382,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -371,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -69,7 +79,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -380,8 +392,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -380,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -80,7 +90,7 @@
return VERR_NO_MEMORY;
}
-@@ -395,6 +409,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -395,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -88,7 +98,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag);
if (pMemFreeBSD)
{
-@@ -403,14 +418,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -403,14 +419,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -106,7 +116,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -423,8 +441,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -423,8 +442,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
}
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -117,7 +127,7 @@
return VERR_NO_MEMORY;
}
-@@ -432,6 +452,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -432,6 +453,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest,
size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag)
{
@@ -125,7 +135,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -439,7 +460,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -439,7 +461,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0;
u_long const cPages = atop(cb);
@@ -135,7 +145,7 @@
int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
uAlignment, fContiguous, true, rcNoMem);
-@@ -449,7 +471,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -449,7 +472,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
{
Assert(enmType == RTR0MEMOBJTYPE_PHYS);
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -144,7 +154,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
pMemFreeBSD->Core.u.Phys.fAllocated = true;
}
-@@ -462,8 +484,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -462,8 +485,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_object_deallocate(pMemFreeBSD->pObject);
rtR0MemObjDelete(&pMemFreeBSD->Core);
}
@@ -155,7 +165,7 @@
return VERR_NO_MEMORY;
}
-@@ -486,6 +510,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -486,6 +511,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
const char *pszTag)
{
AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED);
@@ -163,7 +173,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS,
-@@ -497,8 +522,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -497,8 +523,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
*ppMem = &pMemFreeBSD->Core;
@@ -174,7 +184,7 @@
return VERR_NO_MEMORY;
}
-@@ -510,6 +537,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -510,6 +538,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
vm_offset_t AddrStart, size_t cb, uint32_t fAccess,
RTR0PROCESS R0Process, int fFlags, const char *pszTag)
{
@@ -182,7 +192,7 @@
int rc;
NOREF(fAccess);
-@@ -519,21 +547,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -519,21 +548,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
if (!pMemFreeBSD)
return VERR_NO_MEMORY;
@@ -219,7 +229,7 @@
return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */
}
-@@ -573,6 +608,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -573,6 +609,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment,
RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag)
{
@@ -227,7 +237,7 @@
int rc;
/*
-@@ -631,11 +667,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -631,11 +668,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
pMemFreeBSD->Core.pv = (void *)MapAddress;
pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
*ppMem = &pMemFreeBSD->Core;
@@ -241,7 +251,7 @@
return rc;
}
-@@ -659,6 +697,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -659,6 +698,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment,
unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -250,7 +260,7 @@
// AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED);
AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED);
-@@ -713,6 +753,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -713,6 +754,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
*ppMem = &pMemFreeBSD->Core;
@@ -258,7 +268,7 @@
return VINF_SUCCESS;
}
rc = vm_map_remove(kernel_map, Addr, Addr + cbSub);
-@@ -721,6 +762,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -721,6 +763,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
else
vm_object_deallocate(pMemToMapFreeBSD->pObject);
@@ -266,7 +276,7 @@
return VERR_NO_MEMORY;
}
-@@ -728,6 +770,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -728,6 +771,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment,
unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -275,7 +285,7 @@
/*
* Check for unsupported stuff.
*/
-@@ -785,44 +829,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -785,44 +830,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
if (rc == KERN_SUCCESS)
{
@@ -330,7 +340,7 @@
if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE)
ProtectionFlags = VM_PROT_NONE;
-@@ -833,7 +883,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
+@@ -833,7 +884,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC)
ProtectionFlags |= VM_PROT_EXECUTE;
@@ -343,7 +353,7 @@
if (krc == KERN_SUCCESS)
return VINF_SUCCESS;
-@@ -858,11 +913,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -858,11 +914,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
@@ -367,7 +377,7 @@
}
case RTR0MEMOBJTYPE_MAPPING:
-@@ -871,11 +934,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -871,11 +935,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
{
@@ -384,7 +394,7 @@
}
return vtophys(pb);
}
-@@ -886,9 +953,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -886,9 +954,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
{
RTHCPHYS addr;
diff --git a/emulators/virtualbox-ose-additions-70/Makefile b/emulators/virtualbox-ose-additions-70/Makefile
index 3a252cd3362b..4ad0c6e541fa 100644
--- a/emulators/virtualbox-ose-additions-70/Makefile
+++ b/emulators/virtualbox-ose-additions-70/Makefile
@@ -1,9 +1,9 @@
PORTNAME= virtualbox-ose
-DISTVERSION= 7.1.14
+DISTVERSION= 7.0.26
PORTREVISION?= 0
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/
-PKGNAMESUFFIX?= -additions-71
+PKGNAMESUFFIX?= -additions-70
DISTNAME= VirtualBox-${DISTVERSION}
MAINTAINER= vbox@FreeBSD.org
@@ -19,7 +19,7 @@ BUILD_DEPENDS= yasm:devel/yasm \
kmk:devel/kBuild \
xsltproc:textproc/libxslt
-USES= compiler:c++17-lang cpe iconv kmod tar:bzip2
+USES= compiler:c++14-lang cpe iconv kmod tar:bzip2
CPE_VENDOR= oracle
CPE_PRODUCT= vm_virtualbox
USE_RC_SUBR= vboxguest vboxservice
@@ -37,18 +37,14 @@ CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}"
MAKE_JOBS_UNSAFE= yes
-CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \
- virtualbox-ose-additions-nox11-legacy \
- virtualbox-ose-additions \
+CONFLICTS_INSTALL= virtualbox-ose-additions \
virtualbox-ose-additions-nox11 \
- virtualbox-ose-additions-70 \
- virtualbox-ose-additions-nox11-70 \
- virtualbox-ose-additions-72 \
- virtualbox-ose-additions-nox11-72
+ virtualbox-ose-additions-legacy \
+ virtualbox-ose-additions-nox11-legacy
-PATCHDIR= ${.CURDIR}/../${PORTNAME}-71/files
+PATCHDIR= ${.CURDIR}/../${PORTNAME}-70/files
EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware
-PORTSCOUT= limit:^7\.1\.
+PORTSCOUT= limit:^7\.0\.
WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION}
@@ -70,9 +66,9 @@ X11_VARS= VBOX_WITH_X11=1
.include <bsd.port.options.mk>
.if ${SLAVE_PORT} == no
-CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-71
+CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-70
.else
-CONFLICTS_INSTALL+= virtualbox-ose-additions-71
+CONFLICTS_INSTALL+= virtualbox-ose-additions-70
.endif
VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers
diff --git a/emulators/virtualbox-ose-additions-70/distinfo b/emulators/virtualbox-ose-additions-70/distinfo
index 904760a18c0f..644d77cfbd21 100644
--- a/emulators/virtualbox-ose-additions-70/distinfo
+++ b/emulators/virtualbox-ose-additions-70/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761146098
-SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218
-SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853
+TIMESTAMP = 1745631388
+SHA256 (VirtualBox-7.0.26.tar.bz2) = 8a6a83dd09e65a4aff85ba0df6bb1ba22c22f7f0923d86e4b130813d4a28c5db
+SIZE (VirtualBox-7.0.26.tar.bz2) = 174650718
diff --git a/emulators/virtualbox-ose-additions-nox11-70/Makefile b/emulators/virtualbox-ose-additions-nox11-70/Makefile
index ef057aa1f5f2..a9a2be2575ba 100644
--- a/emulators/virtualbox-ose-additions-nox11-70/Makefile
+++ b/emulators/virtualbox-ose-additions-nox11-70/Makefile
@@ -1,7 +1,7 @@
PORTREVISION= 0
-PKGNAMESUFFIX= -additions-nox11-71
+PKGNAMESUFFIX= -additions-nox11-70
-MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-71
+MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-70
OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11