[RFC PATCH v4 03/16] iommu/arm-smmu-v3: Add initial pSMMU realm viommu plumbing
Nicolin Chen
nicolinc at nvidia.com
Tue Sep 1 10:18:33 PDT 2026
On Tue, Sep 01, 2026 at 10:13:11AM -0700, Nicolin Chen wrote:
> On Tue, Sep 01, 2026 at 11:34:45AM -0300, Jason Gunthorpe wrote:
> > On Tue, Sep 01, 2026 at 03:36:37PM +0530, Aneesh Kumar K.V wrote:
> >
> > > @@ -463,14 +460,13 @@
> > > vsmmu->vmid = s2_parent->s2_cfg.vmid;
> > >
> > > if (viommu->type == IOMMU_VIOMMU_TYPE_ARM_SMMUV3) {
> > > + if (arm_smmu_is_realm_viommu(viommu))
> > > + return arm_realm_smmu_v3_init(viommu, user_data);
> > > +
> >
> > I think the realm vsmmu is going to require a different info struct
> > than the normal psmmu case, isn't it?
> >
> > If so it needs its own enum value.
> >
> > It would be nice to see a draft patch showing how the real vsmmu works
> > on top of the RMM spec for it. If we are using a viommu object then
> > non-vsmmu case should be identical just with an option in the info
> > struct to not create the vsmmu object.
>
> Actually, the PSMMU-only viommu object in this series only adds a
> type with no viommu data structure.
>
> I've drafted the vsmmu case on top of the series, so it would add
> a structure reusing the same IOMMU_VIOMMU_TYPE_ARM_SMMUV3 with a
> flag:
Oh. I replied too fast that I didn't notice this is under the
standard IOMMU_VIOMMU_TYPE_ARM_SMMUV3 used by non-secure vSTE.
That doesn't look correct for a no-vsmmu case..
Nicolin
More information about the linux-arm-kernel
mailing list