hw/riscv/riscv-iommu: add Address Translation Cache (IOATC)
authorTomasz Jeznach <tjeznach@rivosinc.com>
Wed, 16 Oct 2024 20:40:32 +0000 (17:40 -0300)
committerAlistair Francis <alistair.francis@wdc.com>
Thu, 31 Oct 2024 03:51:24 +0000 (13:51 +1000)
commit9d085a1c3cb2b6a1ee77d5f6e0ca20241208acd8
treef6a40364b11a1526238dedced3eb6b467bee8a2c
parent40b44316d817b021df2db9c3a24b75ce89ce69c2
hw/riscv/riscv-iommu: add Address Translation Cache (IOATC)

The RISC-V IOMMU spec predicts that the IOMMU can use translation caches
to hold entries from the DDT. This includes implementation for all cache
commands that are marked as 'not implemented'.

There are some artifacts included in the cache that predicts s-stage and
g-stage elements, although we don't support it yet. We'll introduce them
next.

Signed-off-by: Tomasz Jeznach <tjeznach@rivosinc.com>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20241016204038.649340-9-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
hw/riscv/riscv-iommu.c
hw/riscv/riscv-iommu.h