From: Nicolin Chen nicolinc@nvidia.com Sent: Wednesday, February 15, 2023 3:15 PM
But things will be out of control, if user space continues mapping something onto domain1's iopt for idev2, even after it is attached covertly to domain2's iopt by the replace routine. I wonder how kernel should handle this and keep the consistency between IOMMUFD objects and iommu_group.
this is where I don't understand.
domain mapping just reflects what an address space has.
Take Qemu for example. w/o vIOMMU domain mappings is added/ removed according to the change in the GPA address space.
w/ vIOMMU then it is synced with guest page table.
why would userspace construct mappings for a specific device?
when device is moved from one domain to another domain, it just bears with whatever the new domain allows it to access.