|
gem5
v20.1.0.5
|
#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().