Hi Pavel,

On 8/6/2026 8:54 AM, Pavel Hrdina wrote:
On Wed, Aug 05, 2026 at 03:12:57PM -0700, Nathan Chen via Devel wrote:
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 */
It should be QEMU_CAPS_DEVICE_ARM_SMMUV3, I'll fix it before pushing.

Got it, thanks for taking on that fix. I appreciate the guidance on this series and the capabilities detection.

Nathan

Reply via email to