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

Tian, Kevin
2023-12-11T02:30:12Z

> From: Jason Gunthorpe <jgg@nvidia.com>
> 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?