Hi, Jason
On Tue, 27 Aug 2024 at 23:51, Jason Gunthorpe [off-list ref] wrote:
This brings support for the IOMMFD ioctls:
- IOMMU_GET_HW_INFO
- IOMMU_HWPT_ALLOC_NEST_PARENT
- IOMMU_DOMAIN_NESTED
- ops->enforce_cache_coherency()
This is quite straightforward as the nested STE can just be built in the
special NESTED domain op and fed through the generic update machinery.
The design allows the user provided STE fragment to control several
aspects of the translation, including putting the STE into a "virtual
bypass" or a aborting state. This duplicates functionality available by
other means, but it allows trivially preserving the VMID in the STE as we
eventually move towards the VIOMMU owning the VMID.
Nesting support requires the system to either support S2FWB or the
stronger CANWBS ACPI flag. This is to ensure the VM cannot bypass the
cache and view incoherent data, currently VFIO lacks any cache flushing
that would make this safe.
What if the system does not support S2FWB or CANWBS, any workaround to
passthrough?
Currently I am testing nesting by ignoring this check.
Thanks