Go to the documentation of this file.
38 #ifndef __DEV_ARM_SMMU_V3_DEVICEIFC_HH__
39 #define __DEV_ARM_SMMU_V3_DEVICEIFC_HH__
48 #include "params/SMMUv3DeviceInterface.hh"
129 const SMMUv3DeviceInterfaceParams *
132 return static_cast<const SMMUv3DeviceInterfaceParams *
>(
_params);
SMMUATSDevicePort atsDevicePort
void schedTimingResp(PacketPtr pkt)
DrainState drain() override
Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are pa...
const bool prefetchReserveLastWay
SMMUDevicePort * devicePort
unsigned wrBufSlotsRemaining
bool atsRecvTimingResp(PacketPtr pkt)
bool recvTimingReq(PacketPtr pkt)
uint64_t Tick
Tick count type.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
SMMUDeviceRetryEvent sendDeviceRetryEvent
SMMUv3DeviceInterface(const SMMUv3DeviceInterfaceParams *p)
SMMUATSMemoryPort atsMemPort
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
DrainState
Object drain/handover states.
SMMUSemaphore devicePortSem
SMMUSemaphore microTLBSem
Ports are used to interface objects to each other.
unsigned pendingMemAccesses
SMMUSignal dependentReqRemoved
const bool prefetchEnable
Port & getPort(const std::string &name, PortID id) override
Get a port with a given name and index.
virtual const std::string name() const
Tick atsRecvAtomic(PacketPtr pkt)
void schedAtsTimingResp(PacketPtr pkt)
std::list< SMMUTranslationProcess * > duplicateReqs
const bool microTLBEnable
SMMUSignal duplicateReqRemoved
const SimObjectParams * _params
Cached copy of the object parameters.
unsigned xlateSlotsRemaining
Tick recvAtomic(PacketPtr pkt)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
const SMMUv3DeviceInterfaceParams * params() const
std::list< SMMUTranslationProcess * > dependentWrites[SMMU_MAX_TRANS_ID]
bool atsRecvTimingReq(PacketPtr pkt)
EventWrapper< SMMUv3DeviceInterface, &SMMUv3DeviceInterface::atsSendDeviceRetry > atsSendDeviceRetryEvent
Cycles is a wrapper class for representing cycle counts, i.e.
void setSMMU(SMMUv3 *_smmu)
void atsSendDeviceRetry()
void scheduleDeviceRetry()
std::list< SMMUTranslationProcess * > dependentReads[SMMU_MAX_TRANS_ID]
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17