gem5 v24.0.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. | |
virtual Tick | recvAtomic (PacketPtr pkt)=0 |
Receive an atomic request packet from the peer. | |
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. | |
Friends | |
class | AtomicRequestProtocol |
Receive an atomic 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::PioPort< Device >, gem5::PioPort< gem5::PioDevice >, gem5::PioPort< gem5::X86ISA::Interrupts >, 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::SMMUControlPort, gem5::SMMUDevicePort, gem5::StubSlavePort, gem5::SysBridge::SysBridgeSourcePort, gem5::ThreadBridge::IncomingPort, gem5::TLBCoalescer::CpuSidePort, gem5::VegaISA::GpuTLB::CpuSidePort, gem5::VegaTLBCoalescer::CpuSidePort, gem5::X86ISA::GpuTLB::CpuSidePort, gem5::X86ISA::IntResponsePort< Device >, gem5::X86ISA::IntResponsePort< gem5::X86ISA::Interrupts >, and sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeResponsePort.
Referenced by gem5::ResponsePort::recvAtomicBackdoor(), and gem5::AtomicRequestProtocol::send().
|
protectedpure virtual |
Receive an atomic request packet from the peer, and optionally provide a backdoor to the data being accessed.
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::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 68 of file atomic.cc.
References gem5::Packet::isRequest(), and gem5::AtomicRequestProtocol::recvAtomicSnoop().
Referenced by gem5::ResponsePort::sendAtomicSnoop().
|
friend |