[PATCH v5 1/4] qemu: capablities: detect presence of acpi-root-pci-hotplug for i440fx machines

Ján Tomko jtomko at redhat.com
Mon Sep 27 08:01:14 UTC 2021


On a Monday in 2021, Ani Sinha wrote:
>The following change in qemu added support for a global boolean flag specific
>to i440fx machines that would turn off or on acpi based hotplug for pci root
>bus:
>
>3d7e78aa7777f ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus")
>
>The option is passed as "-global PIIX4_PM.acpi-root-pci-hotplug=on" etc in qemu
>commandline. It is enabled by default. This patch adds the corresponding qemu
>capabilities in libvirt as QEMU_CAPS_PIIX_ACPI_ROOT_PCI_HOTPLUG.
>
>Please note that the test specific qemu capabilities .replies files has already
>been updated as a part of regular refreshing them when a new qemu version is
>released. Hence, no updates to those files are required.
>
>Signed-off-by: Ani Sinha <ani at anisinha.ca>
>Reviewed-by: Laine Stump <laine at redhat.com>
>---
> src/qemu/qemu_capabilities.c                     | 4 ++++
> src/qemu/qemu_capabilities.h                     | 3 +++
> tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 +
> tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 +
> tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 +
> 5 files changed, 10 insertions(+)
>
>diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
>index db5432c9fc..71aca20c4c 100644
>--- a/src/qemu/qemu_capabilities.c
>+++ b/src/qemu/qemu_capabilities.c
>@@ -639,6 +639,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
>               "s390-pv-guest", /* QEMU_CAPS_S390_PV_GUEST */
>               "set-action", /* QEMU_CAPS_SET_ACTION */
>               "virtio-blk.queue-size", /* QEMU_CAPS_VIRTIO_BLK_QUEUE_SIZE */
>+
>+              /* 410 */
>+              "piix4-acpi-root-hotplug-en", /* QEMU_CAPS_PIIX_ACPI_ROOT_PCI_HOTPLUG */

What does "en" stand for?

"piix4.acpi-root-hotplug" (with the dot) would give a rough idea what
property of what device is being probed (even though neither the
"device" name nor the property name is exact in my example)

Jano

>     );
>
>
>@@ -1465,6 +1468,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsIDEDrive[] = {
> static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsPiix4PM[] = {
>     { "disable_s3", QEMU_CAPS_PIIX_DISABLE_S3, NULL },
>     { "disable_s4", QEMU_CAPS_PIIX_DISABLE_S4, NULL },
>+    { "acpi-root-pci-hotplug", QEMU_CAPS_PIIX_ACPI_ROOT_PCI_HOTPLUG, NULL },
> };
>
> static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsUSBRedir[] = {
>diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
>index 097f28bd40..c2d1e352bd 100644
>--- a/src/qemu/qemu_capabilities.h
>+++ b/src/qemu/qemu_capabilities.h
>@@ -620,6 +620,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
>     QEMU_CAPS_SET_ACTION, /* 'set-action' QMP command */
>     QEMU_CAPS_VIRTIO_BLK_QUEUE_SIZE, /* virtio-blk-*.queue-size */
>
>+    /* 410 */
>+    QEMU_CAPS_PIIX_ACPI_ROOT_PCI_HOTPLUG, /* -M pc PIIX4_PM.acpi-root-pci-hotplug */
>+
>     QEMU_CAPS_LAST /* this must always be the last item */
> } virQEMUCapsFlags;
>
>diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
>index e09880e937..ffd0e66d00 100644
>--- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
>+++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
>@@ -233,6 +233,7 @@
>   <flag name='input-linux'/>
>   <flag name='query-display-options'/>
>   <flag name='virtio-blk.queue-size'/>
>+  <flag name='piix4-acpi-root-hotplug-en'/>
>   <version>5002000</version>
>   <kvmVersion>0</kvmVersion>
>   <microcodeVersion>43100243</microcodeVersion>
>diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
>index 571336c1fa..658a1e742f 100644
>--- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
>+++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
>@@ -241,6 +241,7 @@
>   <flag name='query-display-options'/>
>   <flag name='set-action'/>
>   <flag name='virtio-blk.queue-size'/>
>+  <flag name='piix4-acpi-root-hotplug-en'/>
>   <version>6000000</version>
>   <kvmVersion>0</kvmVersion>
>   <microcodeVersion>43100242</microcodeVersion>
>diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
>index 74b87847d0..5bb21fec47 100644
>--- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
>+++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
>@@ -243,6 +243,7 @@
>   <flag name='query-display-options'/>
>   <flag name='set-action'/>
>   <flag name='virtio-blk.queue-size'/>
>+  <flag name='piix4-acpi-root-hotplug-en'/>
>   <version>6001000</version>
>   <kvmVersion>0</kvmVersion>
>   <microcodeVersion>43100243</microcodeVersion>
>-- 
>2.25.1
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20210927/74747b39/attachment-0001.sig>


More information about the libvir-list mailing list