gem5
v20.0.0.2
|
#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 BaseCache::CpuSidePort, X86ISA::GpuTLB::CpuSidePort, Bridge::BridgeSlavePort, CommMonitor::MonitorSlavePort, SerialLink::SerialLinkSlavePort, AddrMapper::MapperSlavePort, MemCheckerMonitor::MonitorSlavePort, TLBCoalescer::CpuSidePort, LdsState::CuSidePort, GPUCoalescer::GMTokenPort, SMMUATSSlavePort, RubyPort::PioSlavePort, CoherentXBar::CoherentXBarSlavePort, DRAMCtrl::MemoryPort, NoncoherentXBar::NoncoherentXBarSlavePort, SimpleCache::CPUSidePort, MemDelay::SlavePort, SMMUControlPort, SimpleMemobj::CPUSidePort, sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort, QoS::MemSinkCtrl::MemoryPort, RubyPort::MemSlavePort, SimpleMemory::MemoryPort, SMMUSlavePort, SimpleTimingPort, DRAMSim2::MemoryPort, X86ISA::IntSlavePort< Device >, X86ISA::IntSlavePort< X86ISA::Interrupts >, StubSlavePort, PioPort< Device >, PioPort< PioDevice >, and PioPort< X86ISA::Interrupts >.
Referenced by SlavePort::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 SlavePort, CoherentXBar::CoherentXBarSlavePort, NoncoherentXBar::NoncoherentXBarSlavePort, sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort, 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 SlavePort::sendAtomicSnoop().
|
friend |