RE: [PATCH v6 0/6] iommufd: Add nesting infrastructure (part 2/2)

From: Tian, Kevin
Date: Sun Dec 10 2023 - 21:30:17 EST


> From: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Sent: Saturday, December 9, 2023 9:47 AM
>
> What is in a Nested domain:
> Intel: A single IO page table refereed to by a PASID entry
> Each vDomain-ID,PASID allocates a unique nesting domain
> AMD: A GCR3 table pointer
> Nesting domains are created for every unique GCR3 pointer.
> vDomain-ID can possibly refer to multiple Nesting domains :(
> ARM: A CD table pointer
> Nesting domains are created for every unique CD table top pointer.

this AMD/ARM difference is not very clear to me.

How could a vDomain-ID refer to multiple GCR3 pointers? Wouldn't it
lead to cache tag conflict when a same PASID entry in multiple GCR3 tables
points to different I/O page tables?