diff options
author | Tomasz Jeznach <tjeznach@rivosinc.com> | 2024-10-16 17:40:25 -0300 |
---|---|---|
committer | Alistair Francis <alistair.francis@wdc.com> | 2024-10-31 13:51:24 +1000 |
commit | c6f3443af1bb61f25126861f33ede06b56c0ee85 (patch) | |
tree | 6d573acf29d08e6679f23581d584929ea0a51ee9 | |
parent | a6a47319dd9df50c1b72ed775ec58c7451877d4b (diff) | |
download | qemu-c6f3443af1bb61f25126861f33ede06b56c0ee85.zip qemu-c6f3443af1bb61f25126861f33ede06b56c0ee85.tar.gz qemu-c6f3443af1bb61f25126861f33ede06b56c0ee85.tar.bz2 |
exec/memtxattr: add process identifier to the transaction attributes
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 <tjeznach@rivosinc.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Jason Chien <jason.chien@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20241016204038.649340-2-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-rw-r--r-- | include/exec/memattrs.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h index 14cdd8d..e27c18f 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, |