qemu-options.hx: Support "auto" for accel SMMUv3 properties
Update documentation now that "auto" is supported for accelerated SMMUv3 properties. Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Shameer Kolothum <skolothumtho@nvidia.com> Signed-off-by: Nathan Chen <nathanc@nvidia.com> Tested-by: Eric Auger <eric.auger@redhat.com> Message-id: 20260608174900.2227340-10-nathanc@nvidia.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Nathan Chen committed
Jun 8, 2026 at 10:49 UTC
1b8c0edfee08c3d96cf80cab5d851c059fb7c167
1 file changed
+19
-6
qemu-options.hx
+19
-6
@@ -1291,31 +1291,44 @@ SRST
1291
Enabling accel configures the host SMMUv3 in nested mode to support
1292
vfio-pci passthrough.
1293
1294
- The following options are available when accel=on.
1295
- Note: 'auto' mode is not currently supported.
1294
+ The following options will be set to auto by default if not manually
1295
+ set. When accel=on and these properties are set to auto, the value is
1296
+ derived from the host SMMUv3 capabilities via IOMMU_GET_HW_INFO. With
1297
+ accel=on, this requires at least one cold-plugged vfio-pci device; if
1298
+ none is present at machine init, QEMU will abort.
1299
1297
- ``ril=on|off`` (default: on)
1300
+ If accel=off, auto values resolve to the non-accel defaults given below.
1301
+
1302
+ ``ril=on|off|auto`` (default: auto)
1303
Support for Range Invalidation, which allows the SMMUv3 driver to
1304
invalidate TLB entries for a range of IOVAs at once instead of issuing
1305
separate commands to invalidate each page. Must match with host SMMUv3
1306
Range Invalidation support.
1307
1303
- ``ats=on|off`` (default: off)
1308
+ - With accel=off, auto is resolved to 'on'.
1309
+
1310
+ ``ats=on|off|auto`` (default: auto)
1311
Support for Address Translation Services, which enables PCIe devices to
1312
cache address translations in their local TLB and reduce latency. Host
1313
SMMUv3 must support ATS in order to enable this feature for the vIOMMU.
1314
1308
- ``oas=val`` (supported values are 44 and 48. default: 44)
1315
+ - With accel=off, auto is resolved to 'off'.
1316
+
1317
+ ``oas=val|auto`` (supported values are 44 and 48. default: auto)
1318
Sets the Output Address Size in bits. The value set here must be less
1319
than or equal to the host SMMUv3's supported OAS, so that the
1320
intermediate physical addresses (IPA) consumed by host SMMU for stage-2
1321
translation do not exceed the host's max supported IPA size.
1322
1314
- ``ssidsize=val`` (val between 0 and 20. default: 0)
1323
+ - With accel=off, auto is resolved to 44.
1324
+
1325
+ ``ssidsize=val|auto`` (val between 0 and 20. default: auto)
1326
Sets the Substream ID size in bits. When set to a non-zero value,
1327
PASID capability is advertised to the vIOMMU and accelerated use cases
1328
such as Shared Virtual Addressing (SVA) are supported.
1329
1330
+ - With accel=off, auto is resolved to 0.
1331
+
1332
``-device amd-iommu[,option=...]``
1333
Enables emulation of an AMD-Vi I/O Memory Management Unit (IOMMU).
1334
Only available with ``-machine q35``, it supports the following options: