From 2497a9b40ad0f202bb77b3669cb12b3ff7878106 Mon Sep 17 00:00:00 2001 From: Roberto Nibali Date: Wed, 8 Jul 2026 09:50:26 +0200 Subject: [PATCH] Main: expand ARMv8 MMIO32 for 256 MiB VMSVGA VRAM Signed-off-by: Roberto Nibali --- src/VBox/Main/src-client/ConsoleImplConfigArmV8.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/VBox/Main/src-client/ConsoleImplConfigArmV8.cpp b/src/VBox/Main/src-client/ConsoleImplConfigArmV8.cpp index a6c3215ef421..e9d14d8e59ce 100644 --- a/src/VBox/Main/src-client/ConsoleImplConfigArmV8.cpp +++ b/src/VBox/Main/src-client/ConsoleImplConfigArmV8.cpp @@ -820,7 +820,13 @@ int Console::i_configConstructorArmV8(PUVM pUVM, PVM pVM, PCVMMR3VTABLE pVMM, Au hrc = pResMgr->assignMmioRegionAligned("pci-pio", _64K, _64K, &GCPhysMmioStart, &cbMmio, false /*fOnly32Bit*/); H(); hrc = pResMgr->assignMmioRegion( "pci-ecam", 16 * _1M, &GCPhysPciMmioEcam, &cbPciMmioEcam); H(); hrc = pResMgr->assignMmio64Region( "pci-mmio", _2G, &GCPhysPciMmio, &cbPciMmio); H(); - hrc = pResMgr->assignMmio32Region( "pci-mmio32", _256M, &GCPhysPciMmio32, &cbPciMmio32); H(); + /* + * Keep enough 32-bit PCI MMIO space for a 256 MB VMSVGA VRAM BAR and + * the VMSVGA3 MMIO BAR. 448 MB places the aperture at the required + * 256 MB boundary while the ARMv8 platform still reserves the top of + * the low 512 MB MMIO hole for non-PCI platform devices. + */ + hrc = pResMgr->assignMmio32Region( "pci-mmio32", 448 * _1M, &GCPhysPciMmio32, &cbPciMmio32); H(); InsertConfigNode(pDevices, "pci-generic-ecam", &pDev); InsertConfigNode(pDev, "0", &pInst);