From: Frédéric Pétrot <[email protected]>

Peter reported undefined behaviors in x-rv128 pmp configuration
registers accesses detected by the clang sanitizer.
This series introduces a 128-bit version of these accesses, and
corrects other out-of-bound shifts within the handling of interrupts
that were triggered afterwards.

Changes in v2:
- I messed up and directly assigned a 0 to an Int128, so v2 corrects
  that

Frédéric Pétrot (2):
  target/riscv: fix pmp sanitize error for x-rv128
  target/riscv: fix riscv_cpu_do_interrupt sanitize error for x-rv128

 target/riscv/cpu.h            |  2 ++
 target/riscv/tcg/cpu_helper.c | 14 ++++++--
 target/riscv/tcg/csr.c        | 66 ++++++++++++++++++++++++++---------
 target/riscv/tcg/csr.h        |  3 ++
 target/riscv/tcg/pmp.c        | 38 ++++++++++++++++++++
 5 files changed, 105 insertions(+), 18 deletions(-)

-- 
2.43.0


Reply via email to