Re: [PATCH v7 1/6] MdeModulePkg/PciHostBridge: io range is not mandatory


Ard Biesheuvel
 

On Fri, 3 Jun 2022 at 10:29, Gerd Hoffmann <kraxel@...> wrote:

Hi,

This seems to be related to the padding logic, i.e., we are trying to
preserve some extra I/O space for the root port in case we hotplug
something that might need it.
--- a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c
+++ b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c
@@ -733,7 +733,7 @@ GetResourcePadding (
}
}

- if (DefaultIo) {
+ if (DefaultIo && FALSE) {
//
// Request defaults.
//
Oh, *there* it comes from. Given this is configurable already we can
fix that one in qemu with a microvm tweak:

diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
index 4b3b1dd262f1..f01d972f5d28 100644
--- a/hw/i386/microvm.c
+++ b/hw/i386/microvm.c
@@ -757,6 +757,12 @@ static void microvm_class_init(ObjectClass *oc, void *data)
"Set off to disable adding virtio-mmio devices to the kernel cmdline");

machine_class_allow_dynamic_sysbus_dev(mc, TYPE_RAMFB_DEVICE);
+
+ /*
+ * pcie host bridge (gpex) on microvm has no io address window,
+ * so reserving io space is not going to work. Turn it off.
+ */
+ object_register_sugar_prop("pcie-root-port", "io-reserve", "0", true);
}

static const TypeInfo microvm_machine_info = {

So, I think we can drop patch #1. Want me respin the series, or can you
simply drop the patch on merge?
I've already queued it up.

Join {devel@edk2.groups.io to automatically receive all group messages.