On 10/1/25 3:46 PM, Jonathan Cameron wrote:
> On Mon, 29 Sep 2025 14:36:39 +0100
> Shameer Kolothum <[email protected]> wrote:
>
>> QEMU SMMUv3 currently sets the output address size (OAS) to 44 bits. With
>> accelerator mode enabled, a guest device may use SVA where CPU page tables
>> are shared with SMMUv3, requiring OAS at least equal to the CPU OAS. Add
>> a user option to set this.
>>
>> Note: Linux kernel docs currently state the OAS field in the IDR register
>> is not meaningful for users. But looks like we need this information.
> So is there a kernel documentation fix pending? :)
>
> Mind you I think we should ensure this is true anyway in QEMU as some other
> OS might do weird things if it's not.
>
> Maybe we should just raise the default QEMU uses (with compat stuff for older
> qemu) and not worry about an exposed control for this?
I tend to agree with Jonathan. We may assess the effort to increase OAS
value in general.
Eric
>> Signed-off-by: Shameer Kolothum <[email protected]>
>> ---
>> hw/arm/smmuv3-accel.c | 15 +++++++++++++++
>> hw/arm/smmuv3-internal.h | 3 ++-
>> hw/arm/smmuv3.c | 15 ++++++++++++++-
>> include/hw/arm/smmuv3.h | 1 +
>> 4 files changed, 32 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c
>> index eee54316bf..ba37d690ad 100644
>> --- a/hw/arm/smmuv3-accel.c
>> +++ b/hw/arm/smmuv3-accel.c
>> @@ -86,6 +86,17 @@ smmuv3_accel_check_hw_compatible(SMMUv3State *s,
>> return false;
>> }
>>
>> + /*
>> + * ToDo: OAS is not something Linux kernel doc says meaningful for user.
>> + * But looks like OAS needs to be compatibe for accelerator support.
>> Please
> spell check this too..
>
>> + * check.
>> + */
>