gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::ruby Namespace Reference

Namespaces

namespace  CHI
namespace  garnet

Classes

class  AbstractCacheEntry
class  AbstractController
class  AccessTraceForAddress
class  AddressProfiler
class  ALUFreeListArray
class  BankedArray
class  BaseRoutingUnit
class  BasicRouter
class  CacheMemory
class  CacheRecorder
class  CHIGenericController
class  CoalescedRequest
class  Consumer
class  DataBlock
class  DirectoryMemory
struct  DMARequest
class  DMASequencer
class  ExpectedMap
class  FaultModel
class  GPUCoalescer
class  Histogram
class  HTMSequencer
struct  LinkEntry
struct  MachineID
class  Message
class  MessageBuffer
class  NetDest
class  Network
class  PendingWriteInst
struct  PerfectCacheLineState
class  PerfectCacheMemory
class  PerfectSwitch
class  PersistentTable
class  PersistentTableEntry
class  PrefetchEntry
class  Profiler
class  ProtocolInfo
class  RejectException
class  RubyDummyPort
class  RubyPort
class  RubyPortProxy
class  RubyPrefetcher
class  RubyPrefetcherProxy
 This is a proxy for prefetcher class in classic memory. More...
class  RubyRequest
class  RubySystem
class  Sequencer
struct  SequencerRequest
class  Set
class  SimpleNetwork
class  StoreTrace
class  SubBlock
class  Switch
class  TBEStorage
class  TBETable
class  Throttle
class  TimerTable
class  Topology
class  TraceRecord
 Class for recording cache contents. More...
class  TriggerQueue
class  UncoalescedTable
class  VIPERCoalescer
class  VIPERSequencer
class  WeightBased
class  WireBuffer
class  WriteMask

Typedefs

typedef std::vector< bool > BoolVec
typedef std::vector< int > IntVec
typedef unsigned int LinkID
typedef unsigned int NodeID
typedef unsigned int SwitchID
typedef std::string PortDirection
typedef std::vector< std::vector< std::vector< int > > > Matrix
typedef std::map< std::pair< SwitchID, SwitchID >, std::vector< LinkEntry > > LinkMap
typedef AddressProfiler::AddressMap AddressMap
typedef std::shared_ptr< MessageMsgPtr
typedef std::list< PacketPtrPerInstPackets

Functions

Addr bitSelect (Addr addr, unsigned int small, unsigned int big)
Addr maskLowOrderBits (Addr addr, unsigned int number)
Addr getOffset (Addr addr, int cacheLineBits)
Addr makeLineAddress (Addr addr, int cacheLineBits)
Addr makeNextStrideAddress (Addr addr, int stride, int cacheLineBytes)
std::string printAddress (Addr addr, int cacheLineBits)
std::ostream & operator<< (std::ostream &os, const BoolVec &myvector)
std::ostream & operator<< (std::ostream &out, const Consumer &obj)
std::ostream & operator<< (std::ostream &out, const DataBlock &obj)
bool operator== (const DataBlock &obj1, const DataBlock &obj2)
template<typename RespType, typename DataType>
std::ostream & operator<< (std::ostream &out, const ExpectedMap< RespType, DataType > &obj)
bool node_less_then_eq (const Histogram *n1, const Histogram *n2)
std::ostream & operator<< (std::ostream &out, const Histogram &obj)
std::ostream & operator<< (std::ostream &os, const IntVec &myvector)
std::string MachineIDToString (MachineID machine)
bool operator== (const MachineID &obj1, const MachineID &obj2)
bool operator!= (const MachineID &obj1, const MachineID &obj2)
::std::ostream & operator<< (::std::ostream &out, const MachineID &obj)
std::ostream & operator<< (std::ostream &out, const NetDest &obj)
std::ostream & operator<< (std::ostream &out, const Set &obj)
std::ostream & operator<< (std::ostream &out, const SubBlock &obj)
template<class T>
std::ostream & operator<< (std::ostream &out, const TriggerQueue< T > &obj)
std::ostream & operator<< (std::ostream &out, const WriteMask &obj)
std::ostream & operator<< (std::ostream &out, const BasicLink &obj)
std::ostream & operator<< (std::ostream &out, const BasicRouter &obj)
Tick random_time ()
std::ostream & operator<< (std::ostream &out, const MessageBuffer &obj)
std::ostream & operator<< (std::ostream &out, const Network &obj)
std::ostream & operator<< (std::ostream &out, const PerfectSwitch &obj)
std::ostream & operator<< (std::ostream &out, const SimpleExtLink &obj)
std::ostream & operator<< (std::ostream &out, const SimpleIntLink &obj)
std::ostream & operator<< (std::ostream &out, const SimpleNetwork &obj)
std::ostream & operator<< (std::ostream &out, const Switch &obj)
static int network_message_to_size (Message *net_msg_ptr)
std::ostream & operator<< (std::ostream &out, const Throttle &obj)
std::ostream & operator<< (std::ostream &out, const Topology &obj)
std::ostream & operator<< (std::ostream &out, const AccessTraceForAddress &obj)
AccessTraceForAddresslookupTraceForAddress (Addr addr, AddressMap &record_map)
void printSorted (std::ostream &out, int num_of_sequencers, const AddressMap &record_map, std::string description, Profiler *profiler)
std::ostream & operator<< (std::ostream &out, const AddressProfiler &obj)
bool node_less_then_eq (const StoreTrace *n1, const StoreTrace *n2)
std::ostream & operator<< (std::ostream &out, const StoreTrace &obj)
std::ostream & operator<< (std::ostream &out, const AbstractCacheEntry &obj)
bool operator> (const MsgPtr &lhs, const MsgPtr &rhs)
std::ostream & operator<< (std::ostream &out, const Message &obj)
std::ostream & operator<< (std::ostream &out, const RubyRequest &obj)
MachineID mapAddressToRange (Addr addr, MachineType type, int low_bit, int num_bits, int cluster_id=0)
NodeID machineIDToNodeID (MachineID machID)
MachineType machineIDToMachineType (MachineID machID)
MachineID createMachineID (MachineType type, NodeID id)
MachineID MachineTypeAndNodeIDToMachineID (MachineType type, NodeID node)
Cycles zero_time ()
Cycles intToCycles (int c)
Tick intToTick (int c)
NodeID intToID (int nodenum)
int IDToInt (NodeID id)
int addressToInt (Addr addr)
Addr intToAddress (int addr)
int mod (int val, int mod)
int max_tokens ()
bool isWriteRequest (RubyRequestType type)
bool isDataReadRequest (RubyRequestType type)
bool isReadRequest (RubyRequestType type)
bool isHtmCmdRequest (RubyRequestType type)
bool isTlbiCmdRequest (RubyRequestType type)
RubyRequestType htmCmdToRubyRequestType (const Packet *pkt)
RubyRequestType tlbiCmdToRubyRequestType (const Packet *pkt)
int addressOffset (Addr addr, Addr base)
bool testAndRead (Addr addr, DataBlock &blk, Packet *pkt)
 This function accepts an address, a data block and a packet.
bool testAndReadMask (Addr addr, DataBlock &blk, WriteMask &mask, Packet *pkt)
 This function accepts an address, a data block, a write mask and a packet.
bool testAndWrite (Addr addr, DataBlock &blk, Packet *pkt)
 This function accepts an address, a data block and a packet.
int countBoolVec (BoolVec bVec)
RequestorID getRequestorID (RequestPtr req)
std::ostream & operator<< (std::ostream &out, const CacheMemory &obj)
std::ostream & operator<< (std::ostream &out, const DirectoryMemory &obj)
template<class ENTRY>
std::ostream & operator<< (std::ostream &out, const PerfectCacheLineState< ENTRY > &obj)
template<class ENTRY>
std::ostream & operator<< (std::ostream &out, const PerfectCacheMemory< ENTRY > &obj)
std::ostream & operator<< (std::ostream &out, const PersistentTable &obj)
std::ostream & operator<< (std::ostream &out, const PersistentTableEntry &obj)
template<class ENTRY>
std::ostream & operator<< (std::ostream &out, const TBETable< ENTRY > &obj)
std::ostream & operator<< (std::ostream &out, const TimerTable &obj)
std::ostream & operator<< (std::ostream &out, const WireBuffer &obj)
bool compareTraceRecords (const TraceRecord *n1, const TraceRecord *n2)
std::ostream & operator<< (std::ostream &out, const TraceRecord &obj)
template<class KEY, class VALUE>
std::ostream & operator<< (std::ostream &out, const std::unordered_map< KEY, VALUE > &map)
std::ostream & operator<< (std::ostream &out, const GPUCoalescer &obj)
template<class VALUE>
std::ostream & operator<< (std::ostream &out, const std::deque< VALUE > &queue)
std::ostream & operator<< (std::ostream &out, const HTMSequencer &obj)
std::ostream & operator<< (std::ostream &out, const Sequencer &obj)
template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > operator<< (std::ostream &os, const T &v)
template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > operator<< (std::ostream &os, const T &v)
template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > operator<< (std::ostream &os, const T &v)
template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > operator<< (std::ostream &os, const T &v)
template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > operator<< (std::ostream &os, const T &v)

Variables

const int PRIORITY_SWITCH_LIMIT = 128
const int MESSAGE_SIZE_MULTIPLIER = 1000
const int BROADCAST_SCALING = 1
const int INFINITE_LATENCY = 10000

Typedef Documentation

◆ AddressMap

◆ BoolVec

Definition at line 50 of file BoolVec.hh.

◆ IntVec

Definition at line 44 of file IntVec.hh.

◆ LinkID

typedef unsigned int gem5::ruby::LinkID

Definition at line 41 of file TypeDefines.hh.

◆ LinkMap

Definition at line 76 of file Topology.hh.

◆ Matrix

Definition at line 66 of file Topology.hh.

◆ MsgPtr

typedef std::shared_ptr<Message> gem5::ruby::MsgPtr

Definition at line 60 of file Message.hh.

◆ NodeID

typedef unsigned int gem5::ruby::NodeID

Definition at line 42 of file TypeDefines.hh.

◆ PerInstPackets

Definition at line 65 of file GPUCoalescer.hh.

◆ PortDirection

typedef std::string gem5::ruby::PortDirection

Definition at line 44 of file TypeDefines.hh.

◆ SwitchID

typedef unsigned int gem5::ruby::SwitchID

Definition at line 43 of file TypeDefines.hh.

Function Documentation

◆ addressOffset()

int gem5::ruby::addressOffset ( Addr addr,
Addr base )
inline

Definition at line 212 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr, gem5::RiscvISA::base, and gem5::ArmISA::offset.

◆ addressToInt()

int gem5::ruby::addressToInt ( Addr addr)
inline

Definition at line 89 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr.

◆ bitSelect()

Addr gem5::ruby::bitSelect ( Addr addr,
unsigned int small,
unsigned int big )

◆ compareTraceRecords()

bool gem5::ruby::compareTraceRecords ( const TraceRecord * n1,
const TraceRecord * n2 )
inline

◆ countBoolVec()

int gem5::ruby::countBoolVec ( BoolVec bVec)
inline

Definition at line 312 of file RubySlicc_Util.hh.

References gem5::X86ISA::count, and gem5::ArmISA::e.

◆ createMachineID()

MachineID gem5::ruby::createMachineID ( MachineType type,
NodeID id )
inline

Definition at line 70 of file RubySlicc_ComponentMapping.hh.

◆ getOffset()

◆ getRequestorID()

RequestorID gem5::ruby::getRequestorID ( RequestPtr req)
inline

Definition at line 324 of file RubySlicc_Util.hh.

◆ htmCmdToRubyRequestType()

RubyRequestType gem5::ruby::htmCmdToRubyRequestType ( const Packet * pkt)
inline

Definition at line 179 of file RubySlicc_Util.hh.

References panic, and gem5::Packet::req.

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

◆ IDToInt()

int gem5::ruby::IDToInt ( NodeID id)
inline

Definition at line 82 of file RubySlicc_Util.hh.

References gem5::ArmISA::id.

◆ intToAddress()

Addr gem5::ruby::intToAddress ( int addr)
inline

Definition at line 96 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr.

◆ intToCycles()

Cycles gem5::ruby::intToCycles ( int c)
inline

Definition at line 70 of file RubySlicc_Util.hh.

References gem5::ArmISA::c.

◆ intToID()

NodeID gem5::ruby::intToID ( int nodenum)
inline

Definition at line 75 of file RubySlicc_Util.hh.

References gem5::ArmISA::id.

◆ intToTick()

Tick gem5::ruby::intToTick ( int c)
inline

Definition at line 72 of file RubySlicc_Util.hh.

References gem5::ArmISA::c.

◆ isDataReadRequest()

bool gem5::ruby::isDataReadRequest ( RubyRequestType type)
inline

Definition at line 131 of file RubySlicc_Util.hh.

Referenced by isReadRequest().

◆ isHtmCmdRequest()

bool gem5::ruby::isHtmCmdRequest ( RubyRequestType type)
inline

◆ isReadRequest()

bool gem5::ruby::isReadRequest ( RubyRequestType type)
inline

Definition at line 142 of file RubySlicc_Util.hh.

References isDataReadRequest().

◆ isTlbiCmdRequest()

bool gem5::ruby::isTlbiCmdRequest ( RubyRequestType type)
inline

Definition at line 166 of file RubySlicc_Util.hh.

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

◆ isWriteRequest()

bool gem5::ruby::isWriteRequest ( RubyRequestType type)
inline

Definition at line 114 of file RubySlicc_Util.hh.

◆ lookupTraceForAddress()

◆ machineIDToMachineType()

MachineType gem5::ruby::machineIDToMachineType ( MachineID machID)
inline

Definition at line 64 of file RubySlicc_ComponentMapping.hh.

References gem5::ruby::MachineID::type.

◆ machineIDToNodeID()

NodeID gem5::ruby::machineIDToNodeID ( MachineID machID)
inline

Definition at line 58 of file RubySlicc_ComponentMapping.hh.

References gem5::ruby::MachineID::num.

◆ MachineIDToString()

std::string gem5::ruby::MachineIDToString ( MachineID machine)
inline

◆ MachineTypeAndNodeIDToMachineID()

MachineID gem5::ruby::MachineTypeAndNodeIDToMachineID ( MachineType type,
NodeID node )
inline

Definition at line 77 of file RubySlicc_ComponentMapping.hh.

◆ makeLineAddress()

Addr gem5::ruby::makeLineAddress ( Addr addr,
int cacheLineBits )

Definition at line 61 of file Address.cc.

References gem5::X86ISA::addr, and maskLowOrderBits().

Referenced by gem5::ruby::AddressProfiler::addTraceSample(), gem5::ruby::PerfectCacheMemory< ENTRY >::allocate(), gem5::ruby::PerfectCacheMemory< ENTRY >::changePermission(), gem5::ruby::PerfectCacheMemory< ENTRY >::deallocate(), gem5::ruby::RubySystem::functionalWrite(), gem5::ruby::PerfectCacheMemory< ENTRY >::getPermission(), gem5::ruby::HTMSequencer::htmCallback(), gem5::ruby::RubyPrefetcher::initializeStream(), gem5::FetchUnit::initiateFetch(), gem5::ruby::TBETable< ENTRY >::isPresent(), gem5::ruby::VIPERCoalescer::issueRequest(), gem5::ruby::PerfectCacheMemory< ENTRY >::isTagPresent(), gem5::ruby::PerfectCacheMemory< ENTRY >::lookup(), gem5::ruby::PerfectCacheMemory< ENTRY >::lookup(), gem5::ruby::AbstractController::makeLineAddress(), gem5::ruby::CacheMemory::makeLineAddress(), gem5::ruby::PersistentTable::makeLineAddress(), gem5::ruby::RubyPort::makeLineAddress(), gem5::ruby::RubyPrefetcherProxy::makeLineAddress(), makeNextStrideAddress(), gem5::FetchUnit::FetchBufDesc::nextFetchAddr(), gem5::ruby::RubyPrefetcher::observeMiss(), gem5::ruby::RubySystem::partialFunctionalRead(), gem5::Check::performCallback(), printAddress(), gem5::tlm::chi::CacheController::reqAddr(), gem5::ruby::ALUFreeListArray::reserve(), gem5::ruby::RubyRequest::RubyRequest(), gem5::ruby::RubyRequest::RubyRequest(), gem5::ruby::RubyRequest::RubyRequest(), gem5::tlm::chi::CacheController::sendCompAck(), gem5::tlm::chi::CacheController::sendDataMsg(), gem5::tlm::chi::CacheController::sendRequestMsg(), gem5::tlm::chi::CacheController::sendResponseMsg(), gem5::ruby::TimerTable::set(), gem5::ruby::RubySystem::simpleFunctionalRead(), testAndRead(), testAndReadMask(), testAndWrite(), gem5::ruby::ALUFreeListArray::tryAccess(), gem5::ruby::TimerTable::unset(), and gem5::ruby::VIPERCoalescer::writeCompleteCallback().

◆ makeNextStrideAddress()

Addr gem5::ruby::makeNextStrideAddress ( Addr addr,
int stride,
int cacheLineBytes )

◆ mapAddressToRange()

MachineID gem5::ruby::mapAddressToRange ( Addr addr,
MachineType type,
int low_bit,
int num_bits,
int cluster_id = 0 )
inline

◆ maskLowOrderBits()

Addr gem5::ruby::maskLowOrderBits ( Addr addr,
unsigned int number )

Definition at line 48 of file Address.cc.

References gem5::X86ISA::addr, and gem5::mbits().

Referenced by makeLineAddress().

◆ max_tokens()

int gem5::ruby::max_tokens ( )
inline

Definition at line 108 of file RubySlicc_Util.hh.

◆ mod()

int gem5::ruby::mod ( int val,
int mod )
inline

Definition at line 103 of file RubySlicc_Util.hh.

References mod(), and gem5::X86ISA::val.

Referenced by mod().

◆ network_message_to_size()

◆ node_less_then_eq() [1/2]

bool gem5::ruby::node_less_then_eq ( const Histogram * n1,
const Histogram * n2 )

Definition at line 239 of file Histogram.cc.

References gem5::ruby::Histogram::size().

◆ node_less_then_eq() [2/2]

bool gem5::ruby::node_less_then_eq ( const StoreTrace * n1,
const StoreTrace * n2 )
inline

Definition at line 83 of file StoreTrace.hh.

References gem5::ruby::StoreTrace::getTotal().

◆ operator!=()

bool gem5::ruby::operator!= ( const MachineID & obj1,
const MachineID & obj2 )
inline

Definition at line 85 of file MachineID.hh.

References gem5::ruby::MachineID::num, and gem5::ruby::MachineID::type.

◆ operator<<() [1/49]

std::ostream & gem5::ruby::operator<< ( ::std::ostream & out,
const MachineID & obj )

Definition at line 93 of file MachineID.hh.

References gem5::ruby::MachineID::num, and gem5::ruby::MachineID::type.

◆ operator<<() [2/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & os,
const BoolVec & myvector )

Definition at line 49 of file BoolVec.cc.

References gem5::ArmISA::e, and gem5::X86ISA::os.

◆ operator<<() [3/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & os,
const IntVec & myvector )

Definition at line 43 of file IntVec.cc.

References gem5::X86ISA::os.

◆ operator<<() [4/49]

template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > gem5::stl_helpers::operator<< ( std::ostream & os,
const T & v )

Definition at line 1 of file ostream_helpers.hh.

◆ operator<<() [5/49]

template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > gem5::stl_helpers::operator<< ( std::ostream & os,
const T & v )

Definition at line 1 of file ostream_helpers.hh.

◆ operator<<() [6/49]

template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > gem5::stl_helpers::operator<< ( std::ostream & os,
const T & v )

Definition at line 1 of file ostream_helpers.hh.

◆ operator<<() [7/49]

template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > gem5::stl_helpers::operator<< ( std::ostream & os,
const T & v )

Definition at line 1 of file ostream_helpers.hh.

◆ operator<<() [8/49]

template<typename T>
std::enable_if_t< opExtract_impl::needsDispatch< T >, std::ostream & > gem5::stl_helpers::operator<< ( std::ostream & os,
const T & v )

Definition at line 1 of file ostream_helpers.hh.

◆ operator<<() [9/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const AbstractCacheEntry & obj )
inline

Definition at line 132 of file AbstractCacheEntry.hh.

References gem5::ruby::AbstractCacheEntry::print().

◆ operator<<() [10/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const AccessTraceForAddress & obj )
inline

◆ operator<<() [11/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const AddressProfiler & obj )
inline

Definition at line 113 of file AddressProfiler.hh.

References gem5::ruby::AddressProfiler::print().

◆ operator<<() [12/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const BasicLink & obj )
inline

Definition at line 67 of file BasicLink.hh.

References gem5::ruby::BasicLink::print().

◆ operator<<() [13/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const BasicRouter & obj )
inline

Definition at line 62 of file BasicRouter.hh.

References gem5::ruby::BasicRouter::print().

◆ operator<<() [14/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const CacheMemory & obj )

Definition at line 62 of file CacheMemory.cc.

References gem5::ruby::CacheMemory::print().

◆ operator<<() [15/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Consumer & obj )
inline

Definition at line 100 of file Consumer.hh.

References gem5::ruby::Consumer::print().

◆ operator<<() [16/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const DataBlock & obj )
inline

Definition at line 157 of file DataBlock.hh.

References gem5::ruby::DataBlock::print().

◆ operator<<() [17/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const DirectoryMemory & obj )
inline

Definition at line 118 of file DirectoryMemory.hh.

References gem5::ruby::DirectoryMemory::print().

◆ operator<<() [18/49]

template<typename RespType, typename DataType>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const ExpectedMap< RespType, DataType > & obj )
inline

◆ operator<<() [19/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const GPUCoalescer & obj )
inline

Definition at line 560 of file GPUCoalescer.hh.

References gem5::ruby::GPUCoalescer::print().

◆ operator<<() [20/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Histogram & obj )
inline

Definition at line 85 of file Histogram.hh.

References gem5::ruby::Histogram::print().

◆ operator<<() [21/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const HTMSequencer & obj )
inline

Definition at line 110 of file HTMSequencer.hh.

References gem5::ruby::HTMSequencer::print().

◆ operator<<() [22/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Message & obj )
inline

Definition at line 151 of file Message.hh.

References gem5::ruby::Message::print().

◆ operator<<() [23/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const MessageBuffer & obj )
inline

Definition at line 302 of file MessageBuffer.hh.

References gem5::ruby::MessageBuffer::print().

◆ operator<<() [24/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const NetDest & obj )
inline

Definition at line 128 of file NetDest.hh.

References gem5::ruby::NetDest::print().

◆ operator<<() [25/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Network & obj )
inline

Definition at line 192 of file Network.hh.

References gem5::ruby::Network::print().

◆ operator<<() [26/49]

template<class ENTRY>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const PerfectCacheLineState< ENTRY > & obj )
inline

Definition at line 67 of file PerfectCacheMemory.hh.

◆ operator<<() [27/49]

template<class ENTRY>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const PerfectCacheMemory< ENTRY > & obj )
inline

◆ operator<<() [28/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const PerfectSwitch & obj )
inline

Definition at line 134 of file PerfectSwitch.hh.

References gem5::ruby::PerfectSwitch::print().

◆ operator<<() [29/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const PersistentTable & obj )
inline

Definition at line 104 of file PersistentTable.hh.

References gem5::ruby::PersistentTable::print().

◆ operator<<() [30/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const PersistentTableEntry & obj )
inline

Definition at line 112 of file PersistentTable.hh.

References gem5::ruby::PersistentTableEntry::print().

◆ operator<<() [31/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const RubyRequest & obj )
inline

Definition at line 255 of file RubyRequest.hh.

References gem5::ruby::RubyRequest::print().

◆ operator<<() [32/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Sequencer & obj )
inline

Definition at line 373 of file Sequencer.hh.

References gem5::ruby::Sequencer::print().

◆ operator<<() [33/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Set & obj )
inline

Definition at line 227 of file Set.hh.

References gem5::ruby::Set::print().

◆ operator<<() [34/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const SimpleExtLink & obj )
inline

Definition at line 70 of file SimpleLink.hh.

References gem5::ruby::SimpleExtLink::print().

◆ operator<<() [35/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const SimpleIntLink & obj )
inline

Definition at line 91 of file SimpleLink.hh.

References gem5::ruby::SimpleIntLink::print().

◆ operator<<() [36/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const SimpleNetwork & obj )
inline

Definition at line 121 of file SimpleNetwork.hh.

References gem5::ruby::SimpleNetwork::print().

◆ operator<<() [37/49]

template<class VALUE>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const std::deque< VALUE > & queue )

Definition at line 285 of file HTMSequencer.cc.

References gem5::ArmISA::i.

◆ operator<<() [38/49]

template<class KEY, class VALUE>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const std::unordered_map< KEY, VALUE > & map )

Definition at line 764 of file GPUCoalescer.cc.

References gem5::ArmISA::i.

◆ operator<<() [39/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const StoreTrace & obj )
inline

Definition at line 88 of file StoreTrace.hh.

References gem5::ruby::StoreTrace::print().

◆ operator<<() [40/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const SubBlock & obj )
inline

Definition at line 80 of file SubBlock.hh.

References gem5::ruby::SubBlock::print().

◆ operator<<() [41/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Switch & obj )
inline

Definition at line 146 of file Switch.hh.

References gem5::ruby::Switch::print().

◆ operator<<() [42/49]

template<class ENTRY>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const TBETable< ENTRY > & obj )
inline

Definition at line 100 of file TBETable.hh.

References gem5::ruby::TBETable< ENTRY >::print().

◆ operator<<() [43/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Throttle & obj )
inline

Definition at line 161 of file Throttle.hh.

References gem5::ruby::Throttle::print().

◆ operator<<() [44/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const TimerTable & obj )
inline

Definition at line 102 of file TimerTable.hh.

References gem5::ruby::TimerTable::print().

◆ operator<<() [45/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const Topology & obj )
inline

Definition at line 124 of file Topology.hh.

References gem5::ruby::Topology::print().

◆ operator<<() [46/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const TraceRecord & obj )
inline

Definition at line 132 of file CacheRecorder.hh.

References gem5::ruby::TraceRecord::print().

◆ operator<<() [47/49]

template<class T>
std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const TriggerQueue< T > & obj )
inline

Definition at line 118 of file TriggerQueue.hh.

References gem5::ruby::TriggerQueue< T >::print().

◆ operator<<() [48/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const WireBuffer & obj )

Definition at line 48 of file WireBuffer.cc.

References gem5::ruby::WireBuffer::print().

◆ operator<<() [49/49]

std::ostream & gem5::ruby::operator<< ( std::ostream & out,
const WriteMask & obj )
inline

Definition at line 283 of file WriteMask.hh.

References gem5::ruby::WriteMask::print().

◆ operator==() [1/2]

bool gem5::ruby::operator== ( const DataBlock & obj1,
const DataBlock & obj2 )
inline

Definition at line 166 of file DataBlock.hh.

References gem5::ruby::DataBlock::equal().

◆ operator==() [2/2]

bool gem5::ruby::operator== ( const MachineID & obj1,
const MachineID & obj2 )
inline

Definition at line 79 of file MachineID.hh.

References gem5::ruby::MachineID::num, and gem5::ruby::MachineID::type.

◆ operator>()

bool gem5::ruby::operator> ( const MsgPtr & lhs,
const MsgPtr & rhs )
inline

Definition at line 140 of file Message.hh.

References gem5::MipsISA::l, and gem5::MipsISA::r.

◆ printAddress()

std::string gem5::ruby::printAddress ( Addr addr,
int cacheLineBits )

◆ printSorted()

void gem5::ruby::printSorted ( std::ostream & out,
int num_of_sequencers,
const AddressMap & record_map,
std::string description,
Profiler * profiler )

◆ random_time()

Tick gem5::ruby::random_time ( )

Definition at line 206 of file MessageBuffer.cc.

References gem5::Random::genRandom().

Referenced by gem5::ruby::MessageBuffer::enqueue().

◆ testAndRead()

bool gem5::ruby::testAndRead ( Addr addr,
DataBlock & blk,
Packet * pkt )
inline

This function accepts an address, a data block and a packet.

If the address range for the data block contains the address which the packet needs to read, then the data from the data block is written to the packet. True is returned if the data block was read, otherwise false is returned.

This is used during a functional access "search the world" operation. The functional access looks in every place that might hold a valid data block and, if it finds one, checks to see if it is holding the address the access is searching for. During the access check, the WriteMask could be in any state, including empty.

Definition at line 234 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr, data, gem5::floorLog2(), gem5::Packet::getAddr(), gem5::ruby::DataBlock::getBlockSize(), gem5::ruby::DataBlock::getByte(), gem5::Packet::getPtr(), gem5::Packet::getSize(), gem5::ArmISA::i, and makeLineAddress().

◆ testAndReadMask()

bool gem5::ruby::testAndReadMask ( Addr addr,
DataBlock & blk,
WriteMask & mask,
Packet * pkt )
inline

This function accepts an address, a data block, a write mask and a packet.

If the valid address range for the data block contains the address which the packet needs to read, then the data from the data block is written to the packet. True is returned if any part of the data block was read, otherwise false is returned.

Definition at line 261 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr, data, gem5::floorLog2(), gem5::Packet::getAddr(), gem5::ruby::DataBlock::getBlockSize(), gem5::ruby::DataBlock::getByte(), gem5::Packet::getPtr(), gem5::Packet::getSize(), gem5::ArmISA::i, makeLineAddress(), and gem5::ArmISA::mask.

◆ testAndWrite()

bool gem5::ruby::testAndWrite ( Addr addr,
DataBlock & blk,
Packet * pkt )
inline

This function accepts an address, a data block and a packet.

If the address range for the data block contains the address which the packet needs to write, then the data from the packet is written to the data block. True is returned if the data block was written, otherwise false is returned.

Definition at line 292 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr, data, gem5::floorLog2(), gem5::Packet::getAddr(), gem5::ruby::DataBlock::getBlockSize(), gem5::Packet::getConstPtr(), gem5::Packet::getSize(), gem5::ArmISA::i, makeLineAddress(), and gem5::ruby::DataBlock::setByte().

Referenced by gem5::ruby::RubyRequest::functionalWrite().

◆ tlbiCmdToRubyRequestType()

RubyRequestType gem5::ruby::tlbiCmdToRubyRequestType ( const Packet * pkt)
inline

Definition at line 196 of file RubySlicc_Util.hh.

References panic, and gem5::Packet::req.

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

◆ zero_time()

Cycles gem5::ruby::zero_time ( )
inline

Definition at line 68 of file RubySlicc_Util.hh.

Variable Documentation

◆ BROADCAST_SCALING

const int gem5::ruby::BROADCAST_SCALING = 1

Definition at line 63 of file Throttle.cc.

Referenced by network_message_to_size().

◆ INFINITE_LATENCY

const int gem5::ruby::INFINITE_LATENCY = 10000

Definition at line 48 of file Topology.cc.

Referenced by gem5::ruby::Topology::createLinks().

◆ MESSAGE_SIZE_MULTIPLIER

const int gem5::ruby::MESSAGE_SIZE_MULTIPLIER = 1000

Definition at line 61 of file Throttle.cc.

Referenced by network_message_to_size().

◆ PRIORITY_SWITCH_LIMIT

const int gem5::ruby::PRIORITY_SWITCH_LIMIT = 128

Generated on Sat Oct 18 2025 08:07:02 for gem5 by doxygen 1.14.0