gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::FunctionalRequestProtocol Class Referenceabstract

#include <functional.hh>

Inheritance diagram for gem5::FunctionalRequestProtocol:
gem5::PortProxy gem5::RequestPort gem5::TranslatingPortProxy gem5::AMDGPUMemoryManager::GPUMemPort gem5::AddrMapper::MapperRequestPort gem5::AtomicSimpleCPU::AtomicCPUPort gem5::BaseKvmCPU::KVMCpuPort gem5::BaseTrafficGen::TrafficGenPort gem5::Bridge::BridgeRequestPort gem5::CoherentXBar::CoherentXBarRequestPort gem5::CoherentXBar::SnoopRespPort gem5::CommMonitor::MonitorRequestPort gem5::ComputeUnit::DTLBPort gem5::ComputeUnit::DataPort gem5::ComputeUnit::ITLBPort gem5::ComputeUnit::LDSPort gem5::ComputeUnit::SQCPort gem5::ComputeUnit::ScalarDTLBPort gem5::ComputeUnit::ScalarDataPort gem5::DmaPort gem5::ExternalMaster::ExternalPort gem5::GUPSGen::GenPort gem5::GarnetSyntheticTraffic::CpuPort gem5::Gicv3Its::DataPort gem5::MasterPort gem5::MemCheckerMonitor::MonitorRequestPort gem5::MemTest::CpuPort gem5::MinorCPU::MinorCPUPort gem5::NoncoherentXBar::NoncoherentXBarRequestPort gem5::PortTerminator::ReqPort gem5::ProtocolTester::SeqPort gem5::QueuedRequestPort gem5::RequestPortWrapper gem5::RiscvISA::Walker::WalkerPort gem5::RubyDirectedTester::CpuPort gem5::RubyTester::CpuPort gem5::SMMURequestPort gem5::SMMUTableWalkPort gem5::SerialLink::SerialLinkRequestPort gem5::SimpleCache::MemSidePort gem5::SimpleMemobj::MemSidePort gem5::SpatterGen::SpatterGenPort gem5::SysBridge::SysBridgeTargetPort gem5::System::SystemPort gem5::TLBCoalescer::MemSidePort gem5::ThreadBridge::OutgoingPort gem5::TimingSimpleCPU::TimingCPUPort gem5::TokenRequestPort gem5::TraceCPU::DcachePort gem5::TraceCPU::IcachePort gem5::VegaISA::GpuTLB::MemSidePort gem5::VegaISA::Walker::WalkerPort gem5::VegaTLBCoalescer::MemSidePort gem5::X86ISA::GpuTLB::MemSidePort gem5::X86ISA::Walker::WalkerPort gem5::o3::Fetch::IcachePort gem5::o3::LSQ::DcachePort gem5::ruby::AbstractController::MemoryPort sc_gem5::TlmToGem5Bridge< BITWIDTH >::BridgeRequestPort

Protected Member Functions

void send (FunctionalResponseProtocol *peer, PacketPtr pkt) const
 Send a functional request packet, where the data is instantly updated everywhere in the memory system, without affecting the current state of any block or moving the block.
 
virtual void recvFunctionalSnoop (PacketPtr pkt)=0
 Receive a functional snoop request packet from the peer.
 
void sendMemBackdoorReq (FunctionalResponseProtocol *peer, const MemBackdoorReq &req, MemBackdoorPtr &backdoor)
 Send a request for a back door to a range of memory.
 

Friends

class FunctionalResponseProtocol
 

Detailed Description

Definition at line 52 of file functional.hh.

Member Function Documentation

◆ recvFunctionalSnoop()

◆ send()

void gem5::FunctionalRequestProtocol::send ( FunctionalResponseProtocol * peer,
PacketPtr pkt ) const
protected

Send a functional request packet, where the data is instantly updated everywhere in the memory system, without affecting the current state of any block or moving the block.

Parameters
pktPacket to send.

Definition at line 49 of file functional.cc.

References gem5::Packet::isRequest(), and gem5::FunctionalResponseProtocol::recvFunctional().

Referenced by gem5::RequestPort::sendFunctional().

◆ sendMemBackdoorReq()

void gem5::FunctionalRequestProtocol::sendMemBackdoorReq ( FunctionalResponseProtocol * peer,
const MemBackdoorReq & req,
MemBackdoorPtr & backdoor )
protected

Send a request for a back door to a range of memory.

Parameters
reqAn object which describes what back door is being requested.
backdoorCan be set to a back door pointer by the target to let caller have direct access to the requested range.

Definition at line 57 of file functional.cc.

References gem5::FunctionalResponseProtocol::recvMemBackdoorReq().

Referenced by gem5::RequestPort::sendMemBackdoorReq().

Friends And Related Symbol Documentation

◆ FunctionalResponseProtocol

friend class FunctionalResponseProtocol
friend

Definition at line 54 of file functional.hh.


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

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