[PATCH v2 0/2] Correct undefined behaviors in x-rv128

frederic.petrot@univ-grenoble-alpes.fr posted 2 patches 1 day, 9 hours ago
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(-)
[PATCH v2 0/2] Correct undefined behaviors in x-rv128
Posted by frederic.petrot@univ-grenoble-alpes.fr 1 day, 9 hours ago
From: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

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