gem5 v24.1.0.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, uint64_t mtimecmp_reset_value) | |
void | init () |
![]() | |
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 | 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 |
uint64_t | mtimecmpResetValue |
Additional Inherited Members | |
![]() | |
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 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 gem5::Clint::ClintRegisters::init | ( | ) |
Definition at line 109 of file clint.cc.
References gem5::RegisterBank< ByteOrder::little >::addRegister(), clint, gem5::ArmISA::i, maxBankSize, msip, mtime, mtimecmp, mtimecmpResetValue, mtimecmpStart, mtimeStart, gem5::Clint::nThread, gem5::BasicPioDevice::pioSize, gem5::Clint::readMSIP(), reserved, 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 119 of file clint.hh.
Referenced by gem5::Clint::doReset(), init(), gem5::Clint::serialize(), and gem5::Clint::unserialize().
Register64 gem5::Clint::ClintRegisters::mtime = {"mtime", 0} |
Definition at line 121 of file clint.hh.
Referenced by gem5::Clint::doReset(), init(), gem5::Clint::raiseInterruptPin(), gem5::Clint::serialize(), and gem5::Clint::unserialize().
std::vector<Register64> gem5::Clint::ClintRegisters::mtimecmp |
Definition at line 120 of file clint.hh.
Referenced by gem5::Clint::doReset(), init(), gem5::Clint::raiseInterruptPin(), gem5::Clint::serialize(), and gem5::Clint::unserialize().
uint64_t gem5::Clint::ClintRegisters::mtimecmpResetValue |
const Addr gem5::Clint::ClintRegisters::mtimecmpStart = 0x4000 |
const Addr gem5::Clint::ClintRegisters::mtimeStart = 0xBFF8 |
std::vector<RegisterRaz> gem5::Clint::ClintRegisters::reserved |