[PATCH v3 2/5] qemu: capablities: detect presence of acpi-root-pci-hotplug for i440fx machines

Laine Stump laine at redhat.com
Sat Sep 25 19:31:23 UTC 2021


On 9/11/21 11:26 PM, 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>

(also needs rebasing due to the other capability added)

> ---
>   src/qemu/qemu_capabilities.c                     | 2 ++
>   src/qemu/qemu_capabilities.h                     | 1 +
>   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, 6 insertions(+)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index c954e42382..706169a5cf 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -642,6 +642,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
>   
>                 /* 410 */
>                 "ich9-acpi-hotplug-bridge", /* QEMU_CAPS_ICH9_ACPI_HOTPLUG_BRIDGE */
> +              "piix4-acpi-root-hotplug-en", /* QEMU_CAPS_PIIX_ACPI_ROOT_PCI_HOTPLUG */
>       );
>   
>   
> @@ -1470,6 +1471,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsPiix4PM[] = {
>       { "disable_s3", QEMU_CAPS_PIIX_DISABLE_S3, NULL },
>       { "disable_s4", QEMU_CAPS_PIIX_DISABLE_S4, NULL },
>       { "acpi-pci-hotplug-with-bridge-support", QEMU_CAPS_PIIX_ACPI_HOTPLUG_BRIDGE, 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 f53009b6e9..b0f9559d95 100644
> --- a/src/qemu/qemu_capabilities.h
> +++ b/src/qemu/qemu_capabilities.h
> @@ -622,6 +622,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
>   
>       /* 410 */
>       QEMU_CAPS_ICH9_ACPI_HOTPLUG_BRIDGE, /* -M q35 ICH9-LPC.acpi-pci-hotplug-with-bridge-support */
> +    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 126bae2401..da52eda200 100644
> --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
> @@ -247,6 +247,7 @@
>     <flag name='input-linux'/>
>     <flag name='query-display-options'/>
>     <flag name='piix4-acpi-hotplug-bridge'/>
> +  <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 b01db2dfbe..d75760f1f8 100644
> --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
> @@ -255,6 +255,7 @@
>     <flag name='query-display-options'/>
>     <flag name='set-action'/>
>     <flag name='piix4-acpi-hotplug-bridge'/>
> +  <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 b136853aba..8fd3c51f4e 100644
> --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
> +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
> @@ -258,6 +258,7 @@
>     <flag name='set-action'/>
>     <flag name='piix4-acpi-hotplug-bridge'/>
>     <flag name='ich9-acpi-hotplug-bridge'/>
> +  <flag name='piix4-acpi-root-hotplug-en'/>
>     <version>6001000</version>
>     <kvmVersion>0</kvmVersion>
>     <microcodeVersion>43100243</microcodeVersion>
> 




More information about the libvir-list mailing list