From: Nathan Chen <nathanc@nvidia.com>
To: qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: "Eric Auger" <eric.auger@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Michael S . Tsirkin" <mst@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Shannon Zhao" <shannon.zhaosl@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Eric Blake" <eblake@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Shameer Kolothum" <skolothumtho@nvidia.com>,
"Matt Ochs" <mochs@nvidia.com>,
"Nicolin Chen" <nicolinc@nvidia.com>,
"Nathan Chen" <nathanc@nvidia.com>
Subject: [PATCH for-11.0 v4 0/8] hw/arm/smmuv3-accel: Support AUTO properties
Date: Wed, 18 Mar 2026 11:48:59 -0700 [thread overview]
Message-ID: <20260318184907.4060030-1-nathanc@nvidia.com> (raw)
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
next reply other threads:[~2026-03-18 18:49 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 18:48 Nathan Chen [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260318184907.4060030-1-nathanc@nvidia.com \
--to=nathanc@nvidia.com \
--cc=anisinha@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=eblake@redhat.com \
--cc=eric.auger@redhat.com \
--cc=imammedo@redhat.com \
--cc=mochs@nvidia.com \
--cc=mst@redhat.com \
--cc=nicolinc@nvidia.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shannon.zhaosl@gmail.com \
--cc=skolothumtho@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.