Go to the documentation of this file.
39 const OutgoingRequestBridgeParams ¶ms) :
41 outgoingPort(
std::string(
name()), this),
42 sstResponder(nullptr),
43 physicalAddressRanges(params.physical_address_ranges.begin(),
44 params.physical_address_ranges.end())
111 uint8_t* ptr = pkt->
getPtr<uint8_t>();
112 uint64_t size = pkt->
getSize();
121 assert(
false &&
"OutgoingRequestPort::recvAtomic not implemented");
129 owner->handleRecvFunctional(pkt);
136 owner->sstResponder->handleRecvTimingReq(pkt);
144 owner->sstResponder->handleRecvRespRetry();
151 return owner->physicalAddressRanges;
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
OutgoingRequestPort(const std::string &name_, OutgoingRequestBridge *owner_)
void sendTimingSnoopReq(PacketPtr pkt)
std::vector< std::pair< Addr, std::vector< uint8_t > > > getInitData() const
Tick recvAtomic(PacketPtr pkt)
Receive an atomic request packet from the peer.
bool sendTimingResp(PacketPtr pkt)
AddrRangeList getAddrRanges() const
std::vector< std::pair< Addr, std::vector< uint8_t > > > initData
AddrRangeList getAddrRanges() const
Get a list of the non-overlapping address ranges the owner is responsible for.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
OutgoingRequestBridge * owner
uint64_t Tick
Tick count type.
bool sendTimingResp(PacketPtr pkt)
Attempt to send a timing response to the request port by calling its corresponding receive function.
void sendTimingSnoopReq(PacketPtr pkt)
Attempt to send a timing snoop request packet to the request port by calling its corresponding receiv...
bool isConnected() const
Is this port currently connected to a peer?
Abstract superclass for simulation objects.
const std::string & name()
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void sendRangeChange() const
Called by the owner to send a range change.
A ResponsePort is a specialization of a port.
Ports are used to interface objects to each other.
Overload hash function for BasicBlockRange type.
OutgoingRequestPort outgoingPort
void handleRecvFunctional(PacketPtr pkt)
OutgoingRequestBridge(const OutgoingRequestBridgeParams ¶ms)
SSTResponderInterface * sstResponder
bool recvTimingReq(PacketPtr pkt)
Receive a timing request from the peer.
Port & getPort(const std::string &if_name, PortID idx)
Get a port with a given name and index.
void recvFunctional(PacketPtr pkt)
Receive a functional request packet from the peer.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void setResponder(SSTResponderInterface *responder)
void recvRespRetry()
Called by the peer if sendTimingResp was called on this protocol (causing recvTimingResp to be called...
T * getPtr()
get a pointer to the data ptr.
Generated on Sun Jul 30 2023 01:57:00 for gem5 by doxygen 1.8.17