diff options
author | Weiwei Li <liweiwei@iscas.ac.cn> | 2022-08-03 10:32:51 +0800 |
---|---|---|
committer | Weiwei Li <liweiwei@iscas.ac.cn> | 2022-08-03 10:32:51 +0800 |
commit | eb2cce0c99075f89e77b0c1db92108f9c49ccab0 (patch) | |
tree | ce9bb2b5919e70318643ca3c1d20fd2ffbeff306 /riscv/processor.cc | |
parent | 14cb6b2a6244e3a1511c4c169676a6e2bd6785ed (diff) | |
download | spike-eb2cce0c99075f89e77b0c1db92108f9c49ccab0.zip spike-eb2cce0c99075f89e77b0c1db92108f9c49ccab0.tar.gz spike-eb2cce0c99075f89e77b0c1db92108f9c49ccab0.tar.bz2 |
add stateen related check to frm/fflags and then apply to fcsr implicitly
Diffstat (limited to 'riscv/processor.cc')
-rw-r--r-- | riscv/processor.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/riscv/processor.cc b/riscv/processor.cc index 6d0d349..ddb0344 100644 --- a/riscv/processor.cc +++ b/riscv/processor.cc @@ -393,7 +393,7 @@ void state_t::reset(processor_t* const proc, reg_t max_isa) csrmap[CSR_FFLAGS] = fflags = std::make_shared<float_csr_t>(proc, CSR_FFLAGS, FSR_AEXC >> FSR_AEXC_SHIFT, 0); csrmap[CSR_FRM] = frm = std::make_shared<float_csr_t>(proc, CSR_FRM, FSR_RD >> FSR_RD_SHIFT, 0); assert(FSR_AEXC_SHIFT == 0); // composite_csr_t assumes fflags begins at bit 0 - csrmap[CSR_FCSR] = std::make_shared<fcsr_csr_t>(proc, CSR_FCSR, frm, fflags, FSR_RD_SHIFT); + csrmap[CSR_FCSR] = std::make_shared<composite_csr_t>(proc, CSR_FCSR, frm, fflags, FSR_RD_SHIFT); csrmap[CSR_SEED] = std::make_shared<seed_csr_t>(proc, CSR_SEED); |