39 const OutgoingRequestBridgeParams &
params) :
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;
virtual std::string name() const
OutgoingRequestBridge * owner
void recvFunctional(PacketPtr pkt)
Receive a functional request packet from the peer.
void recvRespRetry()
Called by the peer if sendTimingResp was called on this protocol (causing recvTimingResp to be called...
bool recvTimingReq(PacketPtr pkt)
Receive a timing request from the peer.
OutgoingRequestPort(const std::string &name_, OutgoingRequestBridge *owner_)
AddrRangeList getAddrRanges() const
Get a list of the non-overlapping address ranges the owner is responsible for.
Tick recvAtomic(PacketPtr pkt)
Receive an atomic request packet from the peer.
void sendTimingSnoopReq(PacketPtr pkt)
Port & getPort(const std::string &if_name, PortID idx)
Get a port with a given name and index.
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
SSTResponderInterface * sstResponder
bool sendTimingResp(PacketPtr pkt)
void handleRecvFunctional(PacketPtr pkt)
OutgoingRequestBridge(const OutgoingRequestBridgeParams ¶ms)
OutgoingRequestPort outgoingPort
std::vector< std::pair< Addr, std::vector< uint8_t > > > initData
std::vector< std::pair< Addr, std::vector< uint8_t > > > getInitData() const
AddrRangeList getAddrRanges() const
AddrRangeList physicalAddressRanges
void setResponder(SSTResponderInterface *responder)
T * getPtr()
get a pointer to the data ptr.
Ports are used to interface objects to each other.
ResponsePort(const std::string &name, SimObject *_owner, PortID id=InvalidPortID)
Response port.
std::list< AddrRange > AddrRangeList
Convenience typedef for a collection of address ranges.
const Params & params() const
SimObject(const Params &p)
Copyright (c) 2024 Arm Limited All rights reserved.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
uint64_t Tick
Tick count type.
Overload hash function for BasicBlockRange type.