[PATCH v1 2/8] firmware: arm_rmm: Add VSMMU commands and fields
Shameer Kolothum Thodi
skolothumtho at nvidia.com
Thu Oct 29 03:05:05 PDT 2026
> -----Original Message-----
> From: Nicolin Chen <nicolinc at nvidia.com>
> Sent: 28 October 2026 18:38
> To: Jason Gunthorpe <jgg at nvidia.com>
> Cc: Shameer Kolothum Thodi <skolothumtho at nvidia.com>; Catalin Marinas
> <catalin.marinas at arm.com>; Will Deacon <will at kernel.org>;
> joro at 8bytes.org; Robin Murphy <robin.murphy at arm.com>;
> rafael at kernel.org; Danilo Krummrich <dakr at kernel.org>; Marek Szyprowski
> <m.szyprowski at samsung.com>; aneesh.kumar at kernel.org; Mark Rutland
> <mark.rutland at arm.com>; Greg Kroah-Hartman
> <gregkh at linuxfoundation.org>; Suzuki K Poulose
> <suzuki.poulose at arm.com>; Gavin Shan <gshan at redhat.com>; Vikram Sethi
> <vsethi at nvidia.com>; Anshuman Khandual
> <anshuman.khandual at arm.com>; Shanker Donthineni
> <sdonthineni at nvidia.com>; Mostafa Saleh <smostafa at google.com>;
> rppt at kernel.org; Thomas Huth <thuth at redhat.com>; Marc Zyngier
> <maz at kernel.org>; Ryan Roberts <ryan.roberts at arm.com>; kas at kernel.org;
> Kohei Enju <enju.kohei at fujitsu.com>; Shaopeng Tan
> <tan.shaopeng at jp.fujitsu.com>; Ard Biesheuvel <ardb at kernel.org>; James
> Morse <james.morse at arm.com>; Steven Price <steven.price at arm.com>;
> Sang-Heon Jeon <ekffu200098 at gmail.com>; Omar Sandoval
> <osandov at fb.com>; Andrew Morton <akpm at linux-foundation.org>; Jinjie
> Ruan <ruanjinjie at huawei.com>; Sam Edwards <cfsworks at gmail.com>;
> Douglas Anderson <dianders at chromium.org>; Florian Fainelli
> <florian.fainelli at broadcom.com>; Chen-Yu Tsai <wenst at chromium.org>;
> Huacai Chen <chenhuacai at kernel.org>; Thomas Zimmermann
> <tzimmermann at suse.de>; Pranjal Shrivastava <praan at google.com>; Ashish
> Mhetre <amhetre at nvidia.com>; linux-arm-kernel at lists.infradead.org; linux-
> kernel at vger.kernel.org; iommu at lists.linux.dev; driver-core at lists.linux.dev;
> Sonang Patel <sonangp at nvidia.com>; Ankit Agrawal <ankita at nvidia.com>
> Subject: Re: [PATCH v1 2/8] firmware: arm_rmm: Add VSMMU commands and
> fields
>
> On Wed, Oct 28, 2026 at 09:35:09AM -0300, Jason Gunthorpe wrote:
> > On Wed, Oct 28, 2026 at 09:49:53AM +0000, Shameer Kolothum Thodi
> wrote:
> > > > +static inline unsigned long rsi_arch_dev_activate(phys_addr_t base,
> > > > + unsigned long dev_type)
> > > > +{
> > > > + struct arm_smccc_res res;
> > > > +
> > > > + arm_smccc_1_1_invoke(SMC_RSI_ARCH_DEV_ACTIVATE, base,
> > > > dev_type, &res);
> > >
> > > These calls leave unused input registers unspecified, whereas
> > > DEN0137 bet3 B1.2 marks them SBZ. Could we explicitly zero them?
> > >
> > > "On calling an RMI or RSI command, any of X1- X16 which are not
> > > specified as input values in the command definition SBZ"
> >
> > That seems too broad, Linux doesn't even support the x8-x16 inputs in
> > the macros. I think the spec has errd here.
> >
> > Requiring zeroing of x0-x7 is sort of reasonable. Any future use of
> > x8-x16 (including outputs) should require a direct opt in of the OS to
> > indicate it supports this bank of registers.
> >
> > Otherwise you probably need a new macro helper for this protocol..
>
> We could probably replace it with:
> arm_smccc_smc(SMC_RSI_ARCH_DEV_ACTIVATE, base, dev_type, 0,
> 0, 0, 0, 0,
> &res);
>
> This should specify those unused inputs.
Or we could use arm_smccc_1_2_smc() with zero initialized registers, as
rsi_attestation_token_init() does. I think that would cover X8-X16 too.
But other RSI wrappers don't do that consistently, so it's fine either
way, I guess.
Thanks,
Shameer
More information about the linux-arm-kernel
mailing list