Hi all,
This series of patches intends to update RISC-V Pointer Masking implementation
to the latest Zjpm v0.6.1 version.
The Pointer Masking functionality is simplified compared to previous version
of spec.
The changes have been tested with handwritten assembly tests and LLVM HWASAN
test suite.
Thanks
Alexey Baturo (8):
target/riscv: Remove obsolete pointer masking extension code
target/riscv: Add new S{sn,mn,m}jpm extensions as part of Zjpm v0.6.1
target/riscv: Add new bits in CSRs for Zjpm 0.6.1
Add enum with maximum ignored bits depending on privilege level for
Zjpm v0.6.1
target/riscv: Add pointer masking tb flags
target/riscv: Add functions to calculate current N masked bits for
pointer masking
target/riscv: Update address modify functions to take into account
pointer masking
target/riscv: enable updates for pointer masking variables and thus
enable pointer masking extension
target/riscv/cpu.c | 18 +-
target/riscv/cpu.h | 35 ++--
target/riscv/cpu_bits.h | 88 +--------
target/riscv/cpu_cfg.h | 3 +
target/riscv/cpu_helper.c | 99 ++++++-----
target/riscv/csr.c | 336 ++---------------------------------
target/riscv/machine.c | 14 +-
target/riscv/pmp.c | 6 +
target/riscv/pmp.h | 12 +-
target/riscv/translate.c | 50 +++---
target/riscv/vector_helper.c | 9 +-
11 files changed, 152 insertions(+), 518 deletions(-)
--
2.34.1