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? > > 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. > + */
