gem5 v24.0.0.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 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 | 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< 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 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 99 of file clint.cc.
References gem5::RegisterBank< ByteOrder::little >::addRegister(), clint, gem5::ArmISA::i, maxBankSize, msip, mtime, mtimecmp, 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 110 of file clint.hh.
Referenced by init(), 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 |