|
gem5 [DEVELOP-FOR-25.0]
|
#include <DataBlock.hh>
Public Member Functions | |
| DataBlock ()=default | |
| DataBlock (int blk_size) | |
| 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 |
| int | getBlockSize () const |
| void | setBlockSize (int block_size) |
| bool | isAlloc () const |
| void | realloc (int blk_size) |
Private Member Functions | |
| void | alloc () |
Private Attributes | |
| uint8_t * | m_data = nullptr |
| bool | m_alloc = false |
| int | m_block_size = 0 |
| std::deque< uint8_t * > | m_atomicLog |
Definition at line 61 of file DataBlock.hh.
|
default |
Referenced by atomicPartial(), copyPartial(), copyPartial(), DataBlock(), equal(), and operator=().
|
inline |
Definition at line 68 of file DataBlock.hh.
References alloc(), m_alloc, and m_block_size.
| gem5::ruby::DataBlock::DataBlock | ( | const DataBlock & | cp | ) |
Definition at line 52 of file DataBlock.cc.
References DataBlock(), gem5::ArmISA::i, m_alloc, m_atomicLog, m_block_size, and m_data.
|
inline |
Definition at line 77 of file DataBlock.hh.
References m_alloc, m_atomicLog, and m_data.
|
private |
Definition at line 74 of file DataBlock.cc.
References clear(), m_alloc, m_block_size, and m_data.
Referenced by DataBlock(), operator=(), and realloc().
|
inline |
Definition at line 126 of file DataBlock.hh.
| void gem5::ruby::DataBlock::atomicPartial | ( | const DataBlock & | dblk, |
| const WriteMask & | mask, | ||
| bool | isAtomicNoReturn = true ) |
Definition at line 142 of file DataBlock.cc.
References DataBlock(), gem5::ArmISA::i, m_alloc, m_atomicLog, m_block_size, m_data, and gem5::ArmISA::mask.
| void gem5::ruby::DataBlock::clear | ( | ) |
Definition at line 101 of file DataBlock.cc.
References m_alloc, m_block_size, and m_data.
Referenced by alloc(), and gem5::ruby::VIPERCoalescer::issueRequest().
| void gem5::ruby::DataBlock::clearAtomicLogEntries | ( | ) |
Definition at line 181 of file DataBlock.cc.
References m_alloc, and m_atomicLog.
Definition at line 130 of file DataBlock.cc.
References DataBlock(), gem5::ArmISA::i, m_alloc, m_block_size, m_data, and gem5::ArmISA::mask.
|
inline |
Definition at line 151 of file DataBlock.hh.
References DataBlock(), gem5::ArmISA::len, m_alloc, m_data, gem5::ArmISA::offset, and setData().
| bool gem5::ruby::DataBlock::equal | ( | const DataBlock & | obj | ) | const |
Definition at line 109 of file DataBlock.cc.
References DataBlock(), gem5::ArmISA::i, m_alloc, m_atomicLog, m_block_size, and m_data.
Referenced by gem5::ruby::operator==().
|
inline |
Definition at line 110 of file DataBlock.hh.
References m_block_size.
Referenced by operator=(), gem5::ruby::testAndRead(), gem5::ruby::testAndReadMask(), and gem5::ruby::testAndWrite().
|
inline |
Definition at line 137 of file DataBlock.hh.
References m_alloc, and m_data.
Referenced by gem5::ruby::testAndRead(), and gem5::ruby::testAndReadMask().
| const uint8_t * gem5::ruby::DataBlock::getData | ( | int | offset, |
| int | len ) const |
Definition at line 191 of file DataBlock.cc.
References gem5::ArmISA::len, m_alloc, m_block_size, 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 200 of file DataBlock.cc.
References m_alloc, m_data, and gem5::ArmISA::offset.
|
inline |
Definition at line 112 of file DataBlock.hh.
References m_alloc.
| int gem5::ruby::DataBlock::numAtomicLogEntries | ( | ) | const |
Definition at line 168 of file DataBlock.cc.
References m_atomicLog.
Definition at line 224 of file DataBlock.cc.
References alloc(), DataBlock(), getBlockSize(), gem5::ArmISA::i, m_alloc, m_atomicLog, m_block_size, and m_data.
| uint8_t * gem5::ruby::DataBlock::popAtomicLogEntryFront | ( | ) |
Definition at line 173 of file DataBlock.cc.
References m_atomicLog.
| void gem5::ruby::DataBlock::print | ( | std::ostream & | out | ) | const |
Definition at line 154 of file DataBlock.cc.
References gem5::ArmISA::i, m_alloc, m_block_size, and m_data.
Referenced by gem5::ruby::operator<<().
| void gem5::ruby::DataBlock::realloc | ( | int | blk_size | ) |
Definition at line 88 of file DataBlock.cc.
References alloc(), m_alloc, m_block_size, and m_data.
Referenced by setBlockSize().
|
inline |
Definition at line 111 of file DataBlock.hh.
References realloc().
|
inline |
Definition at line 144 of file DataBlock.hh.
References data, m_alloc, and m_data.
Referenced by gem5::ruby::testAndWrite().
| void gem5::ruby::DataBlock::setData | ( | const uint8_t * | data, |
| int | offset, | ||
| int | len ) |
Definition at line 207 of file DataBlock.cc.
References data, gem5::ArmISA::len, m_alloc, m_data, and gem5::ArmISA::offset.
Referenced by copyPartial(), and gem5::ruby::VIPERCoalescer::issueRequest().
| void gem5::ruby::DataBlock::setData | ( | PacketPtr | pkt | ) |
Definition at line 214 of file DataBlock.cc.
References gem5::floorLog2(), gem5::Packet::getAddr(), gem5::ruby::getOffset(), gem5::Packet::getSize(), m_alloc, m_block_size, m_data, gem5::ArmISA::offset, and gem5::Packet::writeData().
|
private |
Definition at line 118 of file DataBlock.hh.
Referenced by alloc(), assign(), atomicPartial(), clear(), clearAtomicLogEntries(), copyPartial(), copyPartial(), DataBlock(), DataBlock(), equal(), getByte(), getData(), getDataMod(), isAlloc(), operator=(), print(), realloc(), setByte(), setData(), setData(), and ~DataBlock().
|
private |
Definition at line 122 of file DataBlock.hh.
Referenced by atomicPartial(), clearAtomicLogEntries(), DataBlock(), equal(), numAtomicLogEntries(), operator=(), popAtomicLogEntryFront(), and ~DataBlock().
|
private |
Definition at line 119 of file DataBlock.hh.
Referenced by alloc(), atomicPartial(), clear(), copyPartial(), DataBlock(), DataBlock(), equal(), getBlockSize(), getData(), operator=(), print(), realloc(), and setData().
|
private |
Definition at line 117 of file DataBlock.hh.
Referenced by alloc(), assign(), atomicPartial(), clear(), copyPartial(), copyPartial(), DataBlock(), equal(), getByte(), getData(), getDataMod(), operator=(), print(), realloc(), setByte(), setData(), setData(), and ~DataBlock().