On 10/22/26 11:16, Peter Maydell wrote:
On Thu, 22 Oct 2026 at 08:52, <[email protected]> wrote:

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

UndefinedBehaviorSanitizer reports an undefined behavior due to shifts
larger than type in the handling of the pmp configuration registers for the
x-rv128 cpu.
Adding an "i128" version for the functions accessing the pmpcfg registers
to properly handle the 128-bit case.

Reported-by: Peter Maydell <[email protected]>
Signed-off-by: Frédéric Pétrot <[email protected]>

+Int128 pmpcfg_csr_read_i128(CPURISCVState *env, uint32_t reg_index)
+{
+    int i;
+    Int128 cfg_val = 0;

I think you need "= int128_zero();" here, to avoid a compile
failure when Int128 is the struct type rather than the compiler's
native int128 type.
Yep.  You can test this with --enable-tcg-interpreter.


r~

Reply via email to