From 633010487376543e0572ce2101bfe9c59dfa1579 Mon Sep 17 00:00:00 2001 From: vhaudiquet Date: Tue, 24 Oct 2023 00:22:33 +0200 Subject: [PATCH] CSR: SSTATUS=MSTATUS --- src/cpu/csr.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/cpu/csr.c b/src/cpu/csr.c index a08a111..e20b5d6 100644 --- a/src/cpu/csr.c +++ b/src/cpu/csr.c @@ -7,7 +7,8 @@ uint32_t csr_read(struct RV32_CPU* cpu, uint32_t csr) { case CSR_CYCLE: return cpu->sim_ticks_done; - break; + case CSR_SSTATUS: + return csr_read(cpu, CSR_MSTATUS); default: break; } @@ -17,5 +18,13 @@ uint32_t csr_read(struct RV32_CPU* cpu, uint32_t csr) void csr_write(struct RV32_CPU* cpu, uint32_t csr, uint32_t value) { + switch(csr) + { + case CSR_SSTATUS: + csr_write(cpu, CSR_MSTATUS, value); + return; + default: + break; + } cpu->csr[csr] = value; }