gem5 v24.0.0.0
|
#include <functional.hh>
Protected Member Functions | |
void | sendSnoop (FunctionalRequestProtocol *peer, PacketPtr pkt) const |
Send a functional snoop 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 | recvFunctional (PacketPtr pkt)=0 |
Receive a functional request packet from the peer. | |
virtual void | recvMemBackdoorReq (const MemBackdoorReq &req, MemBackdoorPtr &backdoor)=0 |
Receive a request for a back door to a range of memory. | |
Friends | |
class | FunctionalRequestProtocol |
Definition at line 82 of file functional.hh.
|
protectedpure virtual |
Receive a functional request packet from the peer.
Implemented in gem5::AddrMapper::MapperResponsePort, gem5::BaseCache::CpuSidePort, gem5::Bridge::BridgeResponsePort, gem5::CoherentXBar::CoherentXBarResponsePort, gem5::CommMonitor::MonitorResponsePort, gem5::LdsState::CuSidePort, gem5::MemCheckerMonitor::MonitorResponsePort, gem5::MemDelay::ResponsePort, gem5::memory::CfiMemory::MemoryPort, gem5::memory::DRAMSim2::MemoryPort, gem5::memory::DRAMsim3::MemoryPort, gem5::memory::MemCtrl::MemoryPort, gem5::memory::qos::MemSinkCtrl::MemoryPort, gem5::memory::SimpleMemory::MemoryPort, gem5::NoncoherentXBar::NoncoherentXBarResponsePort, gem5::OutgoingRequestBridge::OutgoingRequestPort, gem5::ResponsePortWrapper, gem5::ruby::GPUCoalescer::GMTokenPort, gem5::ruby::RubyPort::MemResponsePort, gem5::ruby::RubyPort::PioResponsePort, gem5::SerialLink::SerialLinkResponsePort, gem5::SimpleCache::CPUSidePort, gem5::SimpleMemobj::CPUSidePort, gem5::SimpleTimingPort, gem5::SMMUATSDevicePort, gem5::SMMUDevicePort, gem5::StubSlavePort, gem5::SysBridge::SysBridgeSourcePort, gem5::ThreadBridge::IncomingPort, gem5::TLBCoalescer::CpuSidePort, gem5::VegaISA::GpuTLB::CpuSidePort, gem5::VegaTLBCoalescer::CpuSidePort, gem5::X86ISA::GpuTLB::CpuSidePort, and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeResponsePort.
Referenced by gem5::FunctionalRequestProtocol::send().
|
protectedpure virtual |
Receive a request for a back door to a range of memory.
req | An object which describes what back door is being requested. |
backdoor | Can be set to a back door pointer by the target to let caller have direct access to the requested range. |
Implemented in gem5::AddrMapper::MapperResponsePort, gem5::Bridge::BridgeResponsePort, gem5::CoherentXBar::CoherentXBarResponsePort, gem5::memory::CfiMemory::MemoryPort, gem5::memory::MemCtrl::MemoryPort, gem5::memory::SimpleMemory::MemoryPort, gem5::NoncoherentXBar::NoncoherentXBarResponsePort, gem5::ResponsePort, gem5::ResponsePortWrapper, gem5::SysBridge::SysBridgeSourcePort, and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeResponsePort.
Referenced by gem5::FunctionalRequestProtocol::sendMemBackdoorReq().
|
protected |
Send a functional snoop 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.
pkt | Snoop packet to send. |
Definition at line 67 of file functional.cc.
References gem5::Packet::isRequest(), and gem5::FunctionalRequestProtocol::recvFunctionalSnoop().
Referenced by gem5::ResponsePort::sendFunctionalSnoop().
|
friend |
Definition at line 84 of file functional.hh.