Skip to content

Commit d94fe56

Browse files
authored
Merge pull request #1523 from YenHaoChen/patch-1
miselect: support miselect when enabling smcsrind
2 parents e46586e + bdfbd54 commit d94fe56

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

riscv/processor.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -535,14 +535,14 @@ void state_t::reset(processor_t* const proc, reg_t max_isa)
535535

536536

537537
// Smcsrind / Sscsrind
538-
csr_t_p miselect;
539-
csr_t_p siselect;
540-
csr_t_p vsiselect;
541538
sscsrind_reg_csr_t::sscsrind_reg_csr_t_p mireg[6];
542539
sscsrind_reg_csr_t::sscsrind_reg_csr_t_p sireg[6];
543540
sscsrind_reg_csr_t::sscsrind_reg_csr_t_p vsireg[6];
544541

545542
if (proc->extension_enabled_const(EXT_SMCSRIND)) {
543+
csr_t_p miselect = std::make_shared<basic_csr_t>(proc, CSR_MISELECT, 0);
544+
csrmap[CSR_MISELECT] = miselect;
545+
546546
const reg_t mireg_csrs[] = { CSR_MIREG, CSR_MIREG2, CSR_MIREG3, CSR_MIREG4, CSR_MIREG5, CSR_MIREG6 };
547547
auto i = 0;
548548
for (auto csr : mireg_csrs) {
@@ -552,9 +552,9 @@ void state_t::reset(processor_t* const proc, reg_t max_isa)
552552
}
553553

554554
if (proc->extension_enabled_const(EXT_SSCSRIND)) {
555-
vsiselect = std::make_shared<basic_csr_t>(proc, CSR_VSISELECT, 0);
555+
csr_t_p vsiselect = std::make_shared<basic_csr_t>(proc, CSR_VSISELECT, 0);
556556
csrmap[CSR_VSISELECT] = vsiselect;
557-
siselect = std::make_shared<basic_csr_t>(proc, CSR_SISELECT, 0);
557+
csr_t_p siselect = std::make_shared<basic_csr_t>(proc, CSR_SISELECT, 0);
558558
csrmap[CSR_SISELECT] = std::make_shared<virtualized_csr_t>(proc, siselect, vsiselect);
559559

560560
const reg_t vsireg_csrs[] = { CSR_VSIREG, CSR_VSIREG2, CSR_VSIREG3, CSR_VSIREG4, CSR_VSIREG5, CSR_VSIREG6 };

0 commit comments

Comments
 (0)