gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::ruby Namespace Reference

Namespaces

namespace  garnet
 

Classes

class  AbstractCacheEntry
 
class  AbstractController
 
class  AccessTraceForAddress
 
class  AddressProfiler
 
class  ALUFreeListArray
 
class  BankedArray
 
class  BaseRoutingUnit
 
class  BasicExtLink
 
class  BasicIntLink
 
class  BasicLink
 
class  BasicRouter
 
class  CacheMemory
 
class  CacheRecorder
 
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  MN_TBEStorage
 
class  MN_TBETable
 
class  NetDest
 
class  Network
 
class  PendingWriteInst
 
struct  PerfectCacheLineState
 
class  PerfectCacheMemory
 
class  PerfectSwitch
 
class  PersistentTable
 
class  PersistentTableEntry
 
class  PrefetchEntry
 
class  Profiler
 
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  SimpleExtLink
 
class  SimpleIntLink
 
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  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)
 
Addr makeLineAddress (Addr addr)
 
Addr makeLineAddress (Addr addr, int cacheLineBits)
 
Addr makeNextStrideAddress (Addr addr, int stride)
 
std::string printAddress (Addr addr)
 
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)
 
NetDest broadcast (MachineType type)
 
MachineID mapAddressToRange (Addr addr, MachineType type, int low_bit, int num_bits, int cluster_id=0)
 
NodeID machineIDToNodeID (MachineID machID)
 
MachineType machineIDToMachineType (MachineID machID)
 
int machineCount (MachineType machType)
 
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 SequencerRequest &obj)
 
std::ostream & operator<< (std::ostream &out, const Sequencer &obj)
 

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::X86ISA::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 )

◆ broadcast()

NetDest gem5::ruby::broadcast ( MachineType type)
inline

◆ compareTraceRecords()

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

◆ countBoolVec()

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

Definition at line 308 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 87 of file RubySlicc_ComponentMapping.hh.

References gem5::X86ISA::type.

◆ getOffset()

◆ getRequestorID()

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

Definition at line 320 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.

References gem5::X86ISA::type.

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(), and gem5::X86ISA::type.

◆ isTlbiCmdRequest()

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

Definition at line 166 of file RubySlicc_Util.hh.

References gem5::X86ISA::type.

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

◆ isWriteRequest()

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

Definition at line 114 of file RubySlicc_Util.hh.

References gem5::X86ISA::type.

◆ lookupTraceForAddress()

◆ machineCount()

int gem5::ruby::machineCount ( MachineType machType)
inline

Definition at line 81 of file RubySlicc_ComponentMapping.hh.

◆ machineIDToMachineType()

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

Definition at line 75 of file RubySlicc_ComponentMapping.hh.

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

◆ machineIDToNodeID()

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

Definition at line 69 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 94 of file RubySlicc_ComponentMapping.hh.

References gem5::X86ISA::type.

◆ makeLineAddress() [1/2]

Addr gem5::ruby::makeLineAddress ( Addr addr)

Definition at line 60 of file Address.cc.

References gem5::X86ISA::addr, gem5::ruby::RubySystem::getBlockSizeBits(), and gem5::mbits().

Referenced by gem5::ruby::CacheMemory::addressToCacheSet(), gem5::ruby::AddressProfiler::addTraceSample(), gem5::ruby::CacheMemory::allocate(), gem5::ruby::PerfectCacheMemory< ENTRY >::allocate(), gem5::ruby::GPUCoalescer::atomicCallback(), gem5::ruby::Sequencer::atomicCallback(), gem5::ruby::CacheMemory::cacheAvail(), gem5::ruby::CacheMemory::cacheProbe(), gem5::ruby::PerfectCacheMemory< ENTRY >::changePermission(), gem5::ruby::CacheMemory::checkResourceAvailable(), gem5::ruby::GPUCoalescer::coalescePacket(), gem5::ruby::RubyPrefetcherProxy::completePrefetch(), gem5::ruby::PersistentTable::countReadStarvingForAddress(), gem5::ruby::PersistentTable::countStarvingForAddress(), gem5::ruby::PerfectCacheMemory< ENTRY >::deallocate(), gem5::ruby::PersistentTable::findSmallest(), gem5::ruby::CacheMemory::findTagInSet(), gem5::ruby::CacheMemory::findTagInSetIgnorePermissions(), gem5::ruby::RubySystem::functionalRead(), gem5::ruby::RubySystem::functionalWrite(), gem5::ruby::PerfectCacheMemory< ENTRY >::getPermission(), gem5::ruby::GPUCoalescer::hitCallback(), gem5::ruby::Sequencer::hitCallback(), gem5::ruby::HTMSequencer::htmCallback(), gem5::ruby::RubyPrefetcher::initializeStream(), gem5::FetchUnit::initiateFetch(), gem5::ruby::Sequencer::insertRequest(), gem5::ruby::PersistentTable::isLocked(), gem5::ruby::TBETable< ENTRY >::isPresent(), gem5::ruby::DMASequencer::issueNext(), gem5::ruby::VIPERCoalescer::issueRequest(), gem5::ruby::PerfectCacheMemory< ENTRY >::isTagPresent(), gem5::ruby::Sequencer::llscCheckMonitor(), gem5::ruby::CacheMemory::lookup(), gem5::ruby::CacheMemory::lookup(), gem5::ruby::PerfectCacheMemory< ENTRY >::lookup(), gem5::ruby::PerfectCacheMemory< ENTRY >::lookup(), makeNextStrideAddress(), gem5::ruby::DMASequencer::makeRequest(), gem5::ruby::Sequencer::makeRequest(), gem5::ruby::PersistentTable::markEntries(), gem5::FetchUnit::FetchBufDesc::nextFetchAddr(), gem5::ruby::RubyPrefetcher::observeMiss(), gem5::ruby::PersistentTable::okToIssueStarving(), gem5::Check::performCallback(), gem5::ruby::PersistentTable::persistentRequestLock(), gem5::ruby::PersistentTable::persistentRequestUnlock(), printAddress(), gem5::ruby::GPUCoalescer::readCallback(), gem5::ruby::Sequencer::readCallback(), gem5::ruby::RubyPort::MemResponsePort::recvFunctional(), gem5::ruby::ALUFreeListArray::reserve(), gem5::ruby::RubyRequest::RubyRequest(), gem5::ruby::RubyRequest::RubyRequest(), gem5::ruby::RubyRequest::RubyRequest(), gem5::ruby::TimerTable::set(), gem5::ruby::CacheMemory::setMRU(), gem5::ruby::CacheMemory::setMRU(), testAndRead(), testAndReadMask(), testAndWrite(), gem5::ruby::ALUFreeListArray::tryAccess(), gem5::ruby::PersistentTable::typeOfSmallest(), gem5::ruby::TimerTable::unset(), gem5::ruby::GPUCoalescer::writeCallback(), gem5::ruby::Sequencer::writeCallback(), and gem5::ruby::VIPERCoalescer::writeCompleteCallback().

◆ makeLineAddress() [2/2]

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

Definition at line 66 of file Address.cc.

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

◆ makeNextStrideAddress()

◆ 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 gem5::X86ISA::mod, and gem5::X86ISA::val.

◆ 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/45]

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/45]

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/45]

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/45]

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

Definition at line 131 of file AbstractCacheEntry.hh.

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

◆ operator<<() [5/45]

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

◆ operator<<() [6/45]

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<<() [7/45]

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<<() [8/45]

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<<() [9/45]

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<<() [10/45]

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<<() [11/45]

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

Definition at line 142 of file DataBlock.hh.

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

◆ operator<<() [12/45]

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

Definition at line 115 of file DirectoryMemory.hh.

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

◆ operator<<() [13/45]

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

◆ operator<<() [14/45]

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

Definition at line 538 of file GPUCoalescer.hh.

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

◆ operator<<() [15/45]

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<<() [16/45]

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<<() [17/45]

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

Definition at line 147 of file Message.hh.

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

◆ operator<<() [18/45]

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

Definition at line 299 of file MessageBuffer.hh.

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

◆ operator<<() [19/45]

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

Definition at line 117 of file NetDest.hh.

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

◆ operator<<() [20/45]

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

Definition at line 181 of file Network.hh.

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

◆ operator<<() [21/45]

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

Definition at line 65 of file PerfectCacheMemory.hh.

◆ operator<<() [22/45]

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

◆ operator<<() [23/45]

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<<() [24/45]

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

Definition at line 90 of file PersistentTable.hh.

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

◆ operator<<() [25/45]

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

Definition at line 98 of file PersistentTable.hh.

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

◆ operator<<() [26/45]

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

Definition at line 242 of file RubyRequest.hh.

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

◆ operator<<() [27/45]

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

Definition at line 363 of file Sequencer.hh.

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

◆ operator<<() [28/45]

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

◆ operator<<() [29/45]

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<<() [30/45]

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<<() [31/45]

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<<() [32/45]

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<<() [33/45]

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<<() [34/45]

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

Definition at line 730 of file GPUCoalescer.cc.

References gem5::ArmISA::i.

◆ operator<<() [35/45]

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<<() [36/45]

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

Definition at line 79 of file SubBlock.hh.

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

◆ operator<<() [37/45]

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

Definition at line 144 of file Switch.hh.

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

◆ operator<<() [38/45]

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

Definition at line 92 of file TBETable.hh.

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

◆ operator<<() [39/45]

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

Definition at line 158 of file Throttle.hh.

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

◆ operator<<() [40/45]

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

Definition at line 94 of file TimerTable.hh.

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

◆ operator<<() [41/45]

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

Definition at line 121 of file Topology.hh.

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

◆ operator<<() [42/45]

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

Definition at line 130 of file CacheRecorder.hh.

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

◆ operator<<() [43/45]

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<<() [44/45]

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

Definition at line 49 of file WireBuffer.cc.

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

◆ operator<<() [45/45]

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

Definition at line 256 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 151 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

◆ printAddress()

◆ 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 207 of file MessageBuffer.cc.

References gem5::Random::random(), and gem5::random_mt.

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::Packet::getAddr(), 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 260 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr, data, gem5::Packet::getAddr(), 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 289 of file RubySlicc_Util.hh.

References gem5::X86ISA::addr, data, gem5::Packet::getAddr(), 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 47 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 Tue Jun 18 2024 16:24:22 for gem5 by doxygen 1.11.0