mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
pci: Add a memory attribute for pre-translated DMA operations
The address_type bit will be set to PCI_AT_TRANSLATED by devices that use cached addresses obtained via ATS. Signed-off-by: Clement Mathieu--Drif <clement.mathieu--drif@eviden.com> Message-Id: <20250628180226.133285-2-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
committed by
Michael S. Tsirkin
parent
4bf06bcf07
commit
06895f7948
@@ -54,6 +54,9 @@ typedef struct MemTxAttrs {
|
||||
*/
|
||||
unsigned int pid:8;
|
||||
|
||||
/* PCI - IOMMU operations, see PCIAddressType */
|
||||
unsigned int address_type:1;
|
||||
|
||||
/*
|
||||
* Bus masters which don't specify any attributes will get this
|
||||
* (via the MEMTXATTRS_UNSPECIFIED constant), so that we can
|
||||
|
||||
@@ -134,6 +134,15 @@ struct PCIHostDeviceAddress {
|
||||
unsigned int function;
|
||||
};
|
||||
|
||||
/*
|
||||
* Represents the Address Type (AT) field in a PCI request,
|
||||
* see MemTxAttrs.address_type
|
||||
*/
|
||||
typedef enum PCIAddressType {
|
||||
PCI_AT_UNTRANSLATED = 0, /* Default when no attribute is set */
|
||||
PCI_AT_TRANSLATED = 1,
|
||||
} PCIAddressType;
|
||||
|
||||
typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,
|
||||
uint32_t address, uint32_t data, int len);
|
||||
typedef uint32_t PCIConfigReadFunc(PCIDevice *pci_dev,
|
||||
|
||||
Reference in New Issue
Block a user