gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::PlicOutput Struct Reference

NOTE: This implementation of PLIC is based on he riscv-plic-spec repository: https://github.com/riscv/riscv-plic-spec/releases/tag/1.0.0. More...

#include <plic.hh>

Public Attributes

std::vector< uint32_t > maxID
 
std::vector< uint32_t > maxPriority
 

Detailed Description

NOTE: This implementation of PLIC is based on he riscv-plic-spec repository: https://github.com/riscv/riscv-plic-spec/releases/tag/1.0.0.

PLIC Latency Model MMIO changed (aside from threshold) => update internal states => calculate new output => schedule update (3 cycles delay) => update output & schedule next update => update xEIP lines

threshold changed => update xEIP lines

This ensures cycle-accurate values for MMIO accesses and xEIP lines

NOTE: check pending bit when returning maxID to avoid claiming by multiple contexts. Note that pending bits are not propagated through the 3-cycle delay.

TODO:

  • Enforce access control (e.g. avoid S mode writing to M mode registers)

Definition at line 91 of file plic.hh.

Member Data Documentation

◆ maxID

std::vector<uint32_t> gem5::PlicOutput::maxID

Definition at line 93 of file plic.hh.

◆ maxPriority

std::vector<uint32_t> gem5::PlicOutput::maxPriority

Definition at line 94 of file plic.hh.


The documentation for this struct was generated from the following file:

Generated on Mon May 26 2025 09:19:23 for gem5 by doxygen 1.13.2