From: Tomasz Jeznach <tjezn...@rivosinc.com> Extend memory transaction attributes with process identifier to allow per-request address translation logic to use requester_id / process_id to identify memory mapping (e.g. enabling IOMMU w/ PASID translations).
Signed-off-by: Tomasz Jeznach <tjezn...@rivosinc.com> Reviewed-by: Frank Chang <frank.ch...@sifive.com> Reviewed-by: Jason Chien <jason.ch...@sifive.com> Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> --- include/exec/memattrs.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h index 14cdd8d582..e27c18f3dc 100644 --- a/include/exec/memattrs.h +++ b/include/exec/memattrs.h @@ -52,6 +52,11 @@ typedef struct MemTxAttrs { unsigned int memory:1; /* Requester ID (for MSI for example) */ unsigned int requester_id:16; + + /* + * PID (PCI PASID) support: Limited to 8 bits process identifier. + */ + unsigned int pid:8; } MemTxAttrs; /* Bus masters which don't specify any attributes will get this, -- 2.45.2