From 8f924bd2691789f6b0d9deae9ddb046677a0610b Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 16 May 2023 11:47:58 +0200 Subject: OvmfPkg/PciHotPlugInitDxe: Do not reserve IO ports by default. Flip the default for IO address space reservations for PCI(e) bridges and root ports with hotplug support from TRUE to FALSE. PCI(e) bridges will still get IO address space assigned in case: (a) Downstream devices actually need IO address space, or (b) Explicit configuration, using "qemu -device pcie-root-port,io-reserve=". In case IO address space is exhausted edk2 will stop assigning resources to PCI(e) bridges. This is not limited to IO resources, the affected bridges will not get any memory resources assigned either. This patch solves this issue by not handing out the scarce IO address space, which is not needed in most cases anyway. Result is a more consistent PCI configuration in virtual machine configurations with many PCie root ports. Signed-off-by: Gerd Hoffmann Reviewed-by: Ard Biesheuvel (cherry picked from commit 27727338b2c0e3f50eb0176a1044e903fcb3c3b1) --- OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c index 6b2b6797b3..69903a6009 100644 --- a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c +++ b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c @@ -589,7 +589,7 @@ GetResourcePadding ( return EFI_INVALID_PARAMETER; } - DefaultIo = TRUE; + DefaultIo = FALSE; DefaultMmio = TRUE; DefaultPrefMmio = TRUE; -- 2.39.3