target/riscv: vector CSRs are optional

This is a fix to a mistake made in
ea7e17491d.

The newly introduced `gdb_regno_exist()` function was missing a part
regarding vector CSRs.
Link: ea7e17491d (diff-b4aa16f9e42cb8f0934baa7c8e0ec9c70a369bef98b99b26ae2e896c8aa95d6aL6163-L6171)

Change-Id: I0361ea4dce8df5be748e2c6e7e6838029d3a7120
Signed-off-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
This commit is contained in:
Evgeniy Naydanov 2024-06-20 11:38:23 +03:00
parent 4b5668bdaa
commit 6ea577d3f5
1 changed files with 8 additions and 0 deletions

View File

@ -397,6 +397,14 @@ static bool gdb_regno_exist(const struct target *target, uint32_t regno)
case CSR_FRM: case CSR_FRM:
case CSR_FCSR: case CSR_FCSR:
return riscv_supports_extension(target, 'F'); return riscv_supports_extension(target, 'F');
case CSR_VSTART:
case CSR_VXSAT:
case CSR_VXRM:
case CSR_VL:
case CSR_VCSR:
case CSR_VTYPE:
case CSR_VLENB:
return vlenb_exists(target);
case CSR_SCOUNTEREN: case CSR_SCOUNTEREN:
case CSR_SSTATUS: case CSR_SSTATUS:
case CSR_STVEC: case CSR_STVEC: