From: Nathan Chen <[email protected]>

The arm-smmuv3 QOM type appears in qom-list-types on ARM QEMU as far
back as 8.2 because the type is used for machine-integrated IOMMU
(-machine virt,iommu=smmuv3). That reply does not indicate support
for a user-pluggable -device arm-smmuv3.

User-pluggable SMMUv3 with the smmu_per_bus property was added in QEMU
10.2.0. Probe that property via device-list-properties instead of
registering arm-smmuv3 in virQEMUCapsObjectTypes[], so the capability
tracks pluggable device support rather than mere QOM visibility.
Skip arm-smmuv3 device-list-properties probing on non-ARM targets.

In qemu_validate.c, an IOMMU with pci_bus set requires
QEMU_CAPS_ARM_SMMUV3; machine-integrated SMMUv3 without pci_bus keeps
using QEMU_CAPS_MACHINE_VIRT_IOMMU.

Update caps_8.2.0_aarch64, caps_9.2.0_aarch64, caps_10.0.0_aarch64,
caps_10.2.0_aarch64, caps_11.0.0_aarch64, caps_8.2.0_armv7l, and
caps_11.1.0_aarch64 .replies with the arm-smmuv3 device-list-properties
exchange.

Signed-off-by: Nathan Chen <[email protected]>
---
 src/qemu/qemu_capabilities.c                  |  12 ++
 src/qemu/qemu_capabilities.h                  |   1 +
 src/qemu/qemu_validate.c                      |   9 +-
 .../caps_10.0.0_aarch64.replies               |  79 ++++++----
 .../caps_10.2.0_aarch64.replies               |  89 +++++++----
 .../caps_10.2.0_aarch64.xml                   |   1 +
 .../caps_11.0.0_aarch64.replies               | 132 ++++++++++++----
 .../caps_11.0.0_aarch64.xml                   |   1 +
 .../caps_11.1.0_aarch64.replies               | 143 ++++++++++++++----
 .../caps_11.1.0_aarch64.xml                   |   1 +
 .../caps_8.2.0_aarch64.replies                |  79 ++++++----
 .../caps_8.2.0_armv7l.replies                 |  79 ++++++----
 .../caps_9.2.0_aarch64+hvf.replies            |  75 ++++++---
 13 files changed, 514 insertions(+), 187 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index be57dcad8e..c98023bbe2 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -767,6 +767,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
 
               /* 495 */
               "blockdev-mirror.target-is-zero", /* 
QEMU_CAPS_BLOCKDEV_MIRROR_TARGET_IS_ZERO */
+              "arm-smmuv3.smmu_per_bus", /* QEMU_CAPS_ARM_SMMUV3 */
     );
 
 
@@ -1643,6 +1644,10 @@ static struct virQEMUCapsDevicePropsFlags 
virQEMUCapsDevicePropsAMDIOMMU[] = {
     { "xtsup", QEMU_CAPS_AMD_IOMMU_XTSUP, NULL },
 };
 
+static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsArmSmmuv3[] = {
+    { "smmu_per_bus", QEMU_CAPS_ARM_SMMUV3, NULL },
+};
+
 /* see documentation for virQEMUQAPISchemaPathGet for the query format */
 static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
     { "blockdev-add/arg-type/+file/drop-cache", 
QEMU_CAPS_MIGRATION_FILE_DROP_CACHE },
@@ -1808,6 +1813,9 @@ static virQEMUCapsDeviceTypeProps 
virQEMUCapsDeviceProps[] = {
     { "amd-iommu", virQEMUCapsDevicePropsAMDIOMMU,
       G_N_ELEMENTS(virQEMUCapsDevicePropsAMDIOMMU),
       QEMU_CAPS_AMD_IOMMU },
+    { "arm-smmuv3", virQEMUCapsDevicePropsArmSmmuv3,
+      G_N_ELEMENTS(virQEMUCapsDevicePropsArmSmmuv3),
+      -1 },
     { "scsi-block", virQEMUCapsDevicePropsSCSIBlock,
       G_N_ELEMENTS(virQEMUCapsDevicePropsSCSIBlock),
       -1 },
@@ -2825,6 +2833,10 @@ virQEMUCapsProbeQMPDeviceProperties(virQEMUCaps 
*qemuCaps,
             !virQEMUCapsGet(qemuCaps, device->capsCondition))
             continue;
 
+        if (STREQ(device->type, "arm-smmuv3") &&
+            !ARCH_IS_ARM(qemuCaps->arch))
+            continue;
+
         if (!(qemuprops = qemuMonitorGetDeviceProps(mon, device->type)))
             return -1;
 
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 3014f3dc5e..c03c32389b 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -741,6 +741,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_ARM_SMMUV3, /* arm-smmuv3.smmu_per_bus */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 439d4b1916..500b8ee680 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -5711,7 +5711,14 @@ qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMUDef 
*iommu,
                            virDomainIOMMUModelTypeToString(iommu->model));
             return -1;
         }
-        if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_VIRT_IOMMU)) {
+        if (iommu->pci_bus >= 0) {
+            if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_ARM_SMMUV3)) {
+                virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                               _("IOMMU device: Setting pciBus for '%1$s' is 
not supported with this QEMU binary"),
+                               virDomainIOMMUModelTypeToString(iommu->model));
+                return -1;
+            }
+        } else if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_VIRT_IOMMU)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                            _("IOMMU device: '%1$s' is not supported with this 
QEMU binary"),
                            virDomainIOMMUModelTypeToString(iommu->model));
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies 
b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
index 0448dcaab9..382b76e021 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
@@ -32067,17 +32067,44 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-31"
 }
 
+{
+  "return": [
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    }
+  ],
+  "id": "libvirt-31"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-32"
+}
+
 {
   "error": {
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-31"
+  "id": "libvirt-32"
 }
 
 {
@@ -32085,7 +32112,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -32093,7 +32120,7 @@
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -32101,7 +32128,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -32191,7 +32218,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -32199,7 +32226,7 @@
   "arguments": {
     "typename": "memory-backend-memfd"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -32278,7 +32305,7 @@
       "type": "int"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -32286,7 +32313,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -32534,12 +32561,12 @@
       "type": "link<irq>"
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -33634,7 +33661,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -33642,7 +33669,7 @@
   "arguments": {
     "typename": "virt-10.0-machine"
   },
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -33889,7 +33916,7 @@
       "type": "string"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -33897,7 +33924,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -34016,12 +34043,12 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -34315,12 +34342,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -35787,12 +35814,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -35808,7 +35835,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -35819,7 +35846,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -35852,7 +35879,7 @@
       }
     }
   },
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -35867,11 +35894,11 @@
       }
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
-  "id": "libvirt-43",
+  "id": "libvirt-44",
   "error": {
     "class": "GenericError",
     "desc": "Parameter 'model.props.hv-passthrough' is unexpected"
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies 
b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies
index 2a5be22ed8..c0cb15aa3a 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.replies
@@ -33933,11 +33933,44 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-32"
 }
 
+{
+  "return": [
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "default-value": false,
+      "name": "smmu_per_bus",
+      "description": "on/off",
+      "type": "bool"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    }
+  ],
+  "id": "libvirt-32"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-33"
+}
+
 {
   "return": [
     {
@@ -34008,7 +34041,7 @@
       "type": "int32"
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -34016,7 +34049,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -34057,7 +34090,7 @@
       "type": "int32"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -34065,7 +34098,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -34159,7 +34192,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -34167,7 +34200,7 @@
   "arguments": {
     "typename": "memory-backend-memfd"
   },
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -34236,7 +34269,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -34244,7 +34277,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -34492,12 +34525,12 @@
       "type": "link<irq>"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -35539,7 +35572,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -35547,7 +35580,7 @@
   "arguments": {
     "typename": "virt-10.2-machine"
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -35810,7 +35843,7 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -35818,7 +35851,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -35943,12 +35976,12 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -36176,12 +36209,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -37743,12 +37776,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -37764,7 +37797,7 @@
       "kernel": true
     }
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -37775,7 +37808,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -37808,7 +37841,7 @@
       }
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -37819,7 +37852,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37852,7 +37885,7 @@
       }
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37867,11 +37900,11 @@
       }
     }
   },
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
-  "id": "libvirt-45",
+  "id": "libvirt-46",
   "error": {
     "class": "GenericError",
     "desc": "Parameter 'model.props.hv-passthrough' is unexpected"
diff --git a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml 
b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
index df3e2a8275..f637cb6f11 100644
--- a/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.2.0_aarch64.xml
@@ -186,6 +186,7 @@
   <flag name='iommufd'/>
   <flag name='uefi-vars'/>
   <flag name='blockdev-mirror.target-is-zero'/>
+  <flag name='arm-smmuv3.smmu_per_bus'/>
   <version>10002000</version>
   <microcodeVersion>61700287</microcodeVersion>
   <package>v10.2.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies 
b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies
index fef7dd9730..078716745d 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.replies
@@ -33845,11 +33845,87 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-32"
 }
 
+{
+  "return": [
+    {
+      "name": "memory",
+      "type": "link<memory-region>"
+    },
+    {
+      "name": "secure-memory",
+      "type": "link<memory-region>"
+    },
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "default-value": false,
+      "name": "smmu_per_bus",
+      "description": "on/off",
+      "type": "bool"
+    },
+    {
+      "default-value": "44",
+      "name": "oas",
+      "description": "Specify Output Address Size (for accel=on). Supported 
values are 44 or 48 bits. Defaults to 44 bits. oas=auto is not supported.",
+      "type": "OasMode"
+    },
+    {
+      "default-value": "on",
+      "name": "ril",
+      "description": "Disable range invalidation support (for accel=on). 
ril=auto is not supported.",
+      "type": "OnOffAuto"
+    },
+    {
+      "default-value": 0,
+      "name": "msi-gpa",
+      "type": "uint64"
+    },
+    {
+      "default-value": false,
+      "name": "accel",
+      "description": "Enable SMMUv3 accelerator support. Allows host SMMUv3 to 
be configured in nested mode for vfio-pci dev assignment",
+      "type": "bool"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    },
+    {
+      "default-value": "0",
+      "name": "ssidsize",
+      "description": "Number of bits used to represent SubstreamIDs (SSIDs). A 
value of N allows SSIDs in the range [0 .. 2^N - 1]. Valid range is 0-20, where 
0 disables SubstreamID support. Defaults to 0. A value greater than 0 is 
required to enable PASID support. ssidsize=auto is not supported.",
+      "type": "SsidSizeMode"
+    },
+    {
+      "default-value": "off",
+      "name": "ats",
+      "description": "Enable/disable ATS support (for accel=on). Please ensure 
host platform has ATS support before enabling this. ats=auto is not supported.",
+      "type": "OnOffAuto"
+    }
+  ],
+  "id": "libvirt-32"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-33"
+}
+
 {
   "return": [
     {
@@ -33926,7 +34002,7 @@
       "type": "int32"
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -33934,7 +34010,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -33975,7 +34051,7 @@
       "type": "int32"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -33983,7 +34059,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -34077,7 +34153,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -34085,7 +34161,7 @@
   "arguments": {
     "typename": "memory-backend-memfd"
   },
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -34154,7 +34230,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -34162,7 +34238,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -34411,12 +34487,12 @@
       "type": "link<irq>"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -35466,7 +35542,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -35474,7 +35550,7 @@
   "arguments": {
     "typename": "virt-11.0-machine"
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -35752,7 +35828,7 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -35760,7 +35836,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -35890,12 +35966,12 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -36123,12 +36199,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -37709,12 +37785,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -37730,7 +37806,7 @@
       "kernel": true
     }
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -37741,7 +37817,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -37774,7 +37850,7 @@
       }
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -37785,7 +37861,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37818,7 +37894,7 @@
       }
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37833,11 +37909,11 @@
       }
     }
   },
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
-  "id": "libvirt-45",
+  "id": "libvirt-46",
   "error": {
     "class": "GenericError",
     "desc": "Parameter 'model.props.hv-passthrough' is unexpected"
diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml 
b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
index 3fdc0d6621..b5f43d9be5 100644
--- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml
@@ -188,6 +188,7 @@
   <flag name='uefi-vars'/>
   <flag name='query-block-flat'/>
   <flag name='blockdev-mirror.target-is-zero'/>
+  <flag name='arm-smmuv3.smmu_per_bus'/>
   <version>11000000</version>
   <microcodeVersion>61700286</microcodeVersion>
   <package>v11.0.0</package>
diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies 
b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies
index 41cd5496c6..c91d77655d 100644
--- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.replies
@@ -33939,11 +33939,98 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-32"
 }
 
+{
+  "return": [
+    {
+      "name": "memory",
+      "type": "link<memory-region>"
+    },
+    {
+      "name": "secure-memory",
+      "type": "link<memory-region>"
+    },
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "default-value": false,
+      "name": "smmu_per_bus",
+      "description": "on/off",
+      "type": "bool"
+    },
+    {
+      "default-value": "auto",
+      "name": "cmdqv",
+      "description": "Enable/disable CMDQV support (for accel=on). Valid 
values are on, off, and auto. Defaults to auto.",
+      "type": "OnOffAuto"
+    },
+    {
+      "default-value": "auto",
+      "name": "ats",
+      "description": "Enable/disable ATS support (for accel=on). Valid values 
are on, off, and auto. Defaults to auto. Please ensure host platform supports 
ATS before setting it to on.",
+      "type": "OnOffAuto"
+    },
+    {
+      "default-value": "auto",
+      "name": "oas",
+      "description": "Set Output Address Size in bits (for accel=on). Valid 
values are 44, 48, and auto. Defaults to auto.Please ensure the value does not 
exceed the maximum Output Address Size supported by the host platform.",
+      "type": "OasMode"
+    },
+    {
+      "default-value": "auto",
+      "name": "ssidsize",
+      "description": "Set number of bits used to represent SubstreamIDs 
(SSIDs). Valid values are 0-20 and auto. Defaults to auto. A value of N allows 
SSIDs in the range [0 .. 2^N - 1]. A value of 0 disables SubstreamID support. A 
value greater than 0 is required to enable PASID support.Please ensure the 
value does not exceed the maximum SubstreamID size supported by the host 
platform.",
+      "type": "SsidSizeMode"
+    },
+    {
+      "default-value": "auto",
+      "name": "ril",
+      "description": "Enable/disable range invalidation support (for 
accel=on). Valid values are on, off, and auto. Defaults to auto. Any attempt to 
turn it 'on' while the host does not support it would fail.",
+      "type": "OnOffAuto"
+    },
+    {
+      "default-value": false,
+      "name": "accel",
+      "description": "Enable SMMUv3 accelerator support. Allows host SMMUv3 to 
be configured in nested mode for vfio-pci dev assignment. Please ensure the 
host SMMUv3 supports nested translation before enabling.",
+      "type": "bool"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    },
+    {
+      "default-value": 0,
+      "name": "msi-gpa",
+      "type": "uint64"
+    },
+    {
+      "default-value": 0,
+      "name": "identifier",
+      "type": "uint8"
+    }
+  ],
+  "id": "libvirt-32"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-33"
+}
+
 {
   "return": [
     {
@@ -34020,7 +34107,7 @@
       "type": "int32"
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -34028,7 +34115,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -34069,7 +34156,7 @@
       "type": "int32"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -34077,7 +34164,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -34171,7 +34258,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -34179,7 +34266,7 @@
   "arguments": {
     "typename": "memory-backend-memfd"
   },
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -34248,7 +34335,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -34256,7 +34343,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -34511,12 +34598,12 @@
       "type": "link<irq>"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -35555,7 +35642,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -35563,7 +35650,7 @@
   "arguments": {
     "typename": "virt-11.1-machine"
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -35841,7 +35928,7 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -35849,7 +35936,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -35979,12 +36066,12 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -36212,12 +36299,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -37810,12 +37897,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -37831,7 +37918,7 @@
       "kernel": true
     }
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -37842,7 +37929,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -37875,7 +37962,7 @@
       }
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -37886,7 +37973,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37919,7 +38006,7 @@
       }
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
@@ -37934,11 +38021,11 @@
       }
     }
   },
-  "id": "libvirt-45"
+  "id": "libvirt-46"
 }
 
 {
-  "id": "libvirt-45",
+  "id": "libvirt-46",
   "error": {
     "class": "GenericError",
     "desc": "Parameter 'model.props.hv-passthrough' is unexpected"
diff --git a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml 
b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml
index f7dd14a1ad..28bf1aff57 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='uefi-vars'/>
   <flag name='query-block-flat'/>
   <flag name='blockdev-mirror.target-is-zero'/>
+  <flag name='arm-smmuv3.smmu_per_bus'/>
   <version>11000050</version>
   <microcodeVersion>61700287</microcodeVersion>
   <package>v11.0.0-1600-g5611a9268d</package>
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies 
b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies
index 002ca31b9f..c4d0be6029 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.replies
@@ -31157,17 +31157,44 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-32"
 }
 
+{
+  "return": [
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    }
+  ],
+  "id": "libvirt-32"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-33"
+}
+
 {
   "error": {
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -31175,7 +31202,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -31183,7 +31210,7 @@
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -31191,7 +31218,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -31281,7 +31308,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -31289,7 +31316,7 @@
   "arguments": {
     "typename": "memory-backend-memfd"
   },
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -31368,7 +31395,7 @@
       "type": "int"
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -31376,7 +31403,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -31585,12 +31612,12 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -32702,7 +32729,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -32710,7 +32737,7 @@
   "arguments": {
     "typename": "virt-8.2-machine"
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -32946,7 +32973,7 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -32954,7 +32981,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -33067,12 +33094,12 @@
       "type": "child<container>"
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -33366,12 +33393,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -34736,12 +34763,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -34757,7 +34784,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -34768,7 +34795,7 @@
       "name": "host"
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -34801,7 +34828,7 @@
       }
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
@@ -34816,11 +34843,11 @@
       }
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
-  "id": "libvirt-44",
+  "id": "libvirt-45",
   "error": {
     "class": "GenericError",
     "desc": "Parameter 'hv-passthrough' is unexpected"
diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies 
b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies
index b8f7b6f68a..51cd48e1d1 100644
--- a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies
+++ b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.replies
@@ -31391,17 +31391,44 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-32"
 }
 
+{
+  "return": [
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    }
+  ],
+  "id": "libvirt-32"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-33"
+}
+
 {
   "error": {
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -31409,7 +31436,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -31417,7 +31444,7 @@
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -31425,7 +31452,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -31519,7 +31546,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -31527,7 +31554,7 @@
   "arguments": {
     "typename": "memory-backend-memfd"
   },
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -31606,7 +31633,7 @@
       "type": "int"
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -31614,7 +31641,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -31756,12 +31783,12 @@
       "type": "link<irq>"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -32819,7 +32846,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -32827,7 +32854,7 @@
   "arguments": {
     "typename": "virt-8.2-machine"
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -33063,7 +33090,7 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -33071,7 +33098,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -33184,12 +33211,12 @@
       "type": "child<container>"
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -33411,12 +33438,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
@@ -34898,12 +34925,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -34919,7 +34946,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-42"
+  "id": "libvirt-43"
 }
 
 {
@@ -34930,11 +34957,11 @@
       "name": "host"
     }
   },
-  "id": "libvirt-43"
+  "id": "libvirt-44"
 }
 
 {
-  "id": "libvirt-43",
+  "id": "libvirt-44",
   "error": {
     "class": "GenericError",
     "desc": "The CPU type 'host' requires KVM"
@@ -34953,11 +34980,11 @@
       }
     }
   },
-  "id": "libvirt-44"
+  "id": "libvirt-45"
 }
 
 {
-  "id": "libvirt-44",
+  "id": "libvirt-45",
   "error": {
     "class": "GenericError",
     "desc": "The CPU type 'host' requires KVM"
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies 
b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies
index 14b11c5c30..31b13f865b 100644
--- a/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_aarch64+hvf.replies
@@ -30532,17 +30532,44 @@
 {
   "execute": "device-list-properties",
   "arguments": {
-    "typename": "scsi-block"
+    "typename": "arm-smmuv3"
   },
   "id": "libvirt-28"
 }
 
+{
+  "return": [
+    {
+      "name": "primary-bus",
+      "type": "link<PCI>"
+    },
+    {
+      "default-value": 0,
+      "name": "bus_num",
+      "type": "uint8"
+    },
+    {
+      "name": "stage",
+      "type": "str"
+    }
+  ],
+  "id": "libvirt-28"
+}
+
+{
+  "execute": "device-list-properties",
+  "arguments": {
+    "typename": "scsi-block"
+  },
+  "id": "libvirt-29"
+}
+
 {
   "error": {
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-28"
+  "id": "libvirt-29"
 }
 
 {
@@ -30550,7 +30577,7 @@
   "arguments": {
     "typename": "scsi-generic"
   },
-  "id": "libvirt-29"
+  "id": "libvirt-30"
 }
 
 {
@@ -30558,7 +30585,7 @@
     "class": "DeviceNotFound",
     "desc": "The libvirt device dump was not collected for this version+device 
tuple"
   },
-  "id": "libvirt-29"
+  "id": "libvirt-30"
 }
 
 {
@@ -30566,7 +30593,7 @@
   "arguments": {
     "typename": "memory-backend-file"
   },
-  "id": "libvirt-30"
+  "id": "libvirt-31"
 }
 
 {
@@ -30651,7 +30678,7 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-30"
+  "id": "libvirt-31"
 }
 
 {
@@ -30659,7 +30686,7 @@
   "arguments": {
     "typename": "max-arm-cpu"
   },
-  "id": "libvirt-31"
+  "id": "libvirt-32"
 }
 
 {
@@ -30816,12 +30843,12 @@
       "type": "link<irq>"
     }
   ],
-  "id": "libvirt-31"
+  "id": "libvirt-32"
 }
 
 {
   "execute": "query-machines",
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -31871,7 +31898,7 @@
       "default-ram-id": "ram"
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -31879,7 +31906,7 @@
   "arguments": {
     "typename": "virt-9.2-machine"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -32120,7 +32147,7 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -32128,7 +32155,7 @@
   "arguments": {
     "typename": "none-machine"
   },
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -32246,12 +32273,12 @@
       "type": "child<container>"
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
@@ -32545,12 +32572,12 @@
       "deprecated": false
     }
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -33866,12 +33893,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -33887,7 +33914,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -33898,11 +33925,11 @@
       "name": "host"
     }
   },
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
-  "id": "libvirt-38",
+  "id": "libvirt-39",
   "error": {
     "class": "GenericError",
     "desc": "The CPU type 'host' requires KVM"
@@ -33921,11 +33948,11 @@
       }
     }
   },
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
-  "id": "libvirt-39",
+  "id": "libvirt-40",
   "error": {
     "class": "GenericError",
     "desc": "The CPU type 'host' requires KVM"
-- 
2.43.0

Reply via email to