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;
        }

-- 

Reply via email to