From: Nathan Chen <[email protected]> The arm-smmuv3 accel device property, used for HW-accelerated nested SMMUv3, was added in QEMU 11.0.0 on top of the pluggable device introduced in 10.2. Probe it alongside smmu_per_bus via device-list-properties.
Signed-off-by: Nathan Chen <[email protected]> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml | 1 + 4 files changed, 5 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index c3ddba2f63..15577ea4a3 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -770,6 +770,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "object-monitor-qmp", /* QEMU_CAPS_OBJECT_MONITOR_QMP */ "arm-smmuv3", /* QEMU_CAPS_DEVICE_SMMUV3 */ "arm-smmuv3.smmu_per_bus", /* QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS */ + "arm-smmuv3.accel", /* QEMU_CAPS_ARM_SMMUV3_ACCEL */ ); @@ -1649,6 +1650,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsAMDIOMMU[] = { static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsArmSmmuv3[] = { { "smmu_per_bus", QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS, NULL }, + { "accel", QEMU_CAPS_ARM_SMMUV3_ACCEL, NULL }, }; /* see documentation for virQEMUQAPISchemaPathGet for the query format */ diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 10f7ff67a0..66ff7d9a7a 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -744,6 +744,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_OBJECT_MONITOR_QMP, /* 'monitor-qmp' -object */ QEMU_CAPS_DEVICE_SMMUV3, /* -device arm-smmuv3 */ QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS, /* arm-smmuv3.smmu_per_bus */ + QEMU_CAPS_ARM_SMMUV3_ACCEL, /* arm-smmuv3.accel */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml index 17775b2ff4..d77884f401 100644 --- a/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.0.0_aarch64.xml @@ -189,6 +189,7 @@ <flag name='blockdev-mirror.target-is-zero'/> <flag name='arm-smmuv3'/> <flag name='arm-smmuv3.smmu_per_bus'/> + <flag name='arm-smmuv3.accel'/> <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 8df736f58a..e53ad1d461 100644 --- a/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_11.1.0_aarch64.xml @@ -190,6 +190,7 @@ <flag name='object-monitor-qmp'/> <flag name='arm-smmuv3'/> <flag name='arm-smmuv3.smmu_per_bus'/> + <flag name='arm-smmuv3.accel'/> <version>11000090</version> <microcodeVersion>61700287</microcodeVersion> <package>v11.1.0-rc0</package> -- 2.43.0
