diff --git a/src/dev/riscv/plic.cc b/src/dev/riscv/plic.cc index b8f765a17c..371af9e78a 100644 --- a/src/dev/riscv/plic.cc +++ b/src/dev/riscv/plic.cc @@ -203,7 +203,7 @@ Plic::PlicRegisters::init() - plic->nSrc32 * 4; reserved.emplace_back("reserved1", reserve1_size); const size_t reserve2_size = thresholdStart - enableStart - - plic->nSrc32 * plic->nContext * enablePadding; + - plic->nContext * enablePadding; reserved.emplace_back("reserved2", reserve2_size); const size_t reserve3_size = plic->pioSize - thresholdStart - plic->nContext * thresholdPadding; @@ -333,6 +333,8 @@ void Plic::writeThreshold(Register32& reg, const uint32_t& data, const int context_id) { + reg.update(data); + DPRINTF(Plic, "Threshold updated - context: %d, val: %d\n", context_id, reg.get());