From: Nathan Chen <[email protected]>

The arm-smmuv3 QOM type is reported by qom-list-types on ARM QEMU.
Register it as QEMU_CAPS_DEVICE_SMMUV3 so later device-list-properties
probing for arm-smmuv3 properties can be gated on this capability
instead of an architecture check.

Signed-off-by: Nathan Chen <[email protected]>
---
 src/qemu/qemu_capabilities.c                          | 2 ++
 src/qemu/qemu_capabilities.h                          | 1 +
 tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml    | 1 +
 tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml    | 1 +
 tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml    | 1 +
 tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml    | 1 +
 tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml     | 1 +
 tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml      | 1 +
 tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml | 1 +
 9 files changed, 10 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 61e44b398a..4dbb539633 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -768,6 +768,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               /* 495 */
               "blockdev-mirror.target-is-zero", /* 
QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO */
               "object-monitor-qmp", /* QEMU_CAPS_OBJECT_MONITOR_QMP */
+              "arm-smmuv3", /* QEMU_CAPS_DEVICE_SMMUV3 */
     );
 
 
@@ -1481,6 +1482,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "uefi-vars-x64", QEMU_CAPS_DEVICE_UEFI_VARS },
     { "uefi-vars-sysbus", QEMU_CAPS_DEVICE_UEFI_VARS },
     { "monitor-qmp", QEMU_CAPS_OBJECT_MONITOR_QMP },
+    { "arm-smmuv3", QEMU_CAPS_DEVICE_SMMUV3 },
 };
 
 
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index c846771d50..dbd889c296 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -742,6 +742,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for 
syntax-check */
     /* 495 */
     QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO, /* 'blockdev-mirror' supports 
'target-is-zero' */
     QEMU_CAPS_OBJECT_MONITOR_QMP, /* 'monitor-qmp' -object */
+    QEMU_CAPS_DEVICE_SMMUV3, /* -device arm-smmuv3 */
 
     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 119a3e171f..48629e494d 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='virtio-iommu.aw-bits'/>
   <flag name='iommufd'/>
   <flag name='uefi-vars'/>
+  <flag name='arm-smmuv3'/>
   <version>10000000</version>
   <microcodeVersion>61700285</microcodeVersion>
   <package>v10.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml 
b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
index 00c0b8c86f..c1dc536669 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
@@ -185,6 +185,7 @@
   <flag name='iommufd'/>
   <flag name='uefi-vars'/>
   <flag name='blockdev-mirror.target-is-zero'/>
+  <flag name='arm-smmuv3'/>
   <version>10002000</version>
   <microcodeVersion>61700287</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 c987072f6b..4127a4fa7f 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
@@ -187,6 +187,7 @@
   <flag name='uefi-vars'/>
   <flag name='query-block-flat'/>
   <flag name='blockdev-mirror.target-is-zero'/>
+  <flag name='arm-smmuv3'/>
   <version>11000000</version>
   <microcodeVersion>61700286</microcodeVersion>
   <package>v11.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml 
b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml
index 9e14171d64..05a784b22c 100644
--- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml
@@ -188,6 +188,7 @@
   <flag name='query-block-flat'/>
   <flag name='blockdev-mirror.target-is-zero'/>
   <flag name='object-monitor-qmp'/>
+  <flag name='arm-smmuv3'/>
   <version>11000090</version>
   <microcodeVersion>61700287</microcodeVersion>
   <package>v11.1.0-rc0</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml 
b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
index 20eb5f5d50..1f0f68092d 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
@@ -160,6 +160,7 @@
   <flag name='nvme'/>
   <flag name='nvme-ns'/>
   <flag name='usb-bot'/>
+  <flag name='arm-smmuv3'/>
   <version>8002000</version>
   <microcodeVersion>61700246</microcodeVersion>
   <package>v8.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml 
b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
index 042458fba8..254ec27545 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
@@ -167,6 +167,7 @@
   <flag name='nvme'/>
   <flag name='nvme-ns'/>
   <flag name='usb-bot'/>
+  <flag name='arm-smmuv3'/>
   <version>8002000</version>
   <microcodeVersion>0</microcodeVersion>
   <package>qemu-8.2.0-7.fc39</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml 
b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml
index 166762e855..c9e85ff9b3 100644
--- a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml
@@ -135,6 +135,7 @@
   <flag name='usb-bot'/>
   <flag name='acpi-generic-initiator'/>
   <flag name='virtio-iommu.aw-bits'/>
+  <flag name='arm-smmuv3'/>
   <version>9002002</version>
   <microcodeVersion>61700247</microcodeVersion>
   <package></package>
-- 
2.43.0

Reply via email to