This short series adds the 'address type' bit (concept from PCIe) to the memory attributes and extends the IOMMUAccessFlags enum. This will be required to implement ATS support for the virtual IOMMUs.
Address type: Field present in the PCIe R/W requests, it allows devices to tell the IOMMU if the address provided in the request is physical or not. In other words, it allows the devices to use a physical address obtained via ATS and to prevent the IOMMU from trying to remap it on the fly. Additional IOMMU access flags: - Execute Requested - Privileged Mode Requested - Global - Untranslated Only (cannot be used with 'Address type = translated') Clement Mathieu--Drif (2): pci: Add a memory attribute for pre-translated DMA operations memory: Add permissions in IOMMUAccessFlags include/exec/memattrs.h | 3 +++ include/hw/pci/pci.h | 9 +++++++++ include/system/memory.h | 23 +++++++++++++++++++++-- 3 files changed, 33 insertions(+), 2 deletions(-) -- 2.49.0