From: Nathan Chen <nathanc@nvidia.com>
To: eric.auger@redhat.com, qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: "Yi Liu" <yi.l.liu@intel.com>,
"Zhenzhong Duan" <zhenzhong.duan@intel.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Shannon Zhao" <shannon.zhaosl@gmail.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Alex Williamson" <alex@shazbot.org>,
"Cédric Le Goater" <clg@redhat.com>,
"Eric Blake" <eblake@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>
Subject: Re: [RFC PATCH 7/8] qdev: Add an OasMode property
Date: Wed, 11 Mar 2026 11:24:54 -0700 [thread overview]
Message-ID: <480e5ab4-1574-4ef7-bfca-982bb0700423@nvidia.com> (raw)
In-Reply-To: <793c6796-177a-4e31-bda7-60bf2b9e1574@redhat.com>
Hi Eric,
On 3/11/2026 11:20 AM, Eric Auger wrote:
> Hi Nathan,
>
> On 3/9/26 8:21 PM, Nathan Chen wrote:
>> From: Nathan Chen<nathanc@nvidia.com>
>>
>> Introduce a new enum type property allowing to set an Output Address
>> Size. Values are auto, 44, and 48, where a value of N specifies an
>> N-bit OAS.
>>
>> Signed-off-by: Nathan Chen<nathanc@nvidia.com>
>> ---
>> hw/core/qdev-properties-system.c | 13 +++++++++++++
>> include/hw/core/qdev-properties-system.h | 3 +++
>> qapi/misc-arm.json | 16 ++++++++++++++++
>> 3 files changed, 32 insertions(+)
>>
>> diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
>> index 4aca1d4326..a805ee2e1f 100644
>> --- a/hw/core/qdev-properties-system.c
>> +++ b/hw/core/qdev-properties-system.c
>> @@ -737,6 +737,19 @@ const PropertyInfo qdev_prop_ssidsize_mode = {
>> .set_default_value = qdev_propinfo_set_default_value_enum,
>> };
>>
>> +/* --- OasMode --- */
>> +
>> +QEMU_BUILD_BUG_ON(sizeof(OasMode) != sizeof(int));
>> +
>> +const PropertyInfo qdev_prop_oas_mode = {
>> + .type = "OasMode",
>> + .description = "oas mode: auto, 32, 36, 40, 42, 44, 48, 52, 56",
>> + .enum_table = &OasMode_lookup,
>> + .get = qdev_propinfo_get_enum,
>> + .set = qdev_propinfo_set_enum,
>> + .set_default_value = qdev_propinfo_set_default_value_enum,
>> +};
>> +
>> /* --- Reserved Region --- */
>>
>> /*
>> diff --git a/include/hw/core/qdev-properties-system.h b/include/hw/core/qdev-properties-system.h
>> index 4708885164..2cbea16d61 100644
>> --- a/include/hw/core/qdev-properties-system.h
>> +++ b/include/hw/core/qdev-properties-system.h
>> @@ -15,6 +15,7 @@ extern const PropertyInfo qdev_prop_mig_mode;
>> extern const PropertyInfo qdev_prop_granule_mode;
>> extern const PropertyInfo qdev_prop_zero_page_detection;
>> extern const PropertyInfo qdev_prop_ssidsize_mode;
>> +extern const PropertyInfo qdev_prop_oas_mode;
>> extern const PropertyInfo qdev_prop_losttickpolicy;
>> extern const PropertyInfo qdev_prop_blockdev_on_error;
>> extern const PropertyInfo qdev_prop_bios_chs_trans;
>> @@ -64,6 +65,8 @@ extern const PropertyInfo qdev_prop_virtio_gpu_output_list;
>> ZeroPageDetection)
>> #define DEFINE_PROP_SSIDSIZE_MODE(_n, _s, _f, _d) \
>> DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_ssidsize_mode, SsidSizeMode)
>> +#define DEFINE_PROP_OAS_MODE(_n, _s, _f, _d) \
>> + DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_oas_mode, OasMode)
>> #define DEFINE_PROP_LOSTTICKPOLICY(_n, _s, _f, _d) \
>> DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_losttickpolicy, \
>> LostTickPolicy)
>> diff --git a/qapi/misc-arm.json b/qapi/misc-arm.json
>> index b372a3661b..76b6965502 100644
>> --- a/qapi/misc-arm.json
>> +++ b/qapi/misc-arm.json
>> @@ -60,3 +60,19 @@
>> { 'enum': 'SsidSizeMode',
>> 'data': [ 'auto', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
>> '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20' ] }
>> +
>> +##
>> +# @OasMode:
>> +#
>> +# SMMUv3 Output Address Size configuration mode.
>> +#
>> +# @auto: derive from host IOMMU capabilities
>> +#
>> +# @44: 44-bit output address size
>> +#
>> +# @48: 48-bit output address size
>> +#
>> +# Since: 11.0
>> +##
>> +{ 'enum': 'OasMode',
>> + 'data': [ 'auto', '44', '48' ] }
> you also miss other enum values
I left out the other possible OAS values because only 44 and 48 are
supported per the previous accel SMMUv3 series. Should we still include
the other possible OAS values according to the SMMUv3 spec? If we do, we
would end up hitting that check for 44 or 48 bit OAS when a different
value is specified.
Thanks,
Nathan
next prev parent reply other threads:[~2026-03-11 18:25 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-09 19:21 [RFC PATCH 0/8] hw/arm/smmuv3-accel: Support AUTO properties Nathan Chen
2026-03-09 19:21 ` [RFC PATCH 1/8] hw/arm/smmuv3-accel: Add helper for resolving auto parameters Nathan Chen
2026-03-10 7:00 ` Markus Armbruster
2026-03-10 9:01 ` Shameer Kolothum Thodi
2026-03-12 8:20 ` Markus Armbruster
2026-03-12 8:33 ` Shameer Kolothum Thodi
2026-03-12 8:39 ` Cédric Le Goater
2026-03-12 8:44 ` Shameer Kolothum Thodi
2026-03-10 7:42 ` Cédric Le Goater
2026-03-10 8:40 ` Shameer Kolothum Thodi
2026-03-12 8:37 ` Cédric Le Goater
2026-03-12 9:29 ` Shameer Kolothum Thodi
2026-03-10 17:13 ` Nathan Chen
2026-03-09 19:21 ` [RFC PATCH 2/8] hw/arm/smmuv3-accel: Introduce _AUTO support for ATS Nathan Chen
2026-03-10 7:05 ` Markus Armbruster
2026-03-10 17:35 ` Nathan Chen
2026-03-11 15:31 ` Eric Auger
2026-03-11 17:08 ` Nathan Chen
2026-03-11 17:16 ` Eric Auger
2026-03-11 18:09 ` Pavel Hrdina
2026-03-12 8:39 ` Markus Armbruster
2026-03-12 8:51 ` Eric Auger
2026-03-12 9:20 ` Markus Armbruster
2026-03-12 9:25 ` Eric Auger
2026-03-12 16:35 ` Nathan Chen
2026-03-12 8:52 ` Eric Auger
2026-03-11 17:24 ` Eric Auger
2026-03-11 17:46 ` Eric Auger
2026-03-11 17:53 ` Nathan Chen
2026-03-11 18:10 ` Eric Auger
2026-03-11 18:21 ` Nathan Chen
2026-03-09 19:21 ` [RFC PATCH 3/8] vfio/pci: Add ats property and mask ATS cap when not exposed Nathan Chen
2026-03-09 19:21 ` [RFC PATCH 4/8] hw/arm/smmuv3-accel: Introduce _AUTO support for RIL Nathan Chen
2026-03-10 7:06 ` Markus Armbruster
2026-03-09 19:21 ` [RFC PATCH 5/8] qdev: Add a SsidSizeMode property Nathan Chen
2026-03-10 7:14 ` Markus Armbruster
2026-03-09 19:21 ` [RFC PATCH 6/8] hw/arm/smmuv3-accel: Introduce _AUTO support for SSID size Nathan Chen
2026-03-10 7:21 ` Markus Armbruster
2026-03-10 17:44 ` Nathan Chen
2026-03-09 19:21 ` [RFC PATCH 7/8] qdev: Add an OasMode property Nathan Chen
2026-03-11 18:20 ` Eric Auger
2026-03-11 18:24 ` Nathan Chen [this message]
2026-03-12 9:29 ` Eric Auger
2026-03-12 16:32 ` Nathan Chen
2026-03-09 19:21 ` [RFC PATCH 8/8] hw/arm/smmuv3-accel: Introduce _AUTO support for OAS Nathan Chen
2026-03-10 7:23 ` Markus Armbruster
2026-03-11 17:43 ` [RFC PATCH 0/8] hw/arm/smmuv3-accel: Support AUTO properties Eric Auger
2026-03-11 17:55 ` Nathan Chen
2026-03-11 18:25 ` Eric Auger
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=480e5ab4-1574-4ef7-bfca-982bb0700423@nvidia.com \
--to=nathanc@nvidia.com \
--cc=alex@shazbot.org \
--cc=anisinha@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=clg@redhat.com \
--cc=eblake@redhat.com \
--cc=eric.auger@redhat.com \
--cc=imammedo@redhat.com \
--cc=mst@redhat.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=yi.l.liu@intel.com \
--cc=zhenzhong.duan@intel.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.