mbox series

[RFC,v1,0/8] RISC-V Pointer Masking update to Zjpm v0.6.1

Message ID 20230908182640.1102270-1-baturo.alexey@gmail.com (mailing list archive)
Headers show
Series RISC-V Pointer Masking update to Zjpm v0.6.1 | expand

Message

Alexey Baturo Sept. 8, 2023, 6:26 p.m. UTC
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(-)