gem5  v21.2.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Functions
The ChunkGenerator API.

These methods relate to the ChunkGenerator interface. More...

Functions

 gem5::ChunkGenerator::ChunkGenerator (Addr _startAddr, Addr totalSize, Addr _chunkSize)
 Constructor. More...
 
Addr gem5::ChunkGenerator::addr () const
 Return starting address of current chunk. More...
 
Addr gem5::ChunkGenerator::size () const
 Return size in bytes of current chunk. More...
 
Addr gem5::ChunkGenerator::complete () const
 Number of bytes we have already chunked up. More...
 
bool gem5::ChunkGenerator::done () const
 Are we done? That is, did the last call to next() advance past the end of the region? More...
 
bool gem5::ChunkGenerator::last () const
 Is this the last chunk? More...
 
void gem5::ChunkGenerator::setNext (Addr next)
 Grow this chunk to cover additional bytes which are already handled. More...
 
bool gem5::ChunkGenerator::next ()
 Advance generator to next chunk. More...
 

Detailed Description

These methods relate to the ChunkGenerator interface.

Function Documentation

◆ addr()

Addr gem5::ChunkGenerator::addr ( ) const
inline

◆ ChunkGenerator()

gem5::ChunkGenerator::ChunkGenerator ( Addr  _startAddr,
Addr  totalSize,
Addr  _chunkSize 
)
inline

Constructor.

Parameters
_startAddrThe starting address of the region.
totalSizeThe total size of the region.
_chunkSizeThe size/alignment of chunks into which the region should be decomposed.

Definition at line 87 of file chunk_generator.hh.

References gem5::ChunkGenerator::chunkSize, gem5::ChunkGenerator::curAddr, gem5::ChunkGenerator::curSize, gem5::isPowerOf2(), gem5::ChunkGenerator::nextAddr, gem5::ChunkGenerator::nextSize, gem5::roundUp(), gem5::ChunkGenerator::sizeLeft, and gem5::ChunkGenerator::startAddr.

◆ complete()

Addr gem5::ChunkGenerator::complete ( ) const
inline

◆ done()

bool gem5::ChunkGenerator::done ( ) const
inline

Are we done? That is, did the last call to next() advance past the end of the region?

Returns
True if yes, false if more to go.

Definition at line 141 of file chunk_generator.hh.

References gem5::ChunkGenerator::curSize.

Referenced by gem5::ArmISA::RemoteGDB::acc(), gem5::Shader::AccessMem(), gem5::IdeDisk::doDmaRead(), gem5::IdeDisk::doDmaWrite(), gem5::PortProxy::readBlobPhys(), gem5::DmaPort::sendDma(), TEST(), and gem5::PortProxy::writeBlobPhys().

◆ last()

bool gem5::ChunkGenerator::last ( ) const
inline

Is this the last chunk?

Returns
True if yes, false if more to go.

Definition at line 149 of file chunk_generator.hh.

References gem5::ChunkGenerator::sizeLeft.

Referenced by gem5::ChunkGenerator::next(), TEST(), and gem5::DmaPort::trySendTimingReq().

◆ next()

bool gem5::ChunkGenerator::next ( )
inline

◆ setNext()

void gem5::ChunkGenerator::setNext ( Addr  next)
inline

Grow this chunk to cover additional bytes which are already handled.

Parameters
nextThe first byte of the next chunk.

Definition at line 158 of file chunk_generator.hh.

References gem5::ChunkGenerator::chunkSize, gem5::ChunkGenerator::curSize, gem5::ChunkGenerator::next(), gem5::ChunkGenerator::nextAddr, gem5::ChunkGenerator::nextSize, gem5::roundUp(), and gem5::ChunkGenerator::sizeLeft.

Referenced by gem5::DmaPort::sendAtomicBdReq(), and TEST().

◆ size()

Addr gem5::ChunkGenerator::size ( ) const
inline

Generated on Tue Feb 8 2022 11:47:40 for gem5 by doxygen 1.8.17