gem5
v20.1.0.0
|
This class takes an arbitrary memory region (address/length pair) and generates a series of appropriately (e.g. More...
#include <chunk_generator.hh>
Public Member Functions | |
ChunkGenerator (Addr _startAddr, unsigned totalSize, unsigned _chunkSize) | |
Constructor. More... | |
Addr | addr () const |
Return starting address of current chunk. More... | |
unsigned | size () const |
Return size in bytes of current chunk. More... | |
unsigned | complete () const |
Number of bytes we have already chunked up. More... | |
bool | done () const |
Are we done? That is, did the last call to next() advance past the end of the region? More... | |
bool | last () const |
Is this the last chunk? More... | |
bool | next () |
Advance generator to next chunk. More... | |
Private Attributes | |
Addr | curAddr |
The starting address of the current chunk. More... | |
Addr | nextAddr |
The starting address of the next chunk (after the current one). More... | |
unsigned | curSize |
The size of the current chunk (in bytes). More... | |
unsigned | sizeLeft |
The number of bytes remaining in the region after the current chunk. More... | |
const Addr | startAddr |
The start address so we can calculate offset in writing block. More... | |
const unsigned | chunkSize |
The maximum chunk size, e.g., the cache block size or page size. More... | |
This class takes an arbitrary memory region (address/length pair) and generates a series of appropriately (e.g.
block- or page-) aligned chunks covering the same region.
Example usage:
Definition at line 55 of file chunk_generator.hh.
|
private |
The maximum chunk size, e.g., the cache block size or page size.
Definition at line 69 of file chunk_generator.hh.
Referenced by ChunkGenerator(), and next().
|
private |
The starting address of the current chunk.
Definition at line 59 of file chunk_generator.hh.
Referenced by addr(), ChunkGenerator(), complete(), and next().
|
private |
The size of the current chunk (in bytes).
Definition at line 63 of file chunk_generator.hh.
Referenced by ChunkGenerator(), done(), next(), and size().
|
private |
The starting address of the next chunk (after the current one).
Definition at line 61 of file chunk_generator.hh.
Referenced by ChunkGenerator(), and next().
|
private |
The number of bytes remaining in the region after the current chunk.
Definition at line 65 of file chunk_generator.hh.
Referenced by ChunkGenerator(), last(), and next().
|
private |
The start address so we can calculate offset in writing block.
Definition at line 67 of file chunk_generator.hh.
Referenced by ChunkGenerator(), and complete().