aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Zhuang <mark.zhuang@spacemit.com>2023-04-03 23:40:14 +0800
committerMark Zhuang <mark.zhuang@spacemit.com>2023-04-03 23:53:14 +0800
commite284aa066e8ce11bc3a2d1f5fcdf5fd6c1f8d2f4 (patch)
tree95318f1987c398d4b03a38c7d2239182cc0cc0bf
parent78231cda38b6e01e87ba69d9878a9a7d56dd0c14 (diff)
downloadriscv-openocd-e284aa066e8ce11bc3a2d1f5fcdf5fd6c1f8d2f4.zip
riscv-openocd-e284aa066e8ce11bc3a2d1f5fcdf5fd6c1f8d2f4.tar.gz
riscv-openocd-e284aa066e8ce11bc3a2d1f5fcdf5fd6c1f8d2f4.tar.bz2
target/riscv: set some csr size to 32
Change-Id: I4703b7b8ad492b14dc8d188ebb8f645c568fd515 Signed-off-by: Mark Zhuang <mark.zhuang@spacemit.com>
-rw-r--r--src/target/riscv/riscv.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c
index 7d2f976..626b287 100644
--- a/src/target/riscv/riscv.c
+++ b/src/target/riscv/riscv.c
@@ -5352,18 +5352,27 @@ int riscv_init_registers(struct target *target)
}
switch (csr_number) {
+ case CSR_DCSR:
+ case CSR_MVENDORID:
+ case CSR_MCOUNTINHIBIT:
+ r->size = 32;
+ break;
+ case CSR_FCSR:
+ r->size = 32;
+ /* fall through */
case CSR_FFLAGS:
case CSR_FRM:
- case CSR_FCSR:
r->exist = riscv_supports_extension(target, 'F');
r->group = "float";
r->feature = &feature_fpu;
break;
+ case CSR_SCOUNTEREN:
+ r->size = 32;
+ /* fall through */
case CSR_SSTATUS:
case CSR_STVEC:
case CSR_SIP:
case CSR_SIE:
- case CSR_SCOUNTEREN:
case CSR_SSCRATCH:
case CSR_SEPC:
case CSR_SCAUSE:
@@ -5458,6 +5467,7 @@ int riscv_init_registers(struct target *target)
r->exist = (info->vlenb > 0);
break;
case CSR_MCOUNTEREN:
+ r->size = 32;
r->exist = riscv_supports_extension(target, 'U');
break;