Hi Eric,
On 5/8/2026 5:08 AM, Eric Auger wrote:
Hi Nathan,
On 4/22/26 10:43 PM, Nathan Chen wrote:
Update documentation now that "auto" is supported for accelerated SMMUv3
properties.
Signed-off-by: Nathan Chen<[email protected]>
---
qemu-options.hx | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/qemu-options.hx b/qemu-options.hx
index 21972f8326..2c6ba16a26 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1291,30 +1291,43 @@ SRST
Enabling accel configures the host SMMUv3 in nested mode to support
vfio-pci passthrough.
- The following options are available when accel=on.
- Note: 'auto' mode is not currently supported.
-
- ``ril=on|off`` (default: on)
+ The following options will be set to auto by default if not manually
+ set. When accel=on and these properties are set to auto, the value is
+ derived from the host SMMUv3 capabilities via IOMMU_GET_HW_INFO. With
+ accel=on, this requires at least one cold-plugged vfio-pci device; if
+ none is present at machine init, QEMU will abort.
+
+ If accel=off and these property values are set to auto, the values will
+ not be derived from the host SMMUv3 capabilities. Instead, they will
+ resolve to the defaults described below, and a cold-plugged vfio-pci
+ device is not required.
I would simply say:
If accel=off auto values resolve to the non accel default given below.
Got it, I will simplify the accel=off explanation accordingly.
+
+ ``ril=on|off`` (default: auto)
ril=on|off|auto (default: auto)
-------
I would rewrite it into:
Support for Range Invalidation, which allows the SMMUv3 driver to
invalidate TLB entries for a range of IOVAs at once instead of issuing
separate commands to invalidate each page.
- with accel=on auto means the value is automatically derived from the host SMMU
if explicitly set to 'on', the host must also support it.
- with accel=off auto is resolved into 'on'
If we have this explanation here in object_class_property_set_description()
just explain the basic semantic and list the valid values and default value.
No use to rexplain the auto mode semantic.
Support for Range Invalidation, which allows the SMMUv3 driver to
invalidate TLB entries for a range of IOVAs at once instead of issuing
separate commands to invalidate each page. Must match with host SMMUv3
- Range Invalidation support.
+ Range Invalidation support. If accel=off and ril is set to auto, this
+ property value will resolve to on.
Same for the others ...
Ok, I will leave the auto explanation out of
object_class_property_set_description() and keep it here.
Thanks,
Nathan