|
gem5 [DEVELOP-FOR-25.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 () |
| RegisterBank (RegisterBank &&)=default | |
| 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 () |
| void | setDebugFlag (const ::gem5::debug::SimpleFlag &flag) |
| constexpr | RegisterBank (const std::string &new_name, Addr new_base) |
| RegisterBank (RegisterBank &&)=default | |
| 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) |
| 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]
|
inline |
Definition at line 217 of file plic.hh.
References gem5::RegisterBank< ByteOrder::little >::base(), gem5::RegisterBank< ByteOrder::little >::name(), gem5::Plic::Plic(), and plic.
| void gem5::Plic::PlicRegisters::init | ( | ) |
Definition at line 204 of file plic.cc.
References gem5::RegisterBank< ByteOrder::little >::addRegister(), claim, claim_holes, enable, enable_holes, enablePadding, enableStart, gem5::ArmISA::i, maxBankSize, pending, pendingStart, plic, priority, gem5::Plic::readClaim(), reserved, threshold, thresholdPadding, thresholdStart, gem5::Plic::writeClaim(), gem5::Plic::writeEnable(), gem5::Plic::writePriority(), and gem5::Plic::writeThreshold().
| std::vector<Register32> gem5::Plic::PlicRegisters::claim |
| std::vector<RegisterRaz> gem5::Plic::PlicRegisters::claim_holes |
| std::vector<std::vector<Register32> > gem5::Plic::PlicRegisters::enable |
| 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 |
| const Addr gem5::Plic::PlicRegisters::pendingStart = 0x1000 |
| Plic* gem5::Plic::PlicRegisters::plic |
Definition at line 221 of file plic.hh.
Referenced by init(), and PlicRegisters().
| std::vector<Register32> gem5::Plic::PlicRegisters::priority |
| std::vector<RegisterRaz> gem5::Plic::PlicRegisters::reserved |
| std::vector<Register32> gem5::Plic::PlicRegisters::threshold |
| const Addr gem5::Plic::PlicRegisters::thresholdPadding = 0x1000 |
| const Addr gem5::Plic::PlicRegisters::thresholdStart = 0x0200000 |