gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::ruby::SubBlock Class Reference

#include <SubBlock.hh>

Public Member Functions

 SubBlock ()
 
 SubBlock (Addr addr, int size)
 
 ~SubBlock ()
 
Addr getAddress () const
 
void setAddress (Addr addr)
 
int getSize () const
 
void resize (int size)
 
uint8_t getByte (int offset) const
 
void setByte (int offset, uint8_t data)
 
uint8_t readByte () const
 
void writeByte (uint8_t data)
 
void mergeTo (DataBlock &data) const
 
void mergeFrom (const DataBlock &data)
 
void print (std::ostream &out) const
 

Private Member Functions

void internalMergeTo (DataBlock &data) const
 
void internalMergeFrom (const DataBlock &data)
 

Private Attributes

Addr m_address
 
std::vector< uint8_t > m_data
 

Detailed Description

Definition at line 44 of file SubBlock.hh.

Constructor & Destructor Documentation

◆ SubBlock() [1/2]

gem5::ruby::SubBlock::SubBlock ( )
inline

Definition at line 47 of file SubBlock.hh.

◆ SubBlock() [2/2]

gem5::ruby::SubBlock::SubBlock ( Addr addr,
int size )

Definition at line 41 of file SubBlock.cc.

References gem5::X86ISA::addr, gem5::ArmISA::i, m_address, resize(), and setByte().

◆ ~SubBlock()

gem5::ruby::SubBlock::~SubBlock ( )
inline

Definition at line 49 of file SubBlock.hh.

Member Function Documentation

◆ getAddress()

Addr gem5::ruby::SubBlock::getAddress ( ) const
inline

Definition at line 51 of file SubBlock.hh.

References m_address.

◆ getByte()

uint8_t gem5::ruby::SubBlock::getByte ( int offset) const
inline

Definition at line 56 of file SubBlock.hh.

References m_data, and gem5::ArmISA::offset.

Referenced by internalMergeTo(), and readByte().

◆ getSize()

int gem5::ruby::SubBlock::getSize ( ) const
inline

Definition at line 54 of file SubBlock.hh.

References m_data.

Referenced by internalMergeFrom(), internalMergeTo(), and print().

◆ internalMergeFrom()

void gem5::ruby::SubBlock::internalMergeFrom ( const DataBlock & data)
private

◆ internalMergeTo()

void gem5::ruby::SubBlock::internalMergeTo ( DataBlock & data) const
private

Definition at line 62 of file SubBlock.cc.

References data, getByte(), gem5::ruby::getOffset(), getSize(), gem5::ArmISA::i, m_address, and gem5::ArmISA::offset.

Referenced by mergeTo().

◆ mergeFrom()

void gem5::ruby::SubBlock::mergeFrom ( const DataBlock & data)
inline

Definition at line 66 of file SubBlock.hh.

References data, and internalMergeFrom().

Referenced by gem5::ruby::Sequencer::hitCallback().

◆ mergeTo()

void gem5::ruby::SubBlock::mergeTo ( DataBlock & data) const
inline

Definition at line 65 of file SubBlock.hh.

References data, and internalMergeTo().

◆ print()

void gem5::ruby::SubBlock::print ( std::ostream & out) const

Definition at line 74 of file SubBlock.cc.

References getSize(), m_address, and m_data.

Referenced by gem5::ruby::operator<<().

◆ readByte()

uint8_t gem5::ruby::SubBlock::readByte ( ) const
inline

Definition at line 60 of file SubBlock.hh.

References getByte().

◆ resize()

void gem5::ruby::SubBlock::resize ( int size)
inline

Definition at line 55 of file SubBlock.hh.

References m_data.

Referenced by SubBlock().

◆ setAddress()

void gem5::ruby::SubBlock::setAddress ( Addr addr)
inline

Definition at line 52 of file SubBlock.hh.

References gem5::X86ISA::addr, and m_address.

◆ setByte()

void gem5::ruby::SubBlock::setByte ( int offset,
uint8_t data )
inline

Definition at line 57 of file SubBlock.hh.

References data, m_data, and gem5::ArmISA::offset.

Referenced by internalMergeFrom(), SubBlock(), and writeByte().

◆ writeByte()

void gem5::ruby::SubBlock::writeByte ( uint8_t data)
inline

Definition at line 61 of file SubBlock.hh.

References data, and setByte().

Member Data Documentation

◆ m_address

Addr gem5::ruby::SubBlock::m_address
private

Definition at line 75 of file SubBlock.hh.

Referenced by getAddress(), internalMergeFrom(), internalMergeTo(), print(), setAddress(), and SubBlock().

◆ m_data

std::vector<uint8_t> gem5::ruby::SubBlock::m_data
private

Definition at line 76 of file SubBlock.hh.

Referenced by getByte(), getSize(), print(), resize(), and setByte().


The documentation for this class was generated from the following files:

Generated on Tue Jun 18 2024 16:24:22 for gem5 by doxygen 1.11.0