summaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorNathan Chen <nathanc@nvidia.com>2026-03-24 14:02:29 +0000
committerPeter Maydell <peter.maydell@linaro.org>2026-03-24 14:02:29 +0000
commit3a3dd64e63dc772f6067d8215b7add7474e6a3e5 (patch)
treee54e0916cd25fd95aad0947e703ba5a0eec2c520 /qapi
parent1a76cc39333c7870ee34075c2295a28e53d1b1ba (diff)
downloadqemu-3a3dd64e63dc772f6067d8215b7add7474e6a3e5.tar.gz
qemu-3a3dd64e63dc772f6067d8215b7add7474e6a3e5.zip
qdev: Add a SsidSizeMode property type
Introduce a new enum type property allowing to set a Substream ID size for HW-accelerated smmuv3. Values are auto and 0..20. The auto value allows SSID size property to be derived from host IOMMU capabilities. A value of 0 disables SubstreamID, while non-zero values specify the SSID size in bits. Reviewed-by: Eric Auger <eric.auger@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com> Tested-by: Shameer Kolothum <skolothumtho@nvidia.com> Acked-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Nathan Chen <nathanc@nvidia.com> Message-id: 20260323182454.1416110-5-nathanc@nvidia.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/misc-arm.json16
-rw-r--r--qapi/pragma.json1
2 files changed, 17 insertions, 0 deletions
diff --git a/qapi/misc-arm.json b/qapi/misc-arm.json
index f921d740f1..416b4240e2 100644
--- a/qapi/misc-arm.json
+++ b/qapi/misc-arm.json
@@ -45,3 +45,19 @@
# { "version": 3, "emulated": false, "kernel": true } ] }
##
{ 'command': 'query-gic-capabilities', 'returns': ['GICCapability'] }
+
+##
+# @SsidSizeMode:
+#
+# SMMUv3 SubstreamID size configuration mode.
+#
+# @auto: derive from host IOMMU capabilities
+#
+# Values 0-20: SSIDSIZE value in bits. 0 disables SubstreamID.
+#
+# Since: 11.0
+##
+{ 'enum': 'SsidSizeMode',
+ 'data': [ 'auto', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+ '10', '11', '12', '13', '14', '15', '16', '17', '18',
+ '19', '20' ] } # order matters, see ssidsize_mode_to_value()
diff --git a/qapi/pragma.json b/qapi/pragma.json
index 193bc39059..24aebbe8f5 100644
--- a/qapi/pragma.json
+++ b/qapi/pragma.json
@@ -68,6 +68,7 @@
'S390CpuEntitlement',
'S390CpuPolarization',
'S390CpuState',
+ 'SsidSizeMode',
'String',
'StringWrapper',
'SysEmuTarget',