aboutsummaryrefslogtreecommitdiff
path: root/riscv/processor.cc
diff options
context:
space:
mode:
authorWeiwei Li <liweiwei@iscas.ac.cn>2022-07-06 10:51:36 +0800
committerWeiwei Li <liweiwei@iscas.ac.cn>2022-07-09 08:56:02 +0800
commit11dacaedc4b55ac1d79f1152a549ab9bfb170d2d (patch)
tree2da383d3d6ec7f37443ddff8f56e4a926eb5b6d7 /riscv/processor.cc
parent2bf74857f0f7f3a63e029d7c7ecaf3d4523a846e (diff)
downloadspike-11dacaedc4b55ac1d79f1152a549ab9bfb170d2d.zip
spike-11dacaedc4b55ac1d79f1152a549ab9bfb170d2d.tar.gz
spike-11dacaedc4b55ac1d79f1152a549ab9bfb170d2d.tar.bz2
add standalone class for fcsr and senvcfg csr
Diffstat (limited to 'riscv/processor.cc')
-rw-r--r--riscv/processor.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/riscv/processor.cc b/riscv/processor.cc
index 1c33911..5973baf 100644
--- a/riscv/processor.cc
+++ b/riscv/processor.cc
@@ -375,7 +375,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<composite_csr_t>(proc, CSR_FCSR, frm, fflags, FSR_RD_SHIFT);
+ csrmap[CSR_FCSR] = std::make_shared<fcsr_csr_t>(proc, CSR_FCSR, frm, fflags, FSR_RD_SHIFT);
csrmap[CSR_SEED] = std::make_shared<seed_csr_t>(proc, CSR_SEED);
@@ -390,7 +390,7 @@ void state_t::reset(processor_t* const proc, reg_t max_isa)
csrmap[CSR_MENVCFG] = menvcfg = std::make_shared<masked_csr_t>(proc, CSR_MENVCFG, menvcfg_mask, menvcfg_init);
const reg_t senvcfg_mask = (proc->extension_enabled(EXT_ZICBOM) ? SENVCFG_CBCFE | SENVCFG_CBIE : 0) |
(proc->extension_enabled(EXT_ZICBOZ) ? SENVCFG_CBZE : 0);
- csrmap[CSR_SENVCFG] = senvcfg = std::make_shared<masked_csr_t>(proc, CSR_SENVCFG, senvcfg_mask, 0);
+ csrmap[CSR_SENVCFG] = senvcfg = std::make_shared<senvcfg_csr_t>(proc, CSR_SENVCFG, senvcfg_mask, 0);
const reg_t henvcfg_mask = (proc->extension_enabled(EXT_ZICBOM) ? HENVCFG_CBCFE | HENVCFG_CBIE : 0) |
(proc->extension_enabled(EXT_ZICBOZ) ? HENVCFG_CBZE : 0) |
(proc->extension_enabled(EXT_SVPBMT) ? HENVCFG_PBMTE : 0);