From 94d21c99f81d28b3b28594a390c8370d4d52d583 Mon Sep 17 00:00:00 2001 From: Chih-Min Chao Date: Wed, 24 Jul 2024 18:45:26 -0700 Subject: [PATCH] svpbmt: don't reset [mh]envcfg.pbmt to 1 The part is introducd by ea70a93 to keep backward compatiable but the behavior is not mentioned and defined in spec. The patch remove this initialization part of pbmt in [mh]envcfg Signed-off-by: Chih-Min Chao --- riscv/processor.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/riscv/processor.cc b/riscv/processor.cc index 4471fb88..75eae5f0 100644 --- a/riscv/processor.cc +++ b/riscv/processor.cc @@ -391,8 +391,7 @@ void state_t::reset(processor_t* const proc, reg_t max_isa) (proc->extension_enabled(EXT_ZICFILP) ? MENVCFG_LPE : 0) | (proc->extension_enabled(EXT_ZICFISS) ? MENVCFG_SSE : 0) | (proc->extension_enabled(EXT_SSDBLTRP) ? MENVCFG_DTE : 0); - const reg_t menvcfg_init = (proc->extension_enabled(EXT_SVPBMT) ? MENVCFG_PBMTE : 0); - menvcfg = std::make_shared(proc, CSR_MENVCFG, menvcfg_mask, menvcfg_init); + menvcfg = std::make_shared(proc, CSR_MENVCFG, menvcfg_mask, 0); if (xlen == 32) { csrmap[CSR_MENVCFG] = std::make_shared(proc, CSR_MENVCFG, menvcfg); csrmap[CSR_MENVCFGH] = std::make_shared(proc, CSR_MENVCFGH, menvcfg); @@ -414,8 +413,7 @@ void state_t::reset(processor_t* const proc, reg_t max_isa) (proc->extension_enabled(EXT_ZICFILP) ? HENVCFG_LPE : 0) | (proc->extension_enabled(EXT_ZICFISS) ? HENVCFG_SSE : 0) | (proc->extension_enabled(EXT_SSDBLTRP) ? HENVCFG_DTE : 0); - const reg_t henvcfg_init = (proc->extension_enabled(EXT_SVPBMT) ? HENVCFG_PBMTE : 0); - henvcfg = std::make_shared(proc, CSR_HENVCFG, henvcfg_mask, henvcfg_init, menvcfg); + henvcfg = std::make_shared(proc, CSR_HENVCFG, henvcfg_mask, 0, menvcfg); if (xlen == 32) { csrmap[CSR_HENVCFG] = std::make_shared(proc, CSR_HENVCFG, henvcfg); csrmap[CSR_HENVCFGH] = std::make_shared(proc, CSR_HENVCFGH, henvcfg);