Go to the documentation of this file.
38 #ifndef __DEV_ARM_SMMU_V3_PORTS_HH__
39 #define __DEV_ARM_SMMU_V3_PORTS_HH__
48 class SMMUv3DeviceInterface;
virtual void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
SMMUATSMemoryPort(const std::string &_name, SMMUv3DeviceInterface &_ifc)
SMMUATSDevicePort(const std::string &_name, SMMUv3DeviceInterface &_ifc)
virtual AddrRangeList getAddrRanges() const
Get a list of the non-overlapping address ranges the owner is responsible for.
RespPacketQueue respQueue
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
virtual bool recvTimingReq(PacketPtr pkt)
Receive a timing request from the peer.
virtual bool recvTimingReq(PacketPtr pkt)
Receive a timing request from the peer.
SMMUv3DeviceInterface & ifc
The QueuedRequestPort combines two queues, a request queue and a snoop response queue,...
std::list< AddrRange > AddrRangeList
Convenience typedef for a collection of address ranges.
virtual ~SMMUATSDevicePort()
SMMUv3DeviceInterface & ifc
SMMUTableWalkPort(const std::string &_name, SMMUv3 &_smmu)
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
virtual ~SMMUControlPort()
virtual AddrRangeList getAddrRanges() const
Get a list of the non-overlapping address ranges the owner is responsible for.
const PortID InvalidPortID
SMMUDevicePort(const std::string &_name, SMMUv3DeviceInterface &_ifc, PortID _id=InvalidPortID)
SMMUv3DeviceInterface & ifc
virtual bool recvTimingResp(PacketPtr pkt)
Receive a timing response from the peer.
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
The simple timing port uses a queued port to implement recvFunctional and recvTimingReq through recvA...
RespPacketQueue respQueue
virtual Tick recvAtomic(PacketPtr pkt)
Receive an atomic request packet from the peer.
virtual ~SMMUTableWalkPort()
A queued port is a port that has an infinite queue for outgoing packets and thus decouples the module...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
uint64_t Tick
Tick count type.
virtual AddrRangeList getAddrRanges() const
Get a list of the non-overlapping address ranges the owner is responsible for.
SnoopRespPacketQueue snoopRespQueue
virtual Tick recvAtomic(PacketPtr pkt)
Receive an atomic request packet from the peer.
virtual void recvFunctional(PacketPtr pkt)
Receive a functional request packet from the peer.
virtual void recvReqRetry()
Called by the peer if sendTimingReq was called on this peer (causing recvTimingReq to be called on th...
SMMURequestPort(const std::string &_name, SMMUv3 &_smmu)
virtual ~SMMURequestPort()
SMMUControlPort(const std::string &_name, SMMUv3 &_smmu, AddrRange _addrRange)
virtual void recvFunctional(PacketPtr pkt)
Receive a functional request packet from the peer.
virtual Tick recvAtomic(PacketPtr pkt)
Receive an atomic request packet from the peer.
virtual ~SMMUDevicePort()
virtual ~SMMUATSMemoryPort()
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Generated on Sun Jul 30 2023 01:56:55 for gem5 by doxygen 1.8.17