diff --git a/repos/ports/lib/mk/virtualbox6-client.mk b/repos/ports/lib/mk/virtualbox6-client.mk index b990df4b15..61fda3d1fb 100644 --- a/repos/ports/lib/mk/virtualbox6-client.mk +++ b/repos/ports/lib/mk/virtualbox6-client.mk @@ -55,6 +55,8 @@ SRC_CC += Main/src-client/USBDeviceImpl.cpp SRC_CC += Main/src-client/UsbWebcamInterface.cpp SRC_CC += Main/src-client/VMMDevInterface.cpp +SRC_CC += GuestHost/DragAndDrop/DnDUtils.cpp + # # Suppress warnings caused by using anonymous enum values in 'a ? b : c' # expressions. diff --git a/repos/ports/lib/mk/virtualbox6-common.inc b/repos/ports/lib/mk/virtualbox6-common.inc index a9573f6780..329d4db86f 100644 --- a/repos/ports/lib/mk/virtualbox6-common.inc +++ b/repos/ports/lib/mk/virtualbox6-common.inc @@ -26,6 +26,7 @@ VBOX_CC_OPT += -DUSING_VMM_COMMON_DEFS VBOX_CC_OPT += -DVBOX_WITH_64_BITS_GUESTS VBOX_CC_OPT += -DIN_SUP_R3 -DIN_VMM_R3 VBOX_CC_OPT += -DVBOX_WITH_NATIVE_NEM +VBOX_CC_OPT += -DNEM_WIN_WITH_A20 # we use the libc headers from FreeBSD VBOX_CC_OPT += -DRT_OS_FREEBSD diff --git a/repos/ports/lib/mk/virtualbox6-runtime.mk b/repos/ports/lib/mk/virtualbox6-runtime.mk index b4a6203ac0..1245aab6f3 100644 --- a/repos/ports/lib/mk/virtualbox6-runtime.mk +++ b/repos/ports/lib/mk/virtualbox6-runtime.mk @@ -5,7 +5,7 @@ LIBICONV_DIR := $(call select_from_ports,libiconv) INC_DIR += $(VBOX_DIR)/Runtime/include INC_DIR += $(VIRTUALBOX_DIR)/src/libs/liblzf-3.4 -INC_DIR += $(VIRTUALBOX_DIR)/src/libs/zlib-1.2.11 +INC_DIR += $(VIRTUALBOX_DIR)/src/libs/zlib-1.2.13 INC_DIR += $(LIBICONV_DIR)/include/iconv INC_DIR += $(REP_DIR)/src/virtualbox6/include/libc diff --git a/repos/ports/lib/mk/virtualbox6-xml.mk b/repos/ports/lib/mk/virtualbox6-xml.mk index cade8b289c..307556a2f3 100644 --- a/repos/ports/lib/mk/virtualbox6-xml.mk +++ b/repos/ports/lib/mk/virtualbox6-xml.mk @@ -2,7 +2,7 @@ include $(REP_DIR)/lib/mk/virtualbox6-common.inc LIBICONV_DIR := $(call select_from_ports,libiconv) -ZLIB_DIR = $(VIRTUALBOX_DIR)/src/libs/zlib-1.2.11 +ZLIB_DIR = $(VIRTUALBOX_DIR)/src/libs/zlib-1.2.13 LIBXML_DIR = $(VIRTUALBOX_DIR)/src/libs/libxml2-2.9.4 INC_DIR += $(ZLIB_DIR) diff --git a/repos/ports/lib/mk/virtualbox6-zlib.mk b/repos/ports/lib/mk/virtualbox6-zlib.mk index f1af06b9aa..e89f0b3930 100644 --- a/repos/ports/lib/mk/virtualbox6-zlib.mk +++ b/repos/ports/lib/mk/virtualbox6-zlib.mk @@ -1,9 +1,11 @@ include $(REP_DIR)/lib/mk/virtualbox6-common.inc -ZLIB_DIR = $(VIRTUALBOX_DIR)/src/libs/zlib-1.2.11 +ZLIB_DIR = $(VIRTUALBOX_DIR)/src/libs/zlib-1.2.13 INC_DIR += $(ZLIB_DIR) SRC_C = $(notdir $(wildcard $(ZLIB_DIR)/*.c)) +CC_OPT += -DHAVE_UNISTD_H=1 + vpath % $(ZLIB_DIR) CC_CXX_WARN_STRICT = diff --git a/repos/ports/ports/virtualbox6.hash b/repos/ports/ports/virtualbox6.hash index e4f71ffe2b..26e9799f31 100644 --- a/repos/ports/ports/virtualbox6.hash +++ b/repos/ports/ports/virtualbox6.hash @@ -1 +1 @@ -eab4c504647fc26a2a6713ceffef070c4caeb9ef +f5ab8d8b5f20dc67de05dc2cb7abd2b9cc1c8b6c diff --git a/repos/ports/ports/virtualbox6.port b/repos/ports/ports/virtualbox6.port index c390c24fb1..0f7f29eda4 100644 --- a/repos/ports/ports/virtualbox6.port +++ b/repos/ports/ports/virtualbox6.port @@ -1,17 +1,17 @@ LICENSE := GPLv2 -VERSION := 6.1.26 +VERSION := 6.1.44 DOWNLOADS := virtualbox.archive virtualbox_sdk.archive -VIRTUALBOX_TBZ2 := VirtualBox-$(VERSION).tar.bz2 -VIRTUALBOX_SDK_ZIP := VirtualBoxSDK-$(VERSION)-145957.zip +VIRTUALBOX_TBZ2 := VirtualBox-$(VERSION)a.tar.bz2 +VIRTUALBOX_SDK_ZIP := VirtualBoxSDK-$(VERSION)-156814.zip URL(virtualbox) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VIRTUALBOX_TBZ2) DIR(virtualbox) := src/virtualbox6 -SHA(virtualbox) := 0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195 +SHA(virtualbox) := 27dbf9c2a2183772d91e41d35d41cd7fa9e918c3fe0a2257c336b19a874f22eb URL(virtualbox_sdk) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VIRTUALBOX_SDK_ZIP) DIR(virtualbox_sdk) := src/virtualbox6_sdk -SHA(virtualbox_sdk) := c0b5fbd78d6e1ac7a4b33365eb173eb6508390e8c673241ccbbd002eb73a785c +SHA(virtualbox_sdk) := 88a575326789c9c3e1880ed5b1cd32e9604e45a60b3b08a05491bdeff5be3e8d PATCHES_DIR := src/virtualbox6/patches PATCHES := $(addprefix $(PATCHES_DIR)/, $(shell cat $(REP_DIR)/$(PATCHES_DIR)/series)) @@ -140,7 +140,7 @@ VBOX_CONTENT += $(addprefix include/VBox/com/, $(VBOX_INC_COM)) VBOX_CONTENT += include/VBox/HostServices/ VBOX_CONTENT += include/VBox/GuestHost/ -VBOX_CONTENT += src/libs/zlib-1.2.11 src/libs/liblzf-3.4 src/libs/libxml2-2.9.4 +VBOX_CONTENT += src/libs/zlib-1.2.13 src/libs/liblzf-3.4 src/libs/libxml2-2.9.4 VBOX_CONTENT += src/libs/xpcom18a4 VBOX_CONTENT += include/VBox/vmm include/iprt Version.kmk VBOX_CONTENT += COPYING @@ -148,7 +148,7 @@ VBOX_CONTENT += COPYING TAR_OPT(virtualbox) := \ --strip-components 1 \ - $(addprefix $(VIRTUALBOX_TBZ2:.tar.bz2=)/,$(VBOX_CONTENT)) + $(addprefix $(VIRTUALBOX_TBZ2:a.tar.bz2=)/,$(VBOX_CONTENT)) UNZIP_OPT(virtualbox_sdk) := $(VIRTUALBOX_SDK_ZIP) "sdk/bindings/xpcom/include*" \# diff --git a/repos/ports/src/virtualbox6/include/global_defs.h b/repos/ports/src/virtualbox6/include/global_defs.h index 6e9468d708..e4ef58f74a 100644 --- a/repos/ports/src/virtualbox6/include/global_defs.h +++ b/repos/ports/src/virtualbox6/include/global_defs.h @@ -29,6 +29,9 @@ extern "C" char const * vboxsvc_log_default_string(); +/* missing glibc function */ +extern "C" void *mempcpy(void *dest, const void *src, unsigned long n); + #endif /* __cplusplus */ #endif /* ___global_defs_h___ */ diff --git a/repos/ports/src/virtualbox6/nem.cc b/repos/ports/src/virtualbox6/nem.cc index 2b89634d24..cadf6ac038 100644 --- a/repos/ports/src/virtualbox6/nem.cc +++ b/repos/ports/src/virtualbox6/nem.cc @@ -295,7 +295,7 @@ VBOXSTRICTRC nemR3NativeRunGC(PVM pVM, PVMCPU pVCpu) } -bool nemR3NativeCanExecuteGuest(PVM pVM, PVMCPU pVCpu) +bool NEMR3CanExecuteGuest(PVM pVM, PVMCPU pVCpu) { return true; } @@ -364,7 +364,9 @@ static void update_pgm_large_page(PVM pVM, addr_t guest_addr, addr_t host_addr, * * PGMR3PhysRegisterRam() holds the PGM lock while calling. */ -int nemR3NativeNotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb) +int NEMR3NotifyPhysRamRegister(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, void *pvR3, + ::uint8_t *pu2State, ::uint32_t *puNemRange) + { /* * PGM notifies us about each RAM range configured, which means "Base RAM" @@ -423,22 +425,39 @@ int nemR3NativeNotifyPhysMmioExMap(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, } -int nemR3NativeNotifyPhysMmioExUnmap(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, - ::uint32_t fFlags) +int NEMR3NotifyPhysMmioExMapEarly(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, ::uint32_t fFlags, + void *pvRam, void *pvMmio2, ::uint8_t *pu2State, + ::uint32_t *puNemRange) +{ + *pu2State = (fFlags & NEM_NOTIFY_PHYS_MMIO_EX_F_REPLACE) ? UINT8_MAX : NEM_WIN_PAGE_STATE_UNMAPPED; + return VINF_SUCCESS; +} + + +int NEMR3NotifyPhysMmioExMapLate(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, ::uint32_t fFlags, + void *pvRam, void *pvMmio2, ::uint32_t *puNemRange) { return VINF_SUCCESS; } -int nemR3NativeNotifyPhysRomRegisterEarly(PVM pVM, RTGCPHYS GCPhys, - RTGCPHYS cb, ::uint32_t fFlags) +int NEMR3NotifyPhysMmioExUnmap(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, ::uint32_t fFlags, + void *pvRam, void *pvMmio2, ::uint8_t *pu2State) +{ + if (pu2State) *pu2State = UINT8_MAX; + return VINF_SUCCESS; +} + + +int NEMR3NotifyPhysRomRegisterEarly(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, void *pvPages, + ::uint32_t fFlags, ::uint8_t *pu2State) { return VINF_SUCCESS; } -int nemR3NativeNotifyPhysRomRegisterLate(PVM pVM, RTGCPHYS GCPhys, - RTGCPHYS cb, ::uint32_t fFlags) +int NEMR3NotifyPhysRomRegisterLate(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cb, void *pvPages, + ::uint32_t fFlags, ::uint8_t *pu2State) { return VINF_SUCCESS; } @@ -452,7 +471,7 @@ int nemR3NativeNotifyPhysRomRegisterLate(PVM pVM, RTGCPHYS GCPhys, * @param pVCpu The CPU the A20 state changed on. * @param fEnabled Whether it was enabled (true) or disabled. */ -void nemR3NativeNotifySetA20(PVMCPU pVCpu, bool fEnabled) +void NEMR3NotifySetA20(PVMCPU pVCpu, bool fEnabled) { PVM pVM = pVCpu->CTX_SUFF(pVM); @@ -472,33 +491,21 @@ void nemR3NativeNotifySetA20(PVMCPU pVCpu, bool fEnabled) } -void nemHCNativeNotifyHandlerPhysicalDeregister(PVMCC pVM, PGMPHYSHANDLERKIND enmKind, - RTGCPHYS GCPhys, RTGCPHYS cb, - int fRestoreAsRAM, - bool fRestoreAsRAM2) +void NEMHCNotifyHandlerPhysicalDeregister(PVMCC pVM, PGMPHYSHANDLERKIND enmKind, + RTGCPHYS GCPhys, RTGCPHYS cb, + RTR3PTR pvMemR3, uint8_t *pu2State) { } -void nemHCNativeNotifyHandlerPhysicalModify(PVMCC pVM, PGMPHYSHANDLERKIND enmKind, +void NEMHCNativeNotifyHandlerPhysicalModify(PVMCC pVM, PGMPHYSHANDLERKIND enmKind, RTGCPHYS GCPhysOld, RTGCPHYS GCPhysNew, RTGCPHYS cb, bool fRestoreAsRAM) STOP -int nemHCNativeNotifyPhysPageAllocated(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhys, - ::uint32_t fPageProt, PGMPAGETYPE enmType, - ::uint8_t *pu2State) -{ - nemHCNativeNotifyPhysPageProtChanged(pVM, GCPhys, HCPhys, - fPageProt, enmType, pu2State); - - return VINF_SUCCESS; -} - - -void nemHCNativeNotifyPhysPageProtChanged(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhys, - ::uint32_t fPageProt, PGMPAGETYPE enmType, - ::uint8_t *pu2State) +void NEMHCNotifyPhysPageProtChanged(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhys, + RTR3PTR pvR3, ::uint32_t fPageProt, + PGMPAGETYPE enmType, ::uint8_t *pu2State) { Sup::Nem::Protection const prot { .readable = (fPageProt & NEM_PAGE_PROT_READ) != 0, @@ -517,10 +524,23 @@ void nemHCNativeNotifyPhysPageProtChanged(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS H } -void nemHCNativeNotifyPhysPageChanged(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhysPrev, - RTHCPHYS HCPhysNew, ::uint32_t fPageProt, - PGMPAGETYPE enmType, ::uint8_t *pu2State) +int nemHCNativeNotifyPhysPageAllocated(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhys, + ::uint32_t fPageProt, PGMPAGETYPE enmType, + ::uint8_t *pu2State) { - nemHCNativeNotifyPhysPageProtChanged(pVM, GCPhys, HCPhysNew, fPageProt, enmType, pu2State); + NEMHCNotifyPhysPageProtChanged(pVM, GCPhys, HCPhys, nullptr, + fPageProt, enmType, pu2State); + + return VINF_SUCCESS; +} + + +void NEMHCNotifyPhysPageChanged(PVMCC pVM, RTGCPHYS GCPhys, RTHCPHYS HCPhysPrev, + RTHCPHYS HCPhysNew, RTR3PTR pvNewR3, + ::uint32_t fPageProt, PGMPAGETYPE enmType, + ::uint8_t *pu2State) + +{ + NEMHCNotifyPhysPageProtChanged(pVM, GCPhys, HCPhysNew, nullptr, fPageProt, enmType, pu2State); } diff --git a/repos/ports/src/virtualbox6/patches/gcc-12.patch b/repos/ports/src/virtualbox6/patches/gcc-12.patch index d5d327d3c3..dec33e76b1 100644 --- a/repos/ports/src/virtualbox6/patches/gcc-12.patch +++ b/repos/ports/src/virtualbox6/patches/gcc-12.patch @@ -1,9 +1,10 @@ Build fixes for GCC 12 -diff -ur a/src/virtualbox6/include/iprt/string.h b/src/virtualbox6/include/iprt/string.h ---- a/src/virtualbox6/include/iprt/string.h 2023-05-11 15:11:18.126829715 +0200 -+++ b/src/virtualbox6/include/iprt/string.h 2023-05-11 16:20:57.408769851 +0200 -@@ -2639,17 +2639,15 @@ +diff --git a/src/virtualbox6/include/iprt/string.h b/src/virtualbox6/include/iprt/string.h +index 743b114..b7a4def 100644 +--- a/src/virtualbox6/include/iprt/string.h ++++ b/src/virtualbox6/include/iprt/string.h +@@ -2649,17 +2649,15 @@ RT_C_DECLS_END #if defined(__cplusplus) && !defined(DOXYGEN_RUNNING) DECLINLINE(char const *) RTStrEnd(char const *pszString, size_t cchMax) { @@ -28,7 +29,7 @@ diff -ur a/src/virtualbox6/include/iprt/string.h b/src/virtualbox6/include/iprt/ } DECLINLINE(char *) RTStrEnd(char *pszString, size_t cchMax) -@@ -2657,17 +2655,15 @@ +@@ -2667,17 +2665,15 @@ DECLINLINE(char *) RTStrEnd(char *pszString, size_t cchMax) DECLINLINE(char *) RTStrEnd(const char *pszString, size_t cchMax) #endif { @@ -53,77 +54,3 @@ diff -ur a/src/virtualbox6/include/iprt/string.h b/src/virtualbox6/include/iprt/ } RT_C_DECLS_BEGIN -Only in b/src/virtualbox6/include/iprt: string.h~ -diff -ur a/src/virtualbox6/src/VBox/Devices/PC/DevFwCommon.cpp b/src/virtualbox6/src/VBox/Devices/PC/DevFwCommon.cpp ---- a/src/virtualbox6/src/VBox/Devices/PC/DevFwCommon.cpp 2023-05-11 15:11:18.066827479 +0200 -+++ b/src/virtualbox6/src/VBox/Devices/PC/DevFwCommon.cpp 2023-05-11 16:05:19.081789735 +0200 -@@ -485,7 +485,7 @@ - return PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS, \ - N_("Configuration error: Querying \"" name "\" as a string failed")); \ - } \ -- else if (!strcmp(szBuf, "")) \ -+ if (!strcmp(szBuf, "")) \ - pszTmp = ""; \ - else \ - pszTmp = szBuf; \ -@@ -529,12 +529,10 @@ - pszStr = (char *)(tbl + 1); \ - iStrNr = 1; - --#define DMI_TERM_STRUCT \ -- { \ -- *pszStr++ = '\0'; /* terminate set of text strings */ \ -- if (iStrNr == 1) \ -- *pszStr++ = '\0'; /* terminate a structure without strings */ \ -- } -+#define DMI_TERM_STRUCT do { \ -+ size_t const cbToZero = iStrNr == 1 ? 2 : 1; \ -+ pszStr = (char *)memset(pszStr, 0, cbToZero) + cbToZero; \ -+ } while (0) - - bool fForceDefault = false; - #ifdef VBOX_BIOS_DMI_FALLBACK -diff -ur a/src/virtualbox6/src/VBox/Main/src-server/MediumImpl.cpp b/src/virtualbox6/src/VBox/Main/src-server/MediumImpl.cpp ---- a/src/virtualbox6/src/VBox/Main/src-server/MediumImpl.cpp 2023-05-11 15:11:17.622810926 +0200 -+++ b/src/virtualbox6/src/VBox/Main/src-server/MediumImpl.cpp 2023-05-11 16:19:31.669573557 +0200 -@@ -64,6 +64,9 @@ - // - //////////////////////////////////////////////////////////////////////////////// - -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -+ - struct SnapshotRef - { - /** Equality predicate for stdc++. */ -@@ -134,6 +137,9 @@ - - typedef std::list BackRefList; - -+#pragma GCC diagnostic pop -+ -+ - struct Medium::Data - { - Data() -diff -ur a/src/virtualbox6/src/VBox/Main/src-server/PerformanceImpl.cpp b/src/virtualbox6/src/VBox/Main/src-server/PerformanceImpl.cpp ---- a/src/virtualbox6/src/VBox/Main/src-server/PerformanceImpl.cpp 2023-05-11 15:11:17.622810926 +0200 -+++ b/src/virtualbox6/src/VBox/Main/src-server/PerformanceImpl.cpp 2023-05-11 16:12:30.989890953 +0200 -@@ -644,6 +644,8 @@ - NOREF(hTimerLR); - } - -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - /* - * Metrics collection is a three stage process: - * 1) Pre-collection (hinting) -@@ -723,6 +725,8 @@ - Log4Func(("{%p}: LEAVE\n", this)); - } - -+#pragma GCC diagnostic pop -+ - //////////////////////////////////////////////////////////////////////////////// - // PerformanceMetric class - //////////////////////////////////////////////////////////////////////////////// diff --git a/repos/ports/src/virtualbox6/patches/narrowing.patch b/repos/ports/src/virtualbox6/patches/narrowing.patch deleted file mode 100644 index f5ef0fd088..0000000000 --- a/repos/ports/src/virtualbox6/patches/narrowing.patch +++ /dev/null @@ -1,15 +0,0 @@ -Fix 'narrowing conversion' error - -diff --git a/src/virtualbox6/src/VBox/Main/src-client/ConsoleImpl2.cpp b/src/virtualbox6/src/VBox/Main/src-client/ConsoleImpl2.cpp -index 3693927..6975ed2 100644 ---- a/src/virtualbox6/src/VBox/Main/src-client/ConsoleImpl2.cpp -+++ b/src/virtualbox6/src/VBox/Main/src-client/ConsoleImpl2.cpp -@@ -5262,7 +5262,7 @@ int Console::i_configNetwork(const char *pszDevice, - { - switch (hrc) - { -- case VERR_ACCESS_DENIED: -+ case E_ACCESSDENIED: - return VMSetError(VMR3GetVM(mpUVM), VERR_HOSTIF_INIT_FAILED, RT_SRC_POS, N_( - "Failed to open '/dev/net/tun' for read/write access. Please check the " - "permissions of that node. Either run 'chmod 0666 /dev/net/tun' or " diff --git a/repos/ports/src/virtualbox6/patches/network.patch b/repos/ports/src/virtualbox6/patches/network.patch index 928d747542..42ebee7e15 100644 --- a/repos/ports/src/virtualbox6/patches/network.patch +++ b/repos/ports/src/virtualbox6/patches/network.patch @@ -1,5 +1,5 @@ -network.patch - +diff --git a/src/virtualbox6/src/VBox/Devices/Network/DevE1000.cpp b/src/virtualbox6/src/VBox/Devices/Network/DevE1000.cpp +index 2c2e366..b45855b 100644 --- a/src/virtualbox6/src/VBox/Devices/Network/DevE1000.cpp +++ b/src/virtualbox6/src/VBox/Devices/Network/DevE1000.cpp @@ -8001,7 +8001,7 @@ @@ -11,7 +11,7 @@ network.patch if (RT_FAILURE(rc)) return PDMDEV_SET_ERROR(pDevIns, rc, N_("Configuration error: Failed to get the value of 'GSOEnabled'")); -@@ -8046,6 +8046,33 @@ +@@ -8151,6 +8151,35 @@ static DECLCALLBACK(int) e1kR3Construct(PPDMDEVINS pDevIns, int iInstance, PCFGM pDevIns->fR0Enabled ? "enabled" : "disabled", pDevIns->fRCEnabled ? "enabled" : "disabled")); @@ -32,6 +32,8 @@ network.patch + pThisR0->pDrvR0 = PDMIBASER0_QUERY_INTERFACE(PDMIBASE_QUERY_INTERFACE(pThisCC->pDrvBase, PDMIBASER0), PDMINETWORKUP); + pThisRC->pDrvRC = PDMIBASERC_QUERY_INTERFACE(PDMIBASE_QUERY_INTERFACE(pThisCC->pDrvBase, PDMIBASERC), PDMINETWORKUP); +#endif ++ /* Mark device as attached. */ ++ pThis->fIsAttached = true; + } + else if ( rc == VERR_PDM_NO_ATTACHED_DRIVER + || rc == VERR_PDM_CFG_MISSING_DRIVER_NAME) @@ -45,7 +47,7 @@ network.patch /* * Initialize sub-components and register everything with the VMM. */ -@@ -8185,27 +8212,6 @@ +@@ -8290,29 +8319,6 @@ static DECLCALLBACK(int) e1kR3Construct(PPDMDEVINS pDevIns, int iInstance, PCFGM return PDMDEV_SET_ERROR(pDevIns, rc, N_("Failed to attach the status LUN")); pThisCC->pLedsConnector = PDMIBASE_QUERY_INTERFACE(pBase, PDMILEDCONNECTORS); @@ -60,6 +62,8 @@ network.patch - pThisR0->pDrvR0 = PDMIBASER0_QUERY_INTERFACE(PDMIBASE_QUERY_INTERFACE(pThisCC->pDrvBase, PDMIBASER0), PDMINETWORKUP); - pThisRC->pDrvRC = PDMIBASERC_QUERY_INTERFACE(PDMIBASE_QUERY_INTERFACE(pThisCC->pDrvBase, PDMIBASERC), PDMINETWORKUP); -#endif +- /* Mark device as attached. */ +- pThis->fIsAttached = true; - } - else if ( rc == VERR_PDM_NO_ATTACHED_DRIVER - || rc == VERR_PDM_CFG_MISSING_DRIVER_NAME) @@ -73,6 +77,8 @@ network.patch rc = PDMDevHlpSUPSemEventCreate(pDevIns, &pThis->hEventMoreRxDescAvail); AssertRCReturn(rc, rc); +diff --git a/src/virtualbox6/src/VBox/Devices/Network/DevPCNet.cpp b/src/virtualbox6/src/VBox/Devices/Network/DevPCNet.cpp +index bb69ca7..6d75de0 100644 --- a/src/virtualbox6/src/VBox/Devices/Network/DevPCNet.cpp +++ b/src/virtualbox6/src/VBox/Devices/Network/DevPCNet.cpp @@ -5340,6 +5340,11 @@ static DECLCALLBACK(int) pcnetR3Construct(PPDMDEVINS pDevIns, int iInstance, PCF diff --git a/repos/ports/src/virtualbox6/patches/pgmphys.patch b/repos/ports/src/virtualbox6/patches/pgmphys.patch new file mode 100644 index 0000000000..1ca3fad5cc --- /dev/null +++ b/repos/ports/src/virtualbox6/patches/pgmphys.patch @@ -0,0 +1,13 @@ +diff --git a/src/virtualbox6/src/VBox/VMM/VMMR3/PGMPhys.cpp b/src/virtualbox6/src/VBox/VMM/VMMR3/PGMPhys.cpp +index 778e309..c81d2c3 100644 +--- a/src/virtualbox6/src/VBox/VMM/VMMR3/PGMPhys.cpp ++++ b/src/virtualbox6/src/VBox/VMM/VMMR3/PGMPhys.cpp +@@ -3163,7 +3163,7 @@ VMMR3_INT_DECL(int) PGMR3PhysMmio2Register(PVM pVM, PPDMDEVINS pDevIns, uint32_t + if (RT_SUCCESS(rc)) + { + void *pvPages = NULL; +-#if defined(VBOX_WITH_RAM_IN_KERNEL) && !defined(VBOX_WITH_LINEAR_HOST_PHYS_MEM) ++#if !defined(VBOX_WITH_LINEAR_HOST_PHYS_MEM) + RTR0PTR pvPagesR0 = NIL_RTR0PTR; + #endif + #ifdef VBOX_WITH_PGM_NEM_MODE diff --git a/repos/ports/src/virtualbox6/patches/series b/repos/ports/src/virtualbox6/patches/series index 9e10067760..91fef3228f 100644 --- a/repos/ports/src/virtualbox6/patches/series +++ b/repos/ports/src/virtualbox6/patches/series @@ -1,6 +1,5 @@ drvtap.patch qemu-xhci.patch -narrowing.patch network.patch smp_sipi.patch tm_poke.patch @@ -11,3 +10,4 @@ shaderlib.patch svga.patch audio.patch gcc-12.patch +pgmphys.patch