|
gem5
v21.2.1.1
|
MMIO Registers 0x0000 - 0x3FFF: msip (write-through to misc reg file) ...: reserved[0] 0x4000 - 0xBFF7: mtimecmp ...: reserved[1] 0xBFF8: mtime (read-only) More...
#include <clint.hh>
Public Member Functions | |
| ClintRegisters (const std::string &name, Addr base, Clint *clint) | |
| void | init () |
Public Member Functions inherited from gem5::RegisterBank< BankByteOrder > | |
| constexpr | RegisterBank (const std::string &new_name, Addr new_base) |
| virtual | ~RegisterBank () |
| void | addRegisters (std::initializer_list< std::reference_wrapper< RegisterBase >> regs) |
| void | addRegister (RegisterBase ®) |
| 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) |
Public Attributes | |
| const Addr | mtimecmpStart = 0x4000 |
| const Addr | mtimeStart = 0xBFF8 |
| const Addr | maxBankSize = 0xC000 |
| std::vector< Register32 > | msip |
| std::vector< Register64 > | mtimecmp |
| Register64 | mtime = {"mtime", 0} |
| std::vector< RegisterRaz > | reserved |
| Clint * | clint |
Additional Inherited Members | |
Public Types inherited from gem5::RegisterBank< BankByteOrder > | |
| using | Register8 = Register< uint8_t > |
| using | Register8LE = Register< uint8_t, ByteOrder::little > |
| using | Register8BE = Register< uint8_t, ByteOrder::big > |
| using | Register16 = Register< uint16_t > |
| using | Register16LE = Register< uint16_t, ByteOrder::little > |
| using | Register16BE = Register< uint16_t, ByteOrder::big > |
| using | Register32 = Register< uint32_t > |
| using | Register32LE = Register< uint32_t, ByteOrder::little > |
| using | Register32BE = Register< uint32_t, ByteOrder::big > |
| using | Register64 = Register< uint64_t > |
| using | Register64LE = Register< uint64_t, ByteOrder::little > |
| using | Register64BE = Register< uint64_t, ByteOrder::big > |
Static Public Member Functions inherited from gem5::RegisterBank< BankByteOrder > | |
| template<typename Data > | |
| static constexpr Data | readWithMask (const Data &value, const Data &bitmask) |
| template<typename Data > | |
| static constexpr Data | writeWithMask (const Data &old, const Data &value, const Data &bitmask) |
MMIO Registers 0x0000 - 0x3FFF: msip (write-through to misc reg file) ...: reserved[0] 0x4000 - 0xBFF7: mtimecmp ...: reserved[1] 0xBFF8: mtime (read-only)
| void gem5::Clint::ClintRegisters::init | ( | ) |
Definition at line 94 of file clint.cc.
References gem5::RegisterBank< BankByteOrder >::addRegister(), clint, gem5::ArmISA::i, maxBankSize, msip, mtime, mtimecmp, mtimecmpStart, mtimeStart, gem5::Clint::nThread, gem5::BasicPioDevice::pioSize, gem5::Clint::readMSIP(), gem5::RegisterBank< BankByteOrder >::Register< Data, RegByteOrder >::readonly(), reserved, sc_dt::to_string(), and gem5::Clint::writeMSIP().
Referenced by gem5::Clint::init().
| Clint* gem5::Clint::ClintRegisters::clint |
| const Addr gem5::Clint::ClintRegisters::maxBankSize = 0xC000 |
| std::vector<Register32> gem5::Clint::ClintRegisters::msip |
Definition at line 110 of file clint.hh.
Referenced by init(), gem5::Clint::readMSIP(), gem5::Clint::serialize(), and gem5::Clint::unserialize().
| Register64 gem5::Clint::ClintRegisters::mtime = {"mtime", 0} |
Definition at line 112 of file clint.hh.
Referenced by init(), gem5::Clint::raiseInterruptPin(), gem5::Clint::serialize(), and gem5::Clint::unserialize().
| std::vector<Register64> gem5::Clint::ClintRegisters::mtimecmp |
Definition at line 111 of file clint.hh.
Referenced by init(), gem5::Clint::raiseInterruptPin(), gem5::Clint::serialize(), and gem5::Clint::unserialize().
| const Addr gem5::Clint::ClintRegisters::mtimecmpStart = 0x4000 |
| const Addr gem5::Clint::ClintRegisters::mtimeStart = 0xBFF8 |
| std::vector<RegisterRaz> gem5::Clint::ClintRegisters::reserved |