gem5  v20.0.0.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Protected Member Functions | Friends | List of all members
AtomicResponseProtocol Class Referenceabstract

#include <atomic.hh>

Inheritance diagram for AtomicResponseProtocol:
SlavePort AddrMapper::MapperSlavePort Bridge::BridgeSlavePort CommMonitor::MonitorSlavePort DRAMSim2::MemoryPort ExternalSlave::ExternalPort LdsState::CuSidePort MemCheckerMonitor::MonitorSlavePort QueuedSlavePort sc_gem5::Gem5ToTlmBridge< BITWIDTH >::BridgeSlavePort SerialLink::SerialLinkSlavePort SimpleCache::CPUSidePort SimpleMemobj::CPUSidePort SimpleMemory::MemoryPort TLBCoalescer::CpuSidePort TokenSlavePort X86ISA::GpuTLB::CpuSidePort

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
 

Detailed Description

Definition at line 86 of file atomic.hh.

Member Function Documentation

◆ recvAtomic()

virtual Tick AtomicResponseProtocol::recvAtomic ( PacketPtr  pkt)
protectedpure virtual

◆ recvAtomicBackdoor()

virtual Tick AtomicResponseProtocol::recvAtomicBackdoor ( PacketPtr  pkt,
MemBackdoorPtr backdoor 
)
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().

◆ sendSnoop()

Tick AtomicResponseProtocol::sendSnoop ( AtomicRequestProtocol peer,
PacketPtr  pkt 
)
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.

Parameters
peerPeer to send packet to.
pktSnoop packet to send.
Returns
Estimated latency of access.

Definition at line 65 of file atomic.cc.

References Packet::isRequest(), and AtomicRequestProtocol::recvAtomicSnoop().

Referenced by SlavePort::sendAtomicSnoop().

Friends And Related Function Documentation

◆ AtomicRequestProtocol

friend class AtomicRequestProtocol
friend

Definition at line 88 of file atomic.hh.


The documentation for this class was generated from the following files:

Generated on Mon Jun 8 2020 15:45:19 for gem5 by doxygen 1.8.13