]> www.infradead.org Git - users/dwmw2/linux.git/commit
iommu/riscv: Paging domain support
authorTomasz Jeznach <tjeznach@rivosinc.com>
Wed, 16 Oct 2024 06:52:19 +0000 (23:52 -0700)
committerJoerg Roedel <jroedel@suse.de>
Tue, 29 Oct 2024 08:46:30 +0000 (09:46 +0100)
commit488ffbf181718b9ad8c1838cb249d60973e78eda
tree406defb95448e3878cfa6c5780fd4881987944b0
parent856c0cfe5c5f6a2cc8d995872eb67bff9c68c57c
iommu/riscv: Paging domain support

Introduce first-stage address translation support.

Page table configured by the IOMMU driver will use the highest mode
implemented by the hardware, unless not known at the domain allocation
time falling back to the CPU’s MMU page mode.

This change introduces IOTINVAL.VMA command, required to invalidate
any cached IOATC entries after mapping is updated and/or removed from
the paging domain.  Invalidations for the non-leaf page entries use
IOTINVAL for all addresses assigned to the protection domain for
hardware not supporting more granular non-leaf page table cache
invalidations.

Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Signed-off-by: Tomasz Jeznach <tjeznach@rivosinc.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Link: https://lore.kernel.org/r/1109202d389f51c7121cb1460eb2f21429b9bd5d.1729059707.git.tjeznach@rivosinc.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/riscv/iommu.c