aboutsummaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-71
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/virtualbox-ose-71')
-rw-r--r--emulators/virtualbox-ose-71/Makefile19
-rw-r--r--emulators/virtualbox-ose-71/distinfo14
-rw-r--r--emulators/virtualbox-ose-71/files/patch-Config.kmk73
-rw-r--r--emulators/virtualbox-ose-71/files/patch-configure41
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c44
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile23
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk4
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk50
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c4
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk6
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk15
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp24
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c76
-rw-r--r--emulators/virtualbox-ose-71/files/vboxinit.in2
14 files changed, 252 insertions, 143 deletions
diff --git a/emulators/virtualbox-ose-71/Makefile b/emulators/virtualbox-ose-71/Makefile
index 7b5d79a0d306..f0ee8e8fe57e 100644
--- a/emulators/virtualbox-ose-71/Makefile
+++ b/emulators/virtualbox-ose-71/Makefile
@@ -1,5 +1,5 @@
PORTNAME= virtualbox-ose
-DISTVERSION= 7.1.12
+DISTVERSION= 7.1.14
PORTREVISION?= 0
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
@@ -78,10 +78,10 @@ PLIST_SUB= GUEST_VER=${DISTVERSION} \
SLAVE_PORT?= no
-OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG PULSEAUDIO \
- PYTHON QT6 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \
- WEBSERVICE X11
-OPTIONS_DEFAULT= AIO DBUS QT6 UDPTUNNEL VNC WEBSERVICE X11
+OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG \
+ PULSEAUDIO PYTHON QT6 R0LOGGING TPM UDPTUNNEL VBOXIMG \
+ VDE VNC VORBIS VPX WEBSERVICE X11
+OPTIONS_DEFAULT= AIO DBUS QT6 TPM UDPTUNNEL VNC WEBSERVICE X11
.if ${SLAVE_PORT} == no
OPTIONS_DEFAULT+= PYTHON
.endif
@@ -95,8 +95,9 @@ DEBUG_DESC= Debug symbols, additional logs and assertions
GUESTADDITIONS_DESC= Build with Guest Additions
NLS_DESC= Native language support (requires QT6)
OGG_DESC= Use libogg from audio/libogg instead of bundled one
-QT6_DESC= Build with QT6 frontend (requires X11)
+QT6_DESC= Build with Qt6 frontend (requires X11)
R0LOGGING_DESC= Enable R0 logging (requires DEBUG)
+TPM_DESC= Enable TPM device emulation using sysutils/libtpms
UDPTUNNEL_DESC= Build with UDP tunnel support
VBOXIMG_DESC= Build vboximg-mount (requires fuse-libs)
VDE_DESC= Build with VDE support
@@ -121,11 +122,13 @@ PYTHON_USE= PYTHON=distutils,noegginfo,noflavors
PYTHON_CONFIGURE_OFF= --disable-python
PYTHON_VARS= pydistutils_pkgname=vboxapi pydistutils_pkgversion=1.0
QT6_IMPLIES= X11
-QT6_USES= gl qmake:no_env qt:6 xorg
+QT6_USES= gl qmake:no_env xorg
QT6_USE= QT=base,scxml,tools,translations \
XORG=xcb GL=gl
QT6_CONFIGURE_OFF= --disable-qt
R0LOGGING_IMPLIES= DEBUG
+TPM_LIB_DEPENDS= libtpms.so:sysutils/libtpms
+TPM_CONFIGURE_OFF= --disable-libtpms
UDPTUNNEL_CONFIGURE_OFF= --disable-udptunnel
VBOXIMG_LIB_DEPENDS= libfuse.so.2:filesystems/fusefs-libs
VDE_RUN_DEPENDS= vde_switch:net/vde2
@@ -317,6 +320,8 @@ post-patch:
@${REINPLACE_CMD} \
-e 's|^versions =.*|versions = ["${PYTHON_VER}${PYTHON_ABIVER}"]|' \
${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
+ @${REINPLACE_CMD} -e 's|curl_proxytype|long|g' \
+ ${WRKSRC}/src/VBox/Runtime/generic/http-curl.cpp
post-patch-AIO-off:
@${REINPLACE_CMD} 's|r3/freebsd/fileaio-freebsd.cpp|r3/posix/fileaio-posix.cpp|' \
diff --git a/emulators/virtualbox-ose-71/distinfo b/emulators/virtualbox-ose-71/distinfo
index e7b992b0b10c..c6cabfd397f1 100644
--- a/emulators/virtualbox-ose-71/distinfo
+++ b/emulators/virtualbox-ose-71/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1752700000
-SHA256 (VirtualBox-7.1.12.tar.bz2) = 6f9618f39168898134975f51df7c2d6d5129c0aa82b6ae11cf47f920c70df276
-SIZE (VirtualBox-7.1.12.tar.bz2) = 214691769
-SHA256 (VirtualBox-docs-7.1.12.tar.bz2) = ba48f2da2593d8cae56fcf601c132d77dbf1d16b1e26db162c89449250c269bd
-SIZE (VirtualBox-docs-7.1.12.tar.bz2) = 10109084
-SHA256 (VBoxGuestAdditions_7.1.12.iso) = 256883e2eabf7ab5c10fb3b6831c294942ce34bc615807f9d0cf6c3d2e882236
-SIZE (VBoxGuestAdditions_7.1.12.iso) = 61331456
+TIMESTAMP = 1761088888
+SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218
+SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853
+SHA256 (VirtualBox-docs-7.1.14.tar.bz2) = f0b683626a41a8aad1054e6c215c2b0f917a87a200a661a1e1a142b051a8a778
+SIZE (VirtualBox-docs-7.1.14.tar.bz2) = 10110959
+SHA256 (VBoxGuestAdditions_7.1.14.iso) = 3c22ab6fe1acadf1ac522a6fb53984a8bd236862a490ab5cc9e0e3bcc521aae6
+SIZE (VBoxGuestAdditions_7.1.14.iso) = 61343744
diff --git a/emulators/virtualbox-ose-71/files/patch-Config.kmk b/emulators/virtualbox-ose-71/files/patch-Config.kmk
index 7aaf90147847..2094c6a0a671 100644
--- a/emulators/virtualbox-ose-71/files/patch-Config.kmk
+++ b/emulators/virtualbox-ose-71/files/patch-Config.kmk
@@ -1,4 +1,4 @@
---- Config.kmk.orig 2025-05-10 18:43:02 UTC
+--- Config.kmk.orig 2025-10-02 16:43:08 UTC
+++ Config.kmk
@@ -610,11 +610,11 @@ endif
# Enable OSS audio support.
@@ -37,6 +37,15 @@
VBOX_WITH_VMSVGA3D = 1
endif
# Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands
+@@ -766,7 +766,7 @@ VBOX_WITH_TPM = 1
+ # Enable TPM device emulation support.
+ VBOX_WITH_TPM = 1
+ # Enable libtpms, required for the in process TPM emulation.
+-if1of ($(KBUILD_TARGET), linux darwin win solaris)
++if1of ($(KBUILD_TARGET), freebsd linux darwin win solaris)
+ VBOX_WITH_LIBTPMS = 1
+ endif
+ # Disable keyboard HID Consumer/Desktop control keys passthrough
@@ -825,7 +825,7 @@ VBOX_WITH_VBOXMANAGE_NLS = 1
#endif
# Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems
@@ -46,7 +55,7 @@
VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1
endif
# The webservices api.
-@@ -1357,10 +1357,6 @@ endif
+@@ -1355,10 +1355,6 @@ endif
endif
endif
@@ -57,7 +66,7 @@
ifeq ($(KBUILD_TARGET),haiku)
VBOX_WITH_VRDP_RDESKTOP =
# Permanent (no working SDL).
-@@ -1545,7 +1541,7 @@ ifdef VBOX_OSE
+@@ -1543,7 +1539,7 @@ ifdef VBOX_OSE
# not yet
VBOX_WITH_PLUGIN_CRYPT =
VBOX_WITH_DRAG_AND_DROP_PROMISES =
@@ -66,7 +75,7 @@
VBOX_WITH_DOCS =
VBOX_WITH_DOCS_PACKING =
endif
-@@ -3680,19 +3676,7 @@ ifndef VBOX_GCC_std
+@@ -3669,19 +3665,7 @@ ifndef VBOX_GCC_std
#
## @todo consider maxing this out.
ifndef VBOX_GCC_std
@@ -86,7 +95,7 @@
endif
ifndef VBOX_VCC_std
if $(VBOX_VCC_TOOL_STEM) >= VCC141 # since 2017 15.3
-@@ -5682,11 +5666,11 @@ ifeq ($(VBOX_LDR_FMT),elf)
+@@ -5673,11 +5657,11 @@ ifeq ($(VBOX_LDR_FMT),elf)
# Solaris driver signing.
TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS)
else
@@ -100,7 +109,7 @@
VBOX_WITH_VBOXR0_AS_DLL = 1
TEMPLATE_VBoxR0_DLLSUFF = .r0
TEMPLATE_VBoxR0_CFLAGS += -fPIC
-@@ -5697,7 +5681,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
+@@ -5688,7 +5672,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
else
TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel
TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel
@@ -109,7 +118,7 @@
ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1
TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS
TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds
-@@ -6081,7 +6065,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -6072,7 +6056,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
# x86 FreeBSD (6.2 or something):
# cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \
# -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \
@@ -118,7 +127,7 @@
# -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \
# -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \
# -std=c99 -c ../my.c
-@@ -6092,7 +6076,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -6083,7 +6067,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
#
# AMD64 FreeBSD (7.1):
# cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \
@@ -127,7 +136,7 @@
# -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \
# -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \
# -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \
-@@ -6174,7 +6158,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -6165,7 +6149,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
| xargs -J% objcopy % $(outbase).kld
# Link the final .ko (a shared object).
@@ -136,7 +145,7 @@
endef
endif # x86
-@@ -6209,7 +6193,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
+@@ -6200,7 +6184,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
$(VBOX_GCC_fdiagnostics-show-option) \
-Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
-Wimplicit-function-declaration -Werror-implicit-function-declaration \
@@ -145,7 +154,7 @@
$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -std=c99 -msoft-float
TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-mmx -mno-sse -mno-avx \
-@@ -6220,7 +6204,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
+@@ -6211,7 +6195,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
-fno-asynchronous-unwind-tables -mno-fp-ret-in-387
TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \
$(VBOX_GCC_WARN) -Wpointer-arith -Winline \
@@ -154,7 +163,7 @@
$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -msoft-float
TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)
-@@ -6528,11 +6512,11 @@ else # the gcc guys
+@@ -6519,11 +6503,11 @@ else # the gcc guys
TEMPLATE_VBoxR3Exe_LIBS = pthread m rt dl
else ifeq ($(KBUILD_TARGET),os2)
TEMPLATE_VBoxR3Exe_TOOL = GXX3OMF
@@ -168,7 +177,7 @@
TEMPLATE_VBoxR3Exe_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS)
TEMPLATE_VBoxR3Exe_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS)
TEMPLATE_VBoxR3Exe_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common
-@@ -6549,17 +6533,26 @@ else # the gcc guys
+@@ -6540,17 +6524,26 @@ else # the gcc guys
else ifeq ($(KBUILD_TARGET),haiku)
TEMPLATE_VBoxR3Exe_TOOL = GXX3
TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS)
@@ -197,7 +206,7 @@
/usr/include \
/usr/X11R6/include \
/usr/local/include
-@@ -6578,7 +6571,7 @@ else # the gcc guys
+@@ -6569,7 +6562,7 @@ else # the gcc guys
/usr/X11R7/lib
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxR3Exe_TOOL = GXX3PLAIN
@@ -206,7 +215,7 @@
if $(VBOX_GCC_VERSION_CC) < 30500
TEMPLATE_VBoxR3Exe_CFLAGS += -std=gnu99
endif
-@@ -6594,6 +6587,7 @@ else # the gcc guys
+@@ -6585,6 +6578,7 @@ else # the gcc guys
TEMPLATE_VBoxR3Exe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
endif
ifdef VBOX_WITH_ORIGIN
@@ -214,7 +223,7 @@
TEMPLATE_VBoxR3Exe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
endif
endif
-@@ -6808,7 +6802,7 @@ else
+@@ -6799,7 +6793,7 @@ else
ifdef VBOX_WITH_NOCRT_STATIC
TEMPLATE_VBoxR3StaticBase_DEFS += RT_WITH_NOCRT_WRAPPERS
endif
@@ -223,7 +232,7 @@
# The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
TEMPLATE_VBoxR3StaticBase_CFLAGS = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static
TEMPLATE_VBoxR3StaticBase_CXXFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static
-@@ -6876,7 +6870,7 @@ else
+@@ -6867,7 +6861,7 @@ else
$(SDK_VBoxZlib_LIBS) \
$(SDK_VBoxLibLzma_LIBS)
if1of ($(KBUILD_TARGET), darwin freebsd)
@@ -232,7 +241,7 @@
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxR3Static_LIBS += kstat
endif
-@@ -7048,6 +7042,7 @@ else ifn1of ($(KBUILD_TARGET), os2)
+@@ -7039,6 +7033,7 @@ else ifn1of ($(KBUILD_TARGET), os2)
else ifn1of ($(KBUILD_TARGET), os2)
ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y.
TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS))
@@ -240,7 +249,7 @@
TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux))
endif
endif
-@@ -7079,6 +7074,7 @@ ifn1of ($(KBUILD_TARGET), win os2)
+@@ -7070,6 +7065,7 @@ ifn1of ($(KBUILD_TARGET), win os2)
$(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,)
ifn1of ($(KBUILD_TARGET), win os2)
TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS))
@@ -248,7 +257,7 @@
TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.linux))
endif
-@@ -7102,6 +7098,7 @@ ifndef VBOX_WITH_HARDENING
+@@ -7093,6 +7089,7 @@ ifndef VBOX_WITH_HARDENING
TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
endif
ifdef VBOX_WITH_ORIGIN
@@ -256,7 +265,7 @@
TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
endif
endif
-@@ -7454,7 +7451,7 @@ else # the GCC guys:
+@@ -7445,7 +7442,7 @@ else # the GCC guys:
endif
TEMPLATE_VBoxMainExe_CXXFLAGS = -g $(VBOX_GCC_pipe) \
$(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \
@@ -265,7 +274,7 @@
$(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \
$(VBOX_GCC_SANITIZER_FLAGS)
if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor")
-@@ -7518,10 +7515,19 @@ else # the GCC guys:
+@@ -7509,10 +7506,19 @@ else # the GCC guys:
else ifeq ($(KBUILD_TARGET),haiku)
TEMPLATE_VBoxMainExe_TOOL = GXX3
TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) network stdc++ supc++
@@ -286,7 +295,7 @@
/usr/include \
/usr/X11R6/include \
/usr/local/include
-@@ -7553,6 +7559,7 @@ else # the GCC guys:
+@@ -7544,6 +7550,7 @@ else # the GCC guys:
TEMPLATE_VBoxMainExe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
endif
ifdef VBOX_WITH_ORIGIN
@@ -294,7 +303,7 @@
TEMPLATE_VBoxMainExe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
endif
-@@ -8181,14 +8188,13 @@ ifdef VBOX_WITH_QTGUI
+@@ -8172,14 +8179,13 @@ ifdef VBOX_WITH_QTGUI
TEMPLATE_VBoxQtGuiExe_LIBPATH += \
$(VBOX_LIBPATH_X11)
ifeq ($(KBUILD_TARGET),freebsd)
@@ -312,7 +321,7 @@
endif
ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed.
-@@ -8460,7 +8466,7 @@ else
+@@ -8451,7 +8457,7 @@ else
TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl
else ifeq ($(KBUILD_HOST),os2)
TEMPLATE_VBoxBldProg_TOOL = GXX3OMF
@@ -321,7 +330,7 @@
else ifeq ($(KBUILD_HOST),darwin)
TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7"
-@@ -8500,13 +8506,20 @@ else
+@@ -8491,13 +8497,20 @@ else
TEMPLATE_VBoxBldProg_LIBS =
else ifeq ($(KBUILD_HOST),haiku)
TEMPLATE_VBoxBldProg_TOOL = GXX3
@@ -344,7 +353,7 @@
/usr/include \
/usr/X11R6/include \
/usr/local/include
-@@ -8553,11 +8566,11 @@ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
+@@ -8544,11 +8557,11 @@ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
$(TEMPLATE_VBoxBldProg_LIBS)
TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
$(TEMPLATE_VBoxAdvBldProg_LIBS) \
@@ -358,7 +367,7 @@
rt \
$(TEMPLATE_VBoxBldProg_LIBS.freebsd)
TEMPLATE_VBoxAdvBldProg_LIBS.linux = \
-@@ -8648,6 +8661,7 @@ else # the gcc guys
+@@ -8639,6 +8652,7 @@ else # the gcc guys
# Do not inherit sanitizer flags from VBoxR3Exe in guest executables. Deal with them separately.
TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.debug = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.debug = $(NO_SUCH_VARIABLE)
@@ -366,7 +375,7 @@
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.linux))
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.debug = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS))
-@@ -8671,7 +8685,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
+@@ -8662,7 +8676,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
ifeq ($(KBUILD_TARGET),linux) # As few libs as possible on linux.
TEMPLATE_VBoxGuestR3ExeBase_LIBS = pthread rt m dl
else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
@@ -375,7 +384,7 @@
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) nsl
endif
-@@ -8684,6 +8698,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP
+@@ -8675,6 +8689,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP
$(VBOX_GCC_fno-stack-protector)
TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.linux)
# The GNU_HASH ELF tag is not supported by older systems.
@@ -383,7 +392,7 @@
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux += $(VBOX_LD_hash_style_sysv)
-@@ -8929,6 +8944,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET
+@@ -8920,6 +8935,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET
TEMPLATE_VBoxGuestR3XFree86Mod_CXXFLAGS.linux = $(VBOX_GCC_fno-stack-protector) # Remove symvers.h
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
# The GNU_HASH ELF tag is not supported by older glibc dynamic linkers.
@@ -391,7 +400,7 @@
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.linux = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS := -r
-@@ -8970,7 +8986,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) =
+@@ -8961,7 +8977,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) =
TEMPLATE_VBoxGuestR3XOrgMod_LIBS = $(VBOX_LIB_VBGL_R3_XORG)
TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
diff --git a/emulators/virtualbox-ose-71/files/patch-configure b/emulators/virtualbox-ose-71/files/patch-configure
index 3645d1236ea8..ce88f3f17087 100644
--- a/emulators/virtualbox-ose-71/files/patch-configure
+++ b/emulators/virtualbox-ose-71/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2025-04-14 17:41:37 UTC
+--- configure.orig 2025-10-16 14:17:04 UTC
+++ configure
-@@ -158,10 +158,14 @@ if [ "$OS" = "freebsd" ]; then
+@@ -156,10 +156,14 @@ if [ "$OS" = "freebsd" ]; then
if [ "$OS" = "freebsd" ]; then
INCCURL="-I/usr/local/include"
LIBCURL="-L/usr/local/lib -lcurl"
@@ -15,7 +15,7 @@
else
INCCURL=""
LIBCURL="-lcurl"
-@@ -1211,6 +1215,9 @@ extern "C" int main(int argc, char** argv)
+@@ -1179,6 +1183,9 @@ extern "C" int main(int argc, char** argv)
printf("found version %d.%d.%d",
SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL);
#if SDL_VERSION_ATLEAST(1,2,7)
@@ -25,7 +25,7 @@
printf(", OK.\n");
return 0;
#else
-@@ -1295,7 +1302,7 @@ EOF
+@@ -1263,7 +1270,7 @@ EOF
#endif
}
EOF
@@ -34,7 +34,7 @@
test_execute
fi
}
-@@ -1599,6 +1606,7 @@ EOF
+@@ -1567,6 +1574,7 @@ EOF
SDKQT6=$PATH_SDK_QT6
fi
FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`"
@@ -42,28 +42,7 @@
else
log_failure "Qt6 framework not found (can be disabled using --disable-qt)"
fail
-@@ -1875,9 +1883,9 @@ check_libvorbis()
- if which_wrapper pkg-config > /dev/null; then
- libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG`
- if [ $? -eq 0 ]; then
-- FLGVRB=`pkg-config vorbis --cflags`
-+ FLGVRB=`pkg-config vorbis vorbisenc --cflags`
- INCVRB=`strip_I "$FLGVRB"`
-- LIBVRB=`pkg-config vorbis --libs`
-+ LIBVRB=`pkg-config vorbis vorbisenc --libs`
- fi
- cat > $ODIR.tmp_src.cc << EOF
- #include <cstdio>
-@@ -1927,7 +1935,7 @@ EOF
- return 0;
- }
- EOF
-- [ -n "$INCOGG" ] && I_INCVRB=`prefix_I "$INCOGG"`
-+ [ -n "$INCOGG" ] && I_INCOGG=`prefix_I "$INCOGG"`
- if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then
- if test_execute; then
- cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG"
-@@ -2194,8 +2202,8 @@ EOF
+@@ -2133,8 +2141,8 @@ EOF
echo "compiling the following source file:" >> $LOG
cat $ODIR.tmp_src.cc >> $LOG
echo "using the following command line:" >> $LOG
@@ -74,7 +53,7 @@
if [ $? -eq 0 ]; then
found=1
break
-@@ -2311,7 +2319,7 @@ check_gsoap()
+@@ -2250,7 +2258,7 @@ check_gsoap()
else
cnf_append "VBOX_GSOAP_CXX_SOURCES" ""
fi
@@ -83,7 +62,7 @@
gsoap_version=`pkg-config gsoapssl++ --modversion`
log_success "found version $gsoap_version"
return
-@@ -2687,7 +2695,7 @@ for option in "$@"; do
+@@ -2624,7 +2632,7 @@ for option in "$@"; do
--with-openssl-dir=*)
OPENSSLDIR=`echo $option | cut -d'=' -f2`
INCCRYPTO="-I${OPENSSLDIR}/include"
@@ -92,7 +71,7 @@
# On Darwin (at least for macports) static OpenSSL also needs zlib.
[ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a"
# On Linux static OpenSSL typically needs a few additional libraries.
-@@ -3054,12 +3062,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
+@@ -2988,12 +2996,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
[ $WITH_JAVA -eq 1 ] && check_java
# PulseAudio
@@ -121,7 +100,7 @@
fi
fi
-@@ -3075,14 +3093,6 @@ if [ "$OS" = "linux" ]; then
+@@ -3009,14 +3027,6 @@ if [ "$OS" = "linux" ]; then
cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1"
fi
if [ $ONLY_ADDITIONS -eq 0 ]; then
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index e790f372f95f..204f6525ba77 100644
--- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose-71/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-10-16 14:25:28 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 @@
+@@ -738,18 +652,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice)
VGDrvCommonProcessOptionsFromHost(&g_DevExt);
/*
@@ -269,7 +275,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
}
else
-@@ -792,8 +710,12 @@
+@@ -793,8 +710,12 @@ static driver_t vgdrvFreeBSDDriver =
sizeof(struct VBoxGuestDeviceState),
};
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
index 476346a59b13..37c1596cfe87 100644
--- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
+++ b/emulators/virtualbox-ose-71/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-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
index 270472c045e3..796aecabac8f 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
+++ b/emulators/virtualbox-ose-71/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-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
new file mode 100644
index 000000000000..679778e60181
--- /dev/null
+++ b/emulators/virtualbox-ose-71/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-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
index edd43c7c03c7..1b0463711195 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
@@ -1382,7 +1382,7 @@
+ int lkflags = cnp->cn_lkflags;
+ char *fullpath = NULL;
+
-+ *vpp = NULLVP;
++ *vpp = NULL;
+ error = ENOENT;
+ if (cnp->cn_flags & ISDOTDOT) {
+ error = vn_vget_ino_gen(dvp, vboxfs_vn_get_ino_alloc,
@@ -1392,7 +1392,7 @@
+ goto out;
+
+ } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') {
-+ VREF(dvp);
++ vref(dvp);
+ *vpp = dvp;
+ error = 0;
+ } else {
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
index afb19c804d7a..2d0377fb3e40 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
+++ b/emulators/virtualbox-ose-71/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-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
new file mode 100644
index 000000000000..38ef1ac68f9e
--- /dev/null
+++ b/emulators/virtualbox-ose-71/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-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp
new file mode 100644
index 000000000000..f8fe5b1a7ba3
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp
@@ -0,0 +1,24 @@
+--- src/VBox/Runtime/common/misc/handletablectx.cpp.orig 2025-10-16 14:35:39 UTC
++++ src/VBox/Runtime/common/misc/handletablectx.cpp
+@@ -48,7 +48,9 @@
+ #include <iprt/param.h>
+ #include <iprt/string.h>
+ #include <iprt/asm.h>
++#ifndef IN_GUEST
+ #include <iprt/system.h>
++#endif
+ #include "internal/magics.h"
+ #include "handletable.h"
+
+@@ -118,7 +120,11 @@ RTDECL(int) RTHandleTableAllocWithCtx(RTHANDLETABL
+ */
+ uint32_t const iLevel1 = pThis->cCur / RTHT_LEVEL2_ENTRIES;
+ uint32_t cLevel1 = iLevel1 >= pThis->cLevel1
++#ifndef IN_GUEST
+ ? pThis->cLevel1 + RTSystemGetPageSize() / sizeof(void *)
++#else
++ ? pThis->cLevel1 + PAGE_SIZE / sizeof(void *)
++#endif
+ : 0;
+ if (cLevel1 > pThis->cMax / RTHT_LEVEL2_ENTRIES)
+ cLevel1 = pThis->cMax / RTHT_LEVEL2_ENTRIES;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
index 4c0ed355709c..2ae9e1f34147 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -1,4 +1,4 @@
---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC
+--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-10-16 14:35:51 UTC
+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
@@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
@@ -11,16 +11,26 @@
switch (pMemFreeBSD->Core.enmType)
{
-@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -156,9 +158,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;
-@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ rc = vm_map_unwire(pMap,
+@@ -166,6 +166,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;
+ }
+
+@@ -198,6 +199,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();
-@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -211,6 +213,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;
-@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -221,6 +231,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
return VERR_INTERNAL_ERROR;
}
@@ -51,7 +61,7 @@
return VINF_SUCCESS;
}
-@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
+@@ -330,7 +341,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
-@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -372,6 +384,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)
-@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -381,8 +394,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -80,7 +90,7 @@
return VERR_NO_MEMORY;
}
-@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -396,6 +411,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)
{
-@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -404,8 +420,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -99,7 +109,7 @@
return VERR_NO_MEMORY;
}
-@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -413,6 +431,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest,
bool fExecutable, const char *pszTag)
{
@@ -107,7 +117,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -425,8 +444,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
}
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -118,7 +128,7 @@
return VERR_NO_MEMORY;
}
-@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -434,6 +455,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)
{
@@ -126,7 +136,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -441,7 +463,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0;
u_long const cPages = atop(cb);
@@ -136,7 +146,7 @@
int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
uAlignment, fContiguous, true, rcNoMem);
-@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -451,7 +474,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
{
Assert(enmType == RTR0MEMOBJTYPE_PHYS);
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -145,7 +155,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
pMemFreeBSD->Core.u.Phys.fAllocated = true;
}
-@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -464,8 +487,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_object_deallocate(pMemFreeBSD->pObject);
rtR0MemObjDelete(&pMemFreeBSD->Core);
}
@@ -156,7 +166,7 @@
return VERR_NO_MEMORY;
}
-@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -488,6 +513,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
const char *pszTag)
{
AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED);
@@ -164,7 +174,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS,
-@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -499,8 +525,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
*ppMem = &pMemFreeBSD->Core;
@@ -175,7 +185,7 @@
return VERR_NO_MEMORY;
}
-@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -512,6 +540,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
vm_offset_t AddrStart, size_t cb, uint32_t fAccess,
RTR0PROCESS R0Process, int fFlags, const char *pszTag)
{
@@ -183,7 +193,7 @@
int rc;
NOREF(fAccess);
-@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -521,21 +550,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
if (!pMemFreeBSD)
return VERR_NO_MEMORY;
@@ -220,7 +230,7 @@
return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */
}
-@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -575,6 +611,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)
{
@@ -228,7 +238,7 @@
int rc;
/*
-@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -633,11 +670,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
pMemFreeBSD->Core.pv = (void *)MapAddress;
pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
*ppMem = &pMemFreeBSD->Core;
@@ -242,7 +252,7 @@
return rc;
}
-@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -661,6 +700,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)
{
@@ -251,7 +261,7 @@
// AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED);
AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED);
-@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -715,6 +756,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
*ppMem = &pMemFreeBSD->Core;
@@ -259,7 +269,7 @@
return VINF_SUCCESS;
}
rc = vm_map_remove(kernel_map, Addr, Addr + cbSub);
-@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -723,6 +765,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
else
vm_object_deallocate(pMemToMapFreeBSD->pObject);
@@ -267,7 +277,7 @@
return VERR_NO_MEMORY;
}
-@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -730,6 +773,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)
{
@@ -276,7 +286,7 @@
/*
* Check for unsupported stuff.
*/
-@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -787,44 +832,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
if (rc == KERN_SUCCESS)
{
@@ -331,7 +341,7 @@
if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE)
ProtectionFlags = VM_PROT_NONE;
-@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
+@@ -835,7 +886,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC)
ProtectionFlags |= VM_PROT_EXECUTE;
@@ -344,7 +354,7 @@
if (krc == KERN_SUCCESS)
return VINF_SUCCESS;
-@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -860,11 +916,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
@@ -368,7 +378,7 @@
}
case RTR0MEMOBJTYPE_MAPPING:
-@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -873,11 +937,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
{
@@ -385,7 +395,7 @@
}
return vtophys(pb);
}
-@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -888,9 +956,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
{
RTHCPHYS addr;
@@ -397,7 +407,7 @@
return addr;
}
-@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
+@@ -910,7 +980,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem)
{
PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem;
diff --git a/emulators/virtualbox-ose-71/files/vboxinit.in b/emulators/virtualbox-ose-71/files/vboxinit.in
index 9895da9e362e..9574d7d6295e 100644
--- a/emulators/virtualbox-ose-71/files/vboxinit.in
+++ b/emulators/virtualbox-ose-71/files/vboxinit.in
@@ -16,7 +16,7 @@
# vboxinit_stop (str): Default stop cmd for VBoxManage controlvm.
# (default: savestate)
# vboxinit_start_delay (int): Default startup delay in seconds.
-# (default: 0)
+# (default: 1)
# vboxinit_stop_delay (int): Default shutdown delay in seconds.
# (default: 0)
#