]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: introduce QEMU_CAPS_DEVICE_ARM_SMMUV3
authorNathan Chen <nathanc@nvidia.com>
Wed, 5 Aug 2026 22:12:57 +0000 (15:12 -0700)
committerPavel Hrdina <phrdina@redhat.com>
Thu, 6 Aug 2026 16:48:08 +0000 (18:48 +0200)
The arm-smmuv3 QOM type is reported by qom-list-types on ARM QEMU.
Register it as QEMU_CAPS_DEVICE_ARM_SMMUV3 so later device-list-properties
probing for arm-smmuv3 properties can be gated on this capability
instead of an architecture check.

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Nathan Chen <nathanc@nvidia.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml
tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml
tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml
tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.xml

index 61e44b398a5b08fbb9dfbe7358287fb25fe8a5b6..b11e86dd32fc8a0ed862a81ecbe6697df3f0f94d 100644 (file)
@@ -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_ARM_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_ARM_SMMUV3 },
 };
 
 
index c846771d5097d4404997987d2baf1c172087b5d8..87c31104a7bfbf1cdffe0a6afe28dc2660804d24 100644 (file)
@@ -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_ARM_SMMUV3, /* -device arm-smmuv3 */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index 119a3e171fb31697ec585faba2938b5ae57d3880..48629e494db319a682b7477fe0221c1194e08006 100644 (file)
   <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>
index 00c0b8c86f78d94affe958364aee0fc29efb0358..c1dc536669187e628ba58ba28c434b0fd26636c1 100644 (file)
   <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>
index c987072f6badf3ae93cdbf7a34b55bb504a67f39..4127a4fa7f015eb2a8f7ee889d7ac7ad37efb4a7 100644 (file)
   <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>
index 9e14171d647c784aca1f5af75beced4bc6655f3d..05a784b22c3aa5c28dbd106417cdbd206bf79e38 100644 (file)
   <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>
index 20eb5f5d5086ff255ce7520aea21d2ebbc495637..1f0f68092d46ff8f41d879f55e19f59c603e8aa7 100644 (file)
   <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>
index 042458fba88b0a60acdd8e33929b1837099b4793..254ec2754535f9d5fb3a55ad4cec307cfba92bfe 100644 (file)
   <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>
index 166762e855cf1f4ecdaceb9d44d4d55d7f179970..c9e85ff9b373a1084cf793a95e31ff1132111588 100644 (file)
   <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>