gem5
v21.0.0.0
|
These methods relate to the ChunkGenerator interface. More...
Functions | |
ChunkGenerator::ChunkGenerator (Addr _startAddr, Addr totalSize, Addr _chunkSize) | |
Constructor. More... | |
Addr | ChunkGenerator::addr () const |
Return starting address of current chunk. More... | |
Addr | ChunkGenerator::size () const |
Return size in bytes of current chunk. More... | |
Addr | ChunkGenerator::complete () const |
Number of bytes we have already chunked up. More... | |
bool | ChunkGenerator::done () const |
Are we done? That is, did the last call to next() advance past the end of the region? More... | |
bool | ChunkGenerator::last () const |
Is this the last chunk? More... | |
void | ChunkGenerator::setNext (Addr next) |
Grow this chunk to cover additional bytes which are already handled. More... | |
bool | ChunkGenerator::next () |
Advance generator to next chunk. More... | |
These methods relate to the ChunkGenerator interface.
|
inline |
Return starting address of current chunk.
Definition at line 116 of file chunk_generator.hh.
References ChunkGenerator::curAddr.
Referenced by DmaPort::DmaReqState::createPacket(), IdeDisk::doDmaRead(), IdeDisk::doDmaWrite(), DmaPort::sendAtomicBdReq(), DmaPort::sendAtomicReq(), and TEST().
Constructor.
_startAddr | The starting address of the region. |
totalSize | The total size of the region. |
_chunkSize | The size/alignment of chunks into which the region should be decomposed. |
Definition at line 84 of file chunk_generator.hh.
References ChunkGenerator::chunkSize, ChunkGenerator::curAddr, ChunkGenerator::curSize, isPowerOf2(), ChunkGenerator::nextAddr, ChunkGenerator::nextSize, roundUp(), ChunkGenerator::sizeLeft, and ChunkGenerator::startAddr.
|
inline |
Number of bytes we have already chunked up.
Definition at line 129 of file chunk_generator.hh.
References ChunkGenerator::curAddr, and ChunkGenerator::startAddr.
Referenced by DmaPort::DmaReqState::createPacket(), IdeDisk::doDmaRead(), IdeDisk::doDmaWrite(), DmaPort::sendAtomicBdReq(), and TEST().
|
inline |
Are we done? That is, did the last call to next() advance past the end of the region?
Definition at line 138 of file chunk_generator.hh.
References ChunkGenerator::curSize.
Referenced by ArmISA::RemoteGDB::acc(), Shader::AccessMem(), HSADevice::dmaVirt(), HSAPacketProcessor::dmaVirt(), IdeDisk::doDmaRead(), IdeDisk::doDmaWrite(), PortProxy::readBlobPhys(), DmaPort::sendDma(), TEST(), TranslatingPortProxy::tryMemsetBlob(), TranslatingPortProxy::tryReadBlob(), TranslatingPortProxy::tryWriteBlob(), and PortProxy::writeBlobPhys().
|
inline |
Is this the last chunk?
Definition at line 146 of file chunk_generator.hh.
References ChunkGenerator::sizeLeft.
Referenced by ChunkGenerator::next(), TEST(), and DmaPort::trySendTimingReq().
|
inline |
Advance generator to next chunk.
Definition at line 182 of file chunk_generator.hh.
References ChunkGenerator::chunkSize, ChunkGenerator::curAddr, ChunkGenerator::curSize, ChunkGenerator::last(), ChunkGenerator::nextAddr, ChunkGenerator::nextSize, and ChunkGenerator::sizeLeft.
Referenced by IdeDisk::doDmaRead(), IdeDisk::doDmaWrite(), DmaPort::sendAtomicBdReq(), DmaPort::sendAtomicReq(), ChunkGenerator::setNext(), TEST(), and DmaPort::trySendTimingReq().
|
inline |
Grow this chunk to cover additional bytes which are already handled.
next | The first byte of the next chunk. |
Definition at line 155 of file chunk_generator.hh.
References ChunkGenerator::chunkSize, ChunkGenerator::curSize, ChunkGenerator::next(), ChunkGenerator::nextAddr, ChunkGenerator::nextSize, roundUp(), and ChunkGenerator::sizeLeft.
Referenced by DmaPort::sendAtomicBdReq(), and TEST().
|
inline |
Return size in bytes of current chunk.
Definition at line 122 of file chunk_generator.hh.
References ChunkGenerator::curSize.
Referenced by DmaPort::DmaReqState::createPacket(), IdeDisk::doDmaRead(), IdeDisk::doDmaWrite(), DmaPort::sendAtomicBdReq(), DmaPort::sendAtomicReq(), and TEST().