public inbox for qemu-arm@nongnu.org
 help / color / mirror / Atom feed
* [PATCH for-11.0 v4 0/8] hw/arm/smmuv3-accel: Support AUTO properties
@ 2026-03-18 18:48 Nathan Chen
  2026-03-18 18:49 ` [PATCH v4 1/8] hw/arm/smmuv3-accel: Check ATS compatibility between host and guest Nathan Chen
                   ` (9 more replies)
  0 siblings, 10 replies; 35+ messages in thread
From: Nathan Chen @ 2026-03-18 18:48 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: Eric Auger, Peter Maydell, Michael S . Tsirkin, Igor Mammedov,
	Ani Sinha, Shannon Zhao, Paolo Bonzini, Daniel P . Berrangé,
	Eric Blake, Markus Armbruster, Shameer Kolothum, Matt Ochs,
	Nicolin Chen, Nathan Chen

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-v4

Please take a look and let me know your feedback.

Thanks,
Nathan

Changes from v3:
- Revise auto support error message
- Restore original comment for ATS in smmuv3_accel_idr_override()
- Update the description in object_class_property_set_description()
  to mention auto mode not supported.
- Move auto mode check before check for accel=on
- Remove SMMU_OAS_44BIT/_48BIT and SMMU_SSID_MAX_BITS defines
- Consolidate documentation notes about properties only being
  available for accel=on and not supporting auto mode.
- Include R-by and T-by tags from v3, thanks Eric and Shameer!

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.

[0] https://lore.kernel.org/qemu-devel/20260317183755.3721625-1-nathanc@nvidia.com/
[1] https://lore.kernel.org/all/20260126104342.253965-1-skolothumtho@nvidia.com/

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                    | 41 ++++++++++++---
 hw/arm/smmuv3.c                          | 63 +++++++++++++++---------
 hw/arm/virt-acpi-build.c                 |  2 +-
 hw/core/qdev-properties-system.c         | 27 ++++++++++
 include/hw/arm/smmuv3-common.h           |  3 --
 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                          | 32 +++++++++++-
 10 files changed, 192 insertions(+), 38 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2026-03-24  5:40 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-18 18:48 [PATCH for-11.0 v4 0/8] hw/arm/smmuv3-accel: Support AUTO properties Nathan Chen
2026-03-18 18:49 ` [PATCH v4 1/8] hw/arm/smmuv3-accel: Check ATS compatibility between host and guest Nathan Chen
2026-03-18 18:49 ` [PATCH v4 2/8] hw/arm/smmuv3-accel: Change ATS property to OnOffAuto Nathan Chen
2026-03-19  8:10   ` Shameer Kolothum Thodi
2026-03-19  9:35   ` Eric Auger
2026-03-19 11:54   ` Markus Armbruster
2026-03-18 18:49 ` [PATCH v4 3/8] hw/arm/smmuv3-accel: Change RIL " Nathan Chen
2026-03-19  8:12   ` Shameer Kolothum Thodi
2026-03-19  9:37   ` Eric Auger
2026-03-19 11:55   ` Markus Armbruster
2026-03-18 18:49 ` [PATCH v4 4/8] qdev: Add a SsidSizeMode property Nathan Chen
2026-03-19 12:02   ` Markus Armbruster
2026-03-19 12:08   ` Markus Armbruster
2026-03-18 18:49 ` [PATCH v4 5/8] hw/arm/smmuv3-accel: Change SSIDSIZE property to SsidSizeMode Nathan Chen
2026-03-19  8:35   ` Shameer Kolothum Thodi
2026-03-19  9:48   ` Eric Auger
2026-03-19 12:14   ` Markus Armbruster
2026-03-23 17:28     ` Nathan Chen
2026-03-23 17:41       ` Shameer Kolothum Thodi
2026-03-24  5:39         ` Markus Armbruster
2026-03-23 17:41       ` Eric Auger
2026-03-18 18:49 ` [PATCH v4 6/8] qdev: Add an OasMode property Nathan Chen
2026-03-19 12:16   ` Markus Armbruster
2026-03-18 18:49 ` [PATCH v4 7/8] hw/arm/smmuv3-accel: Change OAS property to OasMode Nathan Chen
2026-03-19  8:39   ` Shameer Kolothum Thodi
2026-03-19  9:51   ` Eric Auger
2026-03-19 12:20   ` Markus Armbruster
2026-03-19 16:57     ` Nathan Chen
2026-03-20  7:53       ` Markus Armbruster
2026-03-23 17:47         ` Nathan Chen
2026-03-18 18:49 ` [PATCH v4 8/8] qemu-options.hx: Document arm-smmuv3 device's accel properties Nathan Chen
2026-03-19 12:21   ` Markus Armbruster
2026-03-19 17:07     ` Nathan Chen
2026-03-19 10:01 ` [PATCH for-11.0 v4 0/8] hw/arm/smmuv3-accel: Support AUTO properties Eric Auger
2026-03-19 10:15 ` Shameer Kolothum Thodi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox