Go to the documentation of this file.
38 #ifndef __DEV_ARM_SMMU_V3_PROC_HH__
39 #define __DEV_ARM_SMMU_V3_PROC_HH__
85 std::queue<SMMUProcess *>
queue;
SMMUProcess(const std::string &name, SMMUv3 &_smmu)
void doSleep(Yield &yield)
CallerType: A reference to an object of this class will be passed to the coroutine task.
Coroutine::CallerType Yield
virtual void main(Yield &yield)=0
uint64_t Tick
Tick count type.
SMMUv3DeviceInterface * ifc
SMMUAction run(PacketPtr pkt)
void doBroadcastSignal(SMMUSignal &sig)
void doWrite(Yield &yield, Addr addr, const void *ptr, size_t size)
A virtual base opaque structure used to hold state associated with the packet (e.g....
SMMUSemaphore(unsigned _max)
void doRead(Yield &yield, Addr addr, void *ptr, size_t size)
void scheduleWakeup(Tick when)
void doSemaphoreUp(SMMUSemaphore &sem)
std::queue< SMMUProcess * > queue
This template defines a Coroutine wrapper type with a Boost-like interface.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void doSemaphoreDown(Yield &yield, SMMUSemaphore &sem)
Cycles is a wrapper class for representing cycle counts, i.e.
m5::Coroutine< PacketPtr, SMMUAction > Coroutine
void doDelay(Yield &yield, Cycles cycles)
void doWaitForSignal(Yield &yield, SMMUSignal &sig)
std::list< SMMUProcess * > waiting
const std::string name() const
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17