summary refs log tree commit diff stats
path: root/hw
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2022-07-01 11:15:16 +0200
committerGerd Hoffmann <kraxel@redhat.com>2022-07-19 14:35:06 +0200
commit3ef1497b46c57eba151fb1d0bdd8c8bff8a0f524 (patch)
tree763bdbc447a38066592e6996046943f70bdb3eac /hw
parentc8ddcdd6886b34d5d55d8d59973280e4c1b49195 (diff)
downloadfocaccia-qemu-3ef1497b46c57eba151fb1d0bdd8c8bff8a0f524.tar.gz
focaccia-qemu-3ef1497b46c57eba151fb1d0bdd8c8bff8a0f524.zip
microvm: turn off io reservations for pcie root ports
The pcie host bridge has no io window on microvm,
so io reservations will not work.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <20220701091516.43489-1-kraxel@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/i386/microvm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c
index 754f1d0593..dc929727dc 100644
--- a/hw/i386/microvm.c
+++ b/hw/i386/microvm.c
@@ -631,6 +631,14 @@ static void microvm_machine_initfn(Object *obj)
     qemu_register_powerdown_notifier(&mms->powerdown_req);
 }
 
+GlobalProperty microvm_properties[] = {
+    /*
+     * pcie host bridge (gpex) on microvm has no io address window,
+     * so reserving io space is not going to work.  Turn it off.
+     */
+    { "pcie-root-port", "io-reserve", "0" },
+};
+
 static void microvm_class_init(ObjectClass *oc, void *data)
 {
     X86MachineClass *x86mc = X86_MACHINE_CLASS(oc);
@@ -707,6 +715,9 @@ 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);
+
+    compat_props_add(mc->compat_props, microvm_properties,
+                     G_N_ELEMENTS(microvm_properties));
 }
 
 static const TypeInfo microvm_machine_info = {