gem5 v24.0.0.0
|
MMIO Registers. More...
Public Member Functions | |
PlicRegisters (const std::string &name, Addr base, Plic *plic) | |
void | init () |
Public Member Functions inherited from gem5::RegisterBank< ByteOrder::little > | |
void | setDebugFlag (const ::gem5::debug::SimpleFlag &flag) |
constexpr | RegisterBank (const std::string &new_name, Addr new_base) |
virtual | ~RegisterBank () |
void | addRegisters (std::initializer_list< RegisterAdder > adders) |
void | addRegistersAt (std::initializer_list< RegisterAdder > adders) |
void | addRegister (RegisterAdder reg) |
Addr | base () const |
Addr | size () const |
const std::string & | name () const |
virtual void | read (Addr addr, void *buf, Addr bytes) |
virtual void | write (Addr addr, const void *buf, Addr bytes) |
virtual void | reset () |
Public Attributes | |
const Addr | pendingStart = 0x1000 |
const Addr | enableStart = 0x2000 |
const Addr | thresholdStart = 0x0200000 |
const Addr | enablePadding = 0x80 |
const Addr | thresholdPadding = 0x1000 |
const Addr | maxBankSize = 0x4000000 |
std::vector< Register32 > | priority |
std::vector< Register32 > | pending |
std::vector< std::vector< Register32 > > | enable |
std::vector< Register32 > | threshold |
std::vector< Register32 > | claim |
std::vector< RegisterRaz > | enable_holes |
std::vector< RegisterRaz > | claim_holes |
std::vector< RegisterRaz > | reserved |
Plic * | plic |
Additional Inherited Members | |
Public Types inherited from gem5::RegisterBank< ByteOrder::little > | |
using | Register8 |
using | Register8LE |
using | Register8BE |
using | Register16 |
using | Register16LE |
using | Register16BE |
using | Register32 |
using | Register32LE |
using | Register32BE |
using | Register64 |
using | Register64LE |
using | Register64BE |
Static Public Member Functions inherited from gem5::RegisterBank< ByteOrder::little > | |
static constexpr Data | readWithMask (const Data &value, const Data &bitmask) |
static constexpr Data | writeWithMask (const Data &old, const Data &value, const Data &bitmask) |
MMIO Registers.
Priority (0-7):
... reserved[0]
Pending:
... reserved[1]
Enable:
Threshold:
Claim / Complete:
... reserved[3]
void gem5::Plic::PlicRegisters::init | ( | ) |
Definition at line 204 of file plic.cc.
References gem5::RegisterBank< ByteOrder::little >::addRegister(), claim, claim_holes, gem5::Plic::contextConfigs, enable, enable_holes, enablePadding, enableStart, gem5::ArmISA::i, maxBankSize, gem5::Plic::nSrc, gem5::Plic::nSrc32, pending, pendingStart, gem5::BasicPioDevice::pioSize, plic, priority, gem5::Plic::readClaim(), reserved, threshold, thresholdPadding, thresholdStart, gem5::Plic::writeClaim(), gem5::Plic::writeEnable(), gem5::Plic::writePriority(), and gem5::Plic::writeThreshold().
Referenced by gem5::Plic::init().
std::vector<Register32> gem5::Plic::PlicRegisters::claim |
Definition at line 212 of file plic.hh.
Referenced by init(), gem5::Plic::serialize(), and gem5::Plic::unserialize().
std::vector<RegisterRaz> gem5::Plic::PlicRegisters::claim_holes |
std::vector<std::vector<Register32> > gem5::Plic::PlicRegisters::enable |
Definition at line 210 of file plic.hh.
Referenced by init(), gem5::Plic::post(), gem5::Plic::serialize(), gem5::Plic::unserialize(), and gem5::Plic::writePriority().
std::vector<RegisterRaz> gem5::Plic::PlicRegisters::enable_holes |
const Addr gem5::Plic::PlicRegisters::enablePadding = 0x80 |
const Addr gem5::Plic::PlicRegisters::enableStart = 0x2000 |
const Addr gem5::Plic::PlicRegisters::maxBankSize = 0x4000000 |
std::vector<Register32> gem5::Plic::PlicRegisters::pending |
Definition at line 209 of file plic.hh.
Referenced by gem5::Plic::clear(), init(), gem5::Plic::post(), gem5::Plic::readClaim(), gem5::Plic::serialize(), gem5::Plic::unserialize(), and gem5::Plic::writePriority().
const Addr gem5::Plic::PlicRegisters::pendingStart = 0x1000 |
std::vector<Register32> gem5::Plic::PlicRegisters::priority |
Definition at line 208 of file plic.hh.
Referenced by init(), gem5::Plic::post(), gem5::Plic::serialize(), and gem5::Plic::unserialize().
std::vector<RegisterRaz> gem5::Plic::PlicRegisters::reserved |
std::vector<Register32> gem5::Plic::PlicRegisters::threshold |
Definition at line 211 of file plic.hh.
Referenced by init(), gem5::Plic::serialize(), gem5::Plic::unserialize(), and gem5::Plic::updateInt().
const Addr gem5::Plic::PlicRegisters::thresholdPadding = 0x1000 |
const Addr gem5::Plic::PlicRegisters::thresholdStart = 0x0200000 |