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

Reply via email to