gem5 v24.0.0.0
|
#include <atomic.hh>
Protected Member Functions | |
Tick | send (AtomicResponseProtocol *peer, PacketPtr pkt) |
Send an atomic request packet, where the data is moved and the state is updated in zero time, without interleaving with other memory accesses. | |
Tick | sendBackdoor (AtomicResponseProtocol *peer, PacketPtr pkt, MemBackdoorPtr &backdoor) |
Send an atomic request packet like above, but also request a backdoor to the data being accessed. | |
virtual Tick | recvAtomicSnoop (PacketPtr pkt)=0 |
Receive an atomic snoop request packet from our peer. | |
Friends | |
class | AtomicResponseProtocol |
Receive an atomic snoop request packet from our peer.
Implemented in gem5::AddrMapper::MapperRequestPort, gem5::AtomicSimpleCPU::AtomicCPUDPort, gem5::BaseCache::MemSidePort, gem5::BaseTrafficGen::TrafficGenPort, gem5::CoherentXBar::CoherentXBarRequestPort, gem5::CommMonitor::MonitorRequestPort, gem5::MemCheckerMonitor::MonitorRequestPort, gem5::MemDelay::RequestPort, gem5::MemTest::CpuPort, gem5::RequestPort, and gem5::SysBridge::SysBridgeTargetPort.
Referenced by gem5::AtomicResponseProtocol::sendSnoop().
|
protected |
Send an atomic 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 | Packet to send. |
Definition at line 51 of file atomic.cc.
References gem5::Packet::isRequest(), and gem5::AtomicResponseProtocol::recvAtomic().
Referenced by gem5::RequestPort::sendAtomic().
|
protected |
Send an atomic request packet like above, but also request a backdoor to the data being accessed.
peer | Peer to send packet to. |
pkt | Packet to send. |
backdoor | Can be set to a back door pointer by the target to let caller have direct access to the requested data. |
Definition at line 58 of file atomic.cc.
References gem5::Packet::isRequest(), and gem5::AtomicResponseProtocol::recvAtomicBackdoor().
Referenced by gem5::RequestPort::sendAtomicBackdoor().
|
friend |