X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=riscv%2Finsns%2Fcsrrw.h;h=e45420b570bc52c8bd53e2aaaf893eb6db3b3607;hb=4299874ad4b07ef457776513a64e5b2397a6a75e;hp=4b16773d6cbc02dce6c20756412b322f4c983157;hpb=e85cb99c5e042ebce78f64213677a48ee7ba0491;p=riscv-isa-sim.git diff --git a/riscv/insns/csrrw.h b/riscv/insns/csrrw.h index 4b16773..e45420b 100644 --- a/riscv/insns/csrrw.h +++ b/riscv/insns/csrrw.h @@ -1,2 +1,5 @@ int csr = validate_csr(insn.csr(), true); -WRITE_RD(p->set_pcr(csr, RS1)); +reg_t old = p->get_csr(csr); +p->set_csr(csr, RS1); +WRITE_RD(sext_xlen(old)); +serialize();