gem5 v24.0.0.0
|
#include <DataBlock.hh>
Public Member Functions | |
DataBlock () | |
DataBlock (const DataBlock &cp) | |
~DataBlock () | |
DataBlock & | operator= (const DataBlock &obj) |
void | assign (uint8_t *data) |
void | clear () |
uint8_t | getByte (int whichByte) const |
const uint8_t * | getData (int offset, int len) const |
uint8_t * | popAtomicLogEntryFront () |
int | numAtomicLogEntries () const |
void | clearAtomicLogEntries () |
uint8_t * | getDataMod (int offset) |
void | setByte (int whichByte, uint8_t data) |
void | setData (const uint8_t *data, int offset, int len) |
void | setData (PacketPtr pkt) |
void | copyPartial (const DataBlock &dblk, int offset, int len) |
void | copyPartial (const DataBlock &dblk, const WriteMask &mask) |
void | atomicPartial (const DataBlock &dblk, const WriteMask &mask, bool isAtomicNoReturn=true) |
bool | equal (const DataBlock &obj) const |
void | print (std::ostream &out) const |
Private Member Functions | |
void | alloc () |
Private Attributes | |
uint8_t * | m_data |
bool | m_alloc |
std::deque< uint8_t * > | m_atomicLog |
Definition at line 61 of file DataBlock.hh.
|
inline |
Definition at line 64 of file DataBlock.hh.
References alloc().
gem5::ruby::DataBlock::DataBlock | ( | const DataBlock & | cp | ) |
Definition at line 52 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::i, m_alloc, m_atomicLog, and m_data.
|
inline |
Definition at line 71 of file DataBlock.hh.
References m_alloc, m_atomicLog, and m_data.
|
private |
Definition at line 70 of file DataBlock.cc.
References clear(), gem5::ruby::RubySystem::getBlockSizeBytes(), m_alloc, and m_data.
Referenced by DataBlock().
|
inline |
Definition at line 114 of file DataBlock.hh.
void gem5::ruby::DataBlock::atomicPartial | ( | const DataBlock & | dblk, |
const WriteMask & | mask, | ||
bool | isAtomicNoReturn = true ) |
Definition at line 113 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::i, m_atomicLog, m_data, and gem5::ArmISA::mask.
void gem5::ruby::DataBlock::clear | ( | ) |
Definition at line 78 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), and m_data.
Referenced by alloc(), and gem5::ruby::VIPERCoalescer::issueRequest().
void gem5::ruby::DataBlock::clearAtomicLogEntries | ( | ) |
Definition at line 148 of file DataBlock.cc.
References m_atomicLog.
Definition at line 103 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::i, m_data, and gem5::ArmISA::mask.
|
inline |
Definition at line 137 of file DataBlock.hh.
References gem5::ArmISA::len, m_data, gem5::ArmISA::offset, and setData().
bool gem5::ruby::DataBlock::equal | ( | const DataBlock & | obj | ) | const |
Definition at line 84 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::i, m_atomicLog, and m_data.
Referenced by gem5::ruby::operator==().
|
inline |
Definition at line 125 of file DataBlock.hh.
References m_data.
Referenced by gem5::ruby::SubBlock::internalMergeFrom(), gem5::ruby::testAndRead(), and gem5::ruby::testAndReadMask().
const uint8_t * gem5::ruby::DataBlock::getData | ( | int | offset, |
int | len ) const |
Definition at line 157 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::len, m_data, and gem5::ArmISA::offset.
Referenced by gem5::ruby::DMASequencer::atomicCallback(), gem5::ruby::DMASequencer::dataCallback(), gem5::ruby::RubyPrefetcherProxy::notifyPfFill(), gem5::ruby::RubyPrefetcherProxy::notifyPfHit(), and gem5::ruby::RubyPrefetcherProxy::notifyPfMiss().
uint8_t * gem5::ruby::DataBlock::getDataMod | ( | int | offset | ) |
Definition at line 164 of file DataBlock.cc.
References m_data, and gem5::ArmISA::offset.
int gem5::ruby::DataBlock::numAtomicLogEntries | ( | ) | const |
Definition at line 135 of file DataBlock.cc.
References m_atomicLog.
Definition at line 184 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::i, m_atomicLog, and m_data.
uint8_t * gem5::ruby::DataBlock::popAtomicLogEntryFront | ( | ) |
Definition at line 140 of file DataBlock.cc.
References m_atomicLog.
void gem5::ruby::DataBlock::print | ( | std::ostream & | out | ) | const |
Definition at line 123 of file DataBlock.cc.
References gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ArmISA::i, and m_data.
Referenced by gem5::ruby::operator<<().
|
inline |
Definition at line 131 of file DataBlock.hh.
Referenced by gem5::ruby::testAndWrite().
void gem5::ruby::DataBlock::setData | ( | const uint8_t * | data, |
int | offset, | ||
int | len ) |
Definition at line 170 of file DataBlock.cc.
References data, gem5::ArmISA::len, m_data, and gem5::ArmISA::offset.
Referenced by copyPartial(), and gem5::ruby::VIPERCoalescer::issueRequest().
void gem5::ruby::DataBlock::setData | ( | PacketPtr | pkt | ) |
Definition at line 176 of file DataBlock.cc.
References gem5::Packet::getAddr(), gem5::ruby::RubySystem::getBlockSizeBytes(), gem5::ruby::getOffset(), gem5::Packet::getSize(), m_data, gem5::ArmISA::offset, and gem5::Packet::writeData().
|
private |
Definition at line 107 of file DataBlock.hh.
Referenced by alloc(), assign(), DataBlock(), and ~DataBlock().
|
private |
Definition at line 110 of file DataBlock.hh.
Referenced by atomicPartial(), clearAtomicLogEntries(), DataBlock(), equal(), numAtomicLogEntries(), operator=(), popAtomicLogEntryFront(), and ~DataBlock().
|
private |
Definition at line 106 of file DataBlock.hh.
Referenced by alloc(), assign(), atomicPartial(), clear(), copyPartial(), copyPartial(), DataBlock(), equal(), getByte(), getData(), getDataMod(), operator=(), print(), setByte(), setData(), setData(), and ~DataBlock().