diff options
author | Mark Zhuang <mark.zhuang@spacemit.com> | 2023-04-03 23:40:14 +0800 |
---|---|---|
committer | Mark Zhuang <mark.zhuang@spacemit.com> | 2023-04-03 23:53:14 +0800 |
commit | e284aa066e8ce11bc3a2d1f5fcdf5fd6c1f8d2f4 (patch) | |
tree | 95318f1987c398d4b03a38c7d2239182cc0cc0bf /src | |
parent | 78231cda38b6e01e87ba69d9878a9a7d56dd0c14 (diff) | |
download | riscv-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>
Diffstat (limited to 'src')
-rw-r--r-- | src/target/riscv/riscv.c | 14 |
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; |