|
gem5
v21.0.1.0
|
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 RegisterBank< ByteOrder::little > | |
| 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 RegisterBank< ByteOrder::little > | |
| 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 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 0x0000 - 0x3FFF: msip (write-through to misc reg file) ...: reserved[0] 0x4000 - 0xBFF7: mtimecmp ...: reserved[1] 0xBFF8: mtime (read-only)
| void Clint::ClintRegisters::init | ( | ) |
Definition at line 87 of file clint.cc.
References RegisterBank< ByteOrder::little >::addRegister(), clint, ArmISA::i, maxBankSize, msip, mtime, mtimecmp, mtimecmpStart, mtimeStart, Clint::nThread, BasicPioDevice::pioSize, Clint::readMSIP(), reserved, sc_dt::to_string(), and Clint::writeMSIP().
Referenced by Clint::init().
| const Addr Clint::ClintRegisters::maxBankSize = 0xC000 |
| std::vector<Register32> Clint::ClintRegisters::msip |
Definition at line 110 of file clint.hh.
Referenced by init(), Clint::readMSIP(), Clint::serialize(), and Clint::unserialize().
| Register64 Clint::ClintRegisters::mtime = {"mtime", 0} |
Definition at line 112 of file clint.hh.
Referenced by init(), Clint::raiseInterruptPin(), Clint::serialize(), and Clint::unserialize().
| std::vector<Register64> Clint::ClintRegisters::mtimecmp |
Definition at line 111 of file clint.hh.
Referenced by init(), Clint::raiseInterruptPin(), Clint::serialize(), and Clint::unserialize().
| const Addr Clint::ClintRegisters::mtimecmpStart = 0x4000 |
| const Addr Clint::ClintRegisters::mtimeStart = 0xBFF8 |
| std::vector<RegisterRaz> Clint::ClintRegisters::reserved |