Hi Nathan, On 3/17/26 7:37 PM, Nathan Chen wrote: > Hi, > > This is a follow-up to the previous series [0] that introduces support > for specifying 'auto' for arm-smmuv3 accelerated mode's ATS, RIL, > SSIDSIZE, and OAS feature properties. > > In QEMU 11.0 we introduced new options for vSMMU [1], but feedback received > when starting the integration of layered products shows the need for > auto/host-retrieved values. To avoid breaking JSON/QMP compat, we want > to fix the option types so that they can later support the auto mode. At > the moment the auto mode is not supported though. > > A future series will introduce support for resolving the 'auto' values > based on host SMMUv3 IDR values, as well as setting per-device ATS > capability. > > A complete branch can be found here: > https://github.com/NathanChenNVIDIA/qemu/tree/smmuv3-accel-auto-v3 > > Please take a look and let me know your feedback. > > Thanks, > Nathan > > Changes from v2: > - Enforce 'auto' value not being supported for HW-accel SMMUv3 props > - Revise docs to mention auto is not supported and these properties > are only applicable when accel=on. > - Only override non-defaults in smmuv3_accel_idr_override() > - Remove check for SSIDSIZE AUTO in smmuv3_accel_idr_override() as > smmu_validate_property() checks for AUTO beforehand > - Consolidate comments for ssidsize_mode_to_value() > - Include Fixes tags in commit descriptions > - Include R-by tags from v2 > > Changes from RFCv1: > - Remove changes that resolve the 'auto' values based on host SMMUv3 > - Restore defaults values for RIL, OAS, SSIDSIZE, and ATS > - Update OasMode to accept all OAS sizes instead of only auto, 44, and > 48 > - Include comment in SsidSizeMode schema clarifying enum value > ordering > - Replace ats-enabled prop with a helper that accepts the dynamic > casted TYPE_ARM_SMMUV3 object > - Separate out guest vs. host ATS check in > smmuv3_accel_check_hw_compatible() to a different commit > - Document accel, RIL, OAS, SSIDSIZE, and ATS properties in > qemu-options.hx > > Testing: > Basic sanity testing was performed on an NVIDIA Grace platform with GPU > device assignment and running CUDA test apps on the guest. Additional > testing and feedback are welcome.
Feel free to add my Tested-by: Eric Auger <[email protected]> Eric > > [0] > https://lore.kernel.org/qemu-devel/[email protected]/ > [1] > https://lore.kernel.org/all/[email protected]/ > > Nathan Chen (8): > hw/arm/smmuv3-accel: Check ATS compatibility between host and guest > hw/arm/smmuv3-accel: Change ATS property to OnOffAuto > hw/arm/smmuv3-accel: Change RIL property to OnOffAuto > qdev: Add a SsidSizeMode property > hw/arm/smmuv3-accel: Change SSIDSIZE property to SsidSizeMode > qdev: Add an OasMode property > hw/arm/smmuv3-accel: Change OAS property to OasMode > qemu-options.hx: Document arm-smmuv3 device's accel properties > > hw/arm/smmuv3-accel.c | 43 ++++++++++++++++++---- > hw/arm/smmuv3.c | 45 ++++++++++++++++-------- > hw/arm/virt-acpi-build.c | 2 +- > hw/core/qdev-properties-system.c | 27 ++++++++++++++ > include/hw/arm/smmuv3.h | 11 +++--- > include/hw/core/qdev-properties-system.h | 6 ++++ > qapi/misc-arm.json | 44 +++++++++++++++++++++++ > qapi/pragma.json | 1 + > qemu-options.hx | 35 +++++++++++++++++- > 9 files changed, 187 insertions(+), 27 deletions(-) >
