Go to the documentation of this file.
61 #ifndef __MEM_PORT_WRAPPER_HH__
62 #define __MEM_PORT_WRAPPER_HH__
157 #endif //__MEM_PORT_WRAPPER_HH__
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
RecvTimingReqCallback recvTimingReqCb
const std::string name() const
Return port name (for DPRINTF).
void setTimingCallbacks(RecvTimingReqCallback, RecvRespRetryCallback)
RecvAtomicCallback recvAtomicCb
std::list< AddrRange > AddrRangeList
Convenience typedef for a collection of address ranges.
The RequestPortWrapper converts inherit-based RequestPort into callback-based.
std::function< bool(PacketPtr)> RecvTimingRespCallback
The ResponsePortWrapper converts inherit-based ResponsePort into callback-based.
std::function< void(PacketPtr)> RecvFunctionalCallback
std::function< void()> RecvRangeChangeCallback
RecvRespRetryCallback recvRespRetryCb
bool recvTimingResp(PacketPtr) override
Receive a timing response from the peer.
const PortID InvalidPortID
Tick recvAtomicBackdoor(PacketPtr, MemBackdoorPtr &) override
Default implementations.
RecvMemBackdoorReqCallback recvMemBackdoorReqCb
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
ResponsePortWrapper(const std::string &name, PortID id=InvalidPortID)
Tick recvAtomic(PacketPtr) override
Receive an atomic request packet from the peer.
void setAtomicCallbacks(RecvAtomicCallback, RecvAtomicBackdoorCallback=nullptr)
RecvReqRetryCallback recvReqRetryCb
void recvReqRetry() override
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void recvRangeChange() override
Called to receive an address range change from the peer response port.
GetAddrRangesCallback getAddrRangesCb
uint64_t Tick
Tick count type.
std::function< AddrRangeList()> GetAddrRangesCallback
void setGetAddrRangesCallback(GetAddrRangesCallback)
AddrRangeList getAddrRanges() const override
Get a list of the non-overlapping address ranges the owner is responsible for.
RecvAtomicBackdoorCallback recvAtomicBackdoorCb
RecvTimingRespCallback recvTimingRespCb
void recvMemBackdoorReq(const MemBackdoorReq &, MemBackdoorPtr &) override
Receive a request for a back door to a range of memory.
std::function< Tick(PacketPtr)> RecvAtomicCallback
void setTimingCallbacks(RecvTimingRespCallback, RecvReqRetryCallback)
A ResponsePort is a specialization of a port.
bool recvTimingReq(PacketPtr) override
Receive a timing request from the peer.
void setFunctionalCallbacks(RecvFunctionalCallback, RecvMemBackdoorReqCallback=nullptr)
std::function< Tick(PacketPtr, MemBackdoorPtr &)> RecvAtomicBackdoorCallback
std::function< void()> RecvReqRetryCallback
RequestPortWrapper(const std::string &name, PortID id=InvalidPortID)
RecvFunctionalCallback recvFunctionalCb
void recvFunctional(PacketPtr) override
Receive a functional request packet from the peer.
RecvRangeChangeCallback recvRangeChangeCb
void setRangeChangeCallback(RecvReqRetryCallback)
void recvRespRetry() override
Called by the peer if sendTimingResp was called on this protocol (causing recvTimingResp to be called...
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::function< bool(PacketPtr)> RecvTimingReqCallback
std::function< void()> RecvRespRetryCallback
std::function< void(const MemBackdoorReq &, MemBackdoorPtr &)> RecvMemBackdoorReqCallback
Generated on Sun Jul 30 2023 01:56:58 for gem5 by doxygen 1.8.17