gem5
v20.1.0.0
|
#include <smmu_v3_cmdexec.hh>
Public Member Functions | |
SMMUCommandExecProcess (const std::string &name, SMMUv3 &_smmu) | |
virtual | ~SMMUCommandExecProcess () |
bool | isBusy () const |
Public Member Functions inherited from SMMUProcess | |
SMMUProcess (const std::string &name, SMMUv3 &_smmu) | |
virtual | ~SMMUProcess () |
SMMUAction | run (PacketPtr pkt) |
const std::string | name () const |
Public Member Functions inherited from Packet::SenderState | |
SenderState () | |
virtual | ~SenderState () |
Private Member Functions | |
virtual void | main (Yield &yield) |
Private Attributes | |
SMMUCommand | cmd |
bool | busy |
Additional Inherited Members | |
Public Attributes inherited from Packet::SenderState | |
SenderState * | predecessor |
Protected Types inherited from SMMUProcess | |
typedef Coroutine::CallerType | Yield |
Protected Member Functions inherited from SMMUProcess | |
void | reinit () |
void | doRead (Yield &yield, Addr addr, void *ptr, size_t size) |
void | doWrite (Yield &yield, Addr addr, const void *ptr, size_t size) |
void | doDelay (Yield &yield, Cycles cycles) |
void | doSleep (Yield &yield) |
void | doSemaphoreDown (Yield &yield, SMMUSemaphore &sem) |
void | doSemaphoreUp (SMMUSemaphore &sem) |
void | doWaitForSignal (Yield &yield, SMMUSignal &sig) |
void | doBroadcastSignal (SMMUSignal &sig) |
void | scheduleWakeup (Tick when) |
Protected Attributes inherited from SMMUProcess | |
SMMUv3 & | smmu |
Definition at line 46 of file smmu_v3_cmdexec.hh.
|
inline |
Definition at line 56 of file smmu_v3_cmdexec.hh.
References SMMUProcess::reinit().
|
inlinevirtual |
Definition at line 63 of file smmu_v3_cmdexec.hh.
|
inline |
Definition at line 65 of file smmu_v3_cmdexec.hh.
References busy.
Referenced by SMMUv3::drain(), and SMMUv3::processCommands().
|
privatevirtual |
Implements SMMUProcess.
Definition at line 44 of file smmu_v3_cmdexec.cc.
References ArmISA::a, ACTION_INITIAL_NOP, busy, cmd, SMMURegs::cmdq_base, SMMURegs::cmdq_cons, SMMURegs::cmdq_prod, SMMUProcess::doRead(), SMMUProcess::doSleep(), ArmISA::mask, SMMUv3::processCommand(), Q_BASE_ADDR_MASK, Q_BASE_SIZE_MASK, SMMUv3::regs, Drainable::signalDrainDone(), and SMMUProcess::smmu.
|
private |
Definition at line 51 of file smmu_v3_cmdexec.hh.
|
private |
Definition at line 49 of file smmu_v3_cmdexec.hh.
Referenced by main().