38 #ifndef __DEV_ARM_SMMU_V3_DEVICEIFC_HH__
39 #define __DEV_ARM_SMMU_V3_DEVICEIFC_HH__
48 #include "params/SMMUv3DeviceInterface.hh"
54 class SMMUTranslationProcess;
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
ClockedObjectParams Params
Parameters of ClockedObject.
Cycles is a wrapper class for representing cycle counts, i.e.
virtual std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Ports are used to interface objects to each other.
SMMUATSMemoryPort atsMemPort
std::list< SMMUTranslationProcess * > dependentReads[SMMU_MAX_TRANS_ID]
void atsSendDeviceRetry()
SMMUATSDevicePort atsDevicePort
void scheduleDeviceRetry()
void schedAtsTimingResp(PacketPtr pkt)
Port & getPort(const std::string &name, PortID id) override
Get a port with a given name and index.
SMMUDeviceRetryEvent sendDeviceRetryEvent
Tick atsRecvAtomic(PacketPtr pkt)
SMMUSignal duplicateReqRemoved
void schedTimingResp(PacketPtr pkt)
SMMUv3DeviceInterface(const Params &p)
bool atsRecvTimingResp(PacketPtr pkt)
const bool prefetchReserveLastWay
PARAMS(SMMUv3DeviceInterface)
Tick recvAtomic(PacketPtr pkt)
const bool microTLBEnable
bool atsRecvTimingReq(PacketPtr pkt)
SMMUDevicePort * devicePort
const bool prefetchEnable
std::list< SMMUTranslationProcess * > dependentWrites[SMMU_MAX_TRANS_ID]
EventWrapper< SMMUv3DeviceInterface, &SMMUv3DeviceInterface::atsSendDeviceRetry > atsSendDeviceRetryEvent
DrainState drain() override
Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are pa...
SMMUSemaphore microTLBSem
unsigned wrBufSlotsRemaining
unsigned pendingMemAccesses
void setSMMU(SMMUv3 *_smmu)
unsigned xlateSlotsRemaining
SMMUSemaphore devicePortSem
SMMUSignal dependentReqRemoved
std::list< SMMUTranslationProcess * > duplicateReqs
bool recvTimingReq(PacketPtr pkt)
ClockedObject declaration and implementation.
DrainState
Object drain/handover states.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
uint64_t Tick
Tick count type.