gem5
v20.1.0.0
|
#include <atomic.hh>
Protected Member Functions | |
Tick | sendSnoop (AtomicRequestProtocol *peer, PacketPtr pkt) |
Send an atomic snoop request packet, where the data is moved and the state is updated in zero time, without interleaving with other memory accesses. More... | |
virtual Tick | recvAtomic (PacketPtr pkt)=0 |
Receive an atomic request packet from the peer. More... | |
virtual Tick | recvAtomicBackdoor (PacketPtr pkt, MemBackdoorPtr &backdoor)=0 |
Receive an atomic request packet from the peer, and optionally provide a backdoor to the data being accessed. More... | |
Friends | |
class | AtomicRequestProtocol |
Receive an atomic request packet from the peer.
Implemented in GPUCoalescer::GMTokenPort, SimpleTimingPort, BaseCache::CpuSidePort, CoherentXBar::CoherentXBarResponsePort, NoncoherentXBar::NoncoherentXBarResponsePort, SimpleCache::CPUSidePort, MemDelay::ResponsePort, SimpleMemobj::CPUSidePort, sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeResponsePort, SimpleMemory::MemoryPort, PioPort< Device >, PioPort< PioDevice >, PioPort< X86ISA::Interrupts >, MemCtrl::MemoryPort, X86ISA::GpuTLB::CpuSidePort, Bridge::BridgeResponsePort, CommMonitor::MonitorResponsePort, SerialLink::SerialLinkResponsePort, LdsState::CuSidePort, AddrMapper::MapperResponsePort, MemCheckerMonitor::MonitorResponsePort, TLBCoalescer::CpuSidePort, SMMUATSDevicePort, RubyPort::PioResponsePort, SMMUControlPort, QoS::MemSinkCtrl::MemoryPort, RubyPort::MemResponsePort, SMMUDevicePort, DRAMsim3::MemoryPort, DRAMSim2::MemoryPort, X86ISA::IntResponsePort< Device >, X86ISA::IntResponsePort< X86ISA::Interrupts >, and StubSlavePort.
Referenced by ResponsePort::recvAtomicBackdoor(), and AtomicRequestProtocol::send().
|
protectedpure virtual |
Receive an atomic request packet from the peer, and optionally provide a backdoor to the data being accessed.
Implemented in ResponsePort, CoherentXBar::CoherentXBarResponsePort, NoncoherentXBar::NoncoherentXBarResponsePort, sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeResponsePort, and SimpleMemory::MemoryPort.
Referenced by AtomicRequestProtocol::sendBackdoor().
|
protected |
Send an atomic snoop request packet, where the data is moved and the state is updated in zero time, without interleaving with other memory accesses.
peer | Peer to send packet to. |
pkt | Snoop packet to send. |
Definition at line 65 of file atomic.cc.
References Packet::isRequest(), and AtomicRequestProtocol::recvAtomicSnoop().
Referenced by ResponsePort::sendAtomicSnoop().
|
friend |