gem5 v24.1.0.1
|
#include <TimerTable.hh>
Public Member Functions | |
TimerTable () | |
void | setBlockSize (int block_size) |
void | setConsumer (Consumer *consumer_ptr) |
void | setDescription (const std::string &name) |
bool | isReady (Tick curTime) const |
Addr | nextAddress () const |
bool | isSet (Addr address) const |
void | set (Addr address, Tick ready_time) |
void | unset (Addr address) |
void | print (std::ostream &out) const |
Private Types | |
typedef std::map< Addr, Tick > | AddressMap |
Private Member Functions | |
void | updateNext () const |
TimerTable (const TimerTable &obj) | |
TimerTable & | operator= (const TimerTable &obj) |
Private Attributes | |
AddressMap | m_map |
bool | m_next_valid |
Tick | m_next_time |
Addr | m_next_address |
Consumer * | m_consumer_ptr |
Consumer to signal a wakeup() | |
int | m_block_size_bits = 0 |
std::string | m_name |
Definition at line 46 of file TimerTable.hh.
|
private |
Definition at line 88 of file TimerTable.hh.
gem5::ruby::TimerTable::TimerTable | ( | ) |
Definition at line 39 of file TimerTable.cc.
References m_consumer_ptr, m_next_address, and m_next_valid.
|
private |
bool gem5::ruby::TimerTable::isReady | ( | Tick | curTime | ) | const |
Definition at line 48 of file TimerTable.cc.
References m_map, m_next_time, m_next_valid, and updateNext().
|
inline |
Definition at line 72 of file TimerTable.hh.
References m_map.
Addr gem5::ruby::TimerTable::nextAddress | ( | ) | const |
Definition at line 61 of file TimerTable.cc.
References m_next_address, m_next_valid, and updateNext().
|
private |
void gem5::ruby::TimerTable::print | ( | std::ostream & | out | ) | const |
Definition at line 101 of file TimerTable.cc.
Referenced by gem5::ruby::operator<<().
Definition at line 71 of file TimerTable.cc.
References m_block_size_bits, m_consumer_ptr, m_map, m_next_time, m_next_valid, gem5::ruby::makeLineAddress(), and gem5::ruby::Consumer::scheduleEventAbsolute().
|
inline |
Definition at line 52 of file TimerTable.hh.
References gem5::floorLog2(), and m_block_size_bits.
|
inline |
Definition at line 58 of file TimerTable.hh.
References m_consumer_ptr.
|
inline |
Definition at line 65 of file TimerTable.hh.
void gem5::ruby::TimerTable::unset | ( | Addr | address | ) |
Definition at line 88 of file TimerTable.cc.
References m_block_size_bits, m_map, m_next_address, m_next_valid, and gem5::ruby::makeLineAddress().
|
private |
Definition at line 106 of file TimerTable.cc.
References gem5::ArmISA::i, m_map, m_next_address, m_next_time, and m_next_valid.
Referenced by isReady(), and nextAddress().
|
private |
Definition at line 97 of file TimerTable.hh.
Referenced by set(), setBlockSize(), and unset().
|
private |
Consumer to signal a wakeup()
Definition at line 95 of file TimerTable.hh.
Referenced by set(), setConsumer(), and TimerTable().
|
private |
Definition at line 89 of file TimerTable.hh.
Referenced by isReady(), isSet(), set(), unset(), and updateNext().
|
private |
Definition at line 99 of file TimerTable.hh.
Referenced by setDescription().
|
mutableprivate |
Definition at line 92 of file TimerTable.hh.
Referenced by nextAddress(), TimerTable(), unset(), and updateNext().
|
mutableprivate |
Definition at line 91 of file TimerTable.hh.
Referenced by isReady(), set(), and updateNext().
|
mutableprivate |
Definition at line 90 of file TimerTable.hh.
Referenced by isReady(), nextAddress(), set(), TimerTable(), unset(), and updateNext().