> From: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > Sent: Friday, June 4, 2021 4:18 PM > > On Wed, Jun 02, 2021 at 01:25:00AM +0000, Tian, Kevin wrote: > > > > This implies that VFIO_BOUND_IOASID will be extended to allow user > > > > specify a device label. This label will be recorded in /dev/iommu to > > > > serve per-device invalidation request from and report per-device > > > > fault data to the user. > > > > > > I wonder which of the user providing a 64 bit cookie or the kernel > > > returning a small IDA is the best choice here? Both have merits > > > depending on what qemu needs.. > > > > Yes, either way can work. I don't have a strong preference. Jean? > > I don't see an issue with either solution, maybe it will show up while > prototyping. First one uses IDs that do mean something for someone, and > userspace may inject faults slightly faster since it doesn't need an > ID->vRID lookup, so that's my preference. ok, will go for the first option in v2. > > > > > In addition, vPASID (if provided by user) will > > > > be also recorded in /dev/iommu so vPASID<->pPASID conversion > > > > is conducted properly. e.g. invalidation request from user carries > > > > a vPASID which must be converted into pPASID before calling iommu > > > > driver. Vice versa for raw fault data which carries pPASID while the > > > > user expects a vPASID. > > > > > > I don't think the PASID should be returned at all. It should return > > > the IOASID number in the FD and/or a u64 cookie associated with that > > > IOASID. Userspace should figure out what the IOASID & device > > > combination means. > > > > This is true for Intel. But what about ARM which has only one IOASID > > (pasid table) per device to represent all guest I/O page tables? > > In that case vPASID = pPASID though. The vPASID allocated by the guest is > the same from the vIOMMU inval to the pIOMMU inval. I don't think host > kernel or userspace need to alter it. > yes. So responding to Jason's earlier comment we do need return PASID (although no conversion is required) to userspace in this case. 😊 Thanks Kevin