This is an automated email from Gerrit. "Anatoly P <[email protected]>" just uploaded a new patch set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/9416
-- gerrit commit 670f1185d7b36f4e5eec3c884f2f327ada7ffa9a Author: Parshintsev Anatoly <[email protected]> Date: Thu Jan 29 21:34:27 2026 +0300 target/riscv: do not cache access to vtype Writes to the vtype register are expected to have the side effect of resetting vl and vstart. However, the current implementation caches the vtype state on read, which prevents subsequent writes with already-cached values from being issued. Change-Id: I28beea6e2145bca52c5b37023399d6ae0937dfe0 Signed-off-by: Anatoly Parshintsev <[email protected]> diff --git a/src/target/riscv/riscv_reg_impl.h b/src/target/riscv/riscv_reg_impl.h index 227e525be3..a6b2cafddc 100644 --- a/src/target/riscv/riscv_reg_impl.h +++ b/src/target/riscv/riscv_reg_impl.h @@ -198,7 +198,6 @@ static inline bool riscv_reg_impl_gdb_regno_cacheable(enum gdb_regno regno, case GDB_REGNO_VXSAT: case GDB_REGNO_VXRM: case GDB_REGNO_VLENB: - case GDB_REGNO_VTYPE: case GDB_REGNO_MISA: case GDB_REGNO_DCSR: case GDB_REGNO_DSCRATCH0: @@ -215,6 +214,7 @@ static inline bool riscv_reg_impl_gdb_regno_cacheable(enum gdb_regno regno, case GDB_REGNO_TDATA2: /* Changes value when tselect is changed. */ case GDB_REGNO_VSTART: /* Changes value when vtype is changed. */ case GDB_REGNO_VL: /* Changes value when vtype is changed. */ + case GDB_REGNO_VTYPE: /* Writes to vtype have side effects, so we don't cache it. */ default: return false; } --
