[PATCH v3 09/38] qemu_capabilities: Introduce QEMU_CAPS_DEVICE_UEFI_VARS

Andrea Bolognani via Devel posted 38 patches 1 week, 5 days ago
There is a newer version of this series
[PATCH v3 09/38] qemu_capabilities: Introduce QEMU_CAPS_DEVICE_UEFI_VARS
Posted by Andrea Bolognani via Devel 1 week, 5 days ago
This capability indicates the availability of the uefi-vars
device.

The actual name of the QEMU device varies slightly depending on
the architecture: it's uefi-vars-x64 on x86_64, uefi-vars-sysbus
on other UEFI architectures (aarch64, riscv64, loongarch64).

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
 src/qemu/qemu_capabilities.c                               | 3 +++
 src/qemu/qemu_capabilities.h                               | 1 +
 tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml         | 1 +
 tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml   | 1 +
 tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml          | 1 +
 tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml           | 1 +
 tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml | 1 +
 tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml          | 1 +
 tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml         | 1 +
 tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml     | 1 +
 tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml          | 1 +
 tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml         | 1 +
 tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml          | 1 +
 13 files changed, 15 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9af58c912a..048ef66c12 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -761,6 +761,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               /* 490 */
               "scsi-block.migrate-pr", /* QEMU_CAPS_DEVICE_SCSI_BLOCK_MIGRATE_PR */
               "iommufd", /* QEMU_CAPS_OBJECT_IOMMUFD */
+              "uefi-vars", /* QEMU_CAPS_DEVICE_UEFI_VARS */
     );
 
 
@@ -1469,6 +1470,8 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "tpm-passthrough", QEMU_CAPS_DEVICE_TPM_PASSTHROUGH },
     { "acpi-generic-initiator", QEMU_CAPS_ACPI_GENERIC_INITIATOR },
     { "iommufd", QEMU_CAPS_OBJECT_IOMMUFD },
+    { "uefi-vars-x64", QEMU_CAPS_DEVICE_UEFI_VARS },
+    { "uefi-vars-sysbus", QEMU_CAPS_DEVICE_UEFI_VARS },
 };
 
 
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 8d5c5cc94c..a48e1d0367 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -735,6 +735,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     /* 490 */
     QEMU_CAPS_DEVICE_SCSI_BLOCK_MIGRATE_PR, /* persistent reservation migration support */
     QEMU_CAPS_OBJECT_IOMMUFD, /* -object iommufd */
+    QEMU_CAPS_DEVICE_UEFI_VARS, /* -device uefi-vars-{x64,sysbus} */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
index e5f55f461a..b6434e6019 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
@@ -165,6 +165,7 @@
   <flag name='acpi-generic-initiator'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10000000</version>
   <microcodeVersion>61700285</microcodeVersion>
   <package>v10.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml
index 74a68c8402..43f848db25 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml
@@ -211,6 +211,7 @@
   <flag name='acpi-generic-initiator'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10000000</version>
   <microcodeVersion>43100285</microcodeVersion>
   <package>v10.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml
index d593dd1ab8..138c34fd47 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml
@@ -211,6 +211,7 @@
   <flag name='acpi-generic-initiator'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10000000</version>
   <microcodeVersion>43100285</microcodeVersion>
   <package>v10.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml b/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml
index 3e271824c6..f33b366db8 100644
--- a/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml
@@ -142,6 +142,7 @@
   <flag name='qom-list-get'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10001000</version>
   <microcodeVersion>39100286</microcodeVersion>
   <package>v10.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml
index 512186a341..2a7cd9cac1 100644
--- a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml
+++ b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml
@@ -194,6 +194,7 @@
   <flag name='acpi-generic-initiator'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10001000</version>
   <microcodeVersion>43100286</microcodeVersion>
   <package>v10.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml
index d6f1009c77..71311fceaf 100644
--- a/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml
@@ -216,6 +216,7 @@
   <flag name='acpi-generic-initiator'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10001000</version>
   <microcodeVersion>43100286</microcodeVersion>
   <package>v10.1.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
index 54d10e1433..ac8f50b984 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
@@ -184,6 +184,7 @@
   <flag name='query-accelerators'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10002000</version>
   <microcodeVersion>61700287</microcodeVersion>
   <package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml
index 38f6a0f6c3..d7a556b4a6 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml
@@ -204,6 +204,7 @@
   <flag name='mshv'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10002000</version>
   <microcodeVersion>43100287</microcodeVersion>
   <package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml
index 1ed21b9bf7..699dad3e20 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml
@@ -217,6 +217,7 @@
   <flag name='query-accelerators'/>
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10002000</version>
   <microcodeVersion>43100287</microcodeVersion>
   <package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
index 4e6edf8df9..233f325224 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
@@ -185,6 +185,7 @@
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='scsi-block.migrate-pr'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10002050</version>
   <microcodeVersion>61700286</microcodeVersion>
   <package>v10.2.0-1114-gb3abdfa486</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml b/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
index 22eaff6545..85d2790b49 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml
@@ -218,6 +218,7 @@
   <flag name='virtio-iommu.aw-bits'/>
   <flag name='scsi-block.migrate-pr'/>
   <flag name='iommufd'/>
+  <flag name='uefi-vars'/>
   <version>10002050</version>
   <microcodeVersion>43100286</microcodeVersion>
   <package>v10.2.0-1114-gb3abdfa486</package>
-- 
2.53.0
Re: [PATCH v3 09/38] qemu_capabilities: Introduce QEMU_CAPS_DEVICE_UEFI_VARS
Posted by Daniel P. Berrangé via Devel 1 week ago
On Wed, Feb 18, 2026 at 01:05:32PM +0100, Andrea Bolognani via Devel wrote:
> This capability indicates the availability of the uefi-vars
> device.
> 
> The actual name of the QEMU device varies slightly depending on
> the architecture: it's uefi-vars-x64 on x86_64, uefi-vars-sysbus
> on other UEFI architectures (aarch64, riscv64, loongarch64).
> 
> Signed-off-by: Andrea Bolognani <abologna@redhat.com>
> ---
>  src/qemu/qemu_capabilities.c                               | 3 +++
>  src/qemu/qemu_capabilities.h                               | 1 +
>  tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml         | 1 +
>  tests/qemucapabilitiesdata/caps_10.0.0_x86_64+amdsev.xml   | 1 +
>  tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml          | 1 +
>  tests/qemucapabilitiesdata/caps_10.1.0_s390x.xml           | 1 +
>  tests/qemucapabilitiesdata/caps_10.1.0_x86_64+inteltdx.xml | 1 +
>  tests/qemucapabilitiesdata/caps_10.1.0_x86_64.xml          | 1 +
>  tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml         | 1 +
>  tests/qemucapabilitiesdata/caps_10.2.0_x86_64+mshv.xml     | 1 +
>  tests/qemucapabilitiesdata/caps_10.2.0_x86_64.xml          | 1 +
>  tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml         | 1 +
>  tests/qemucapabilitiesdata/caps_11.0.0_x86_64.xml          | 1 +
>  13 files changed, 15 insertions(+)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|