gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::SMMUProcess Class Referenceabstract

#include <smmu_v3_proc.hh>

Inheritance diagram for gem5::SMMUProcess:
gem5::Packet::SenderState gem5::SMMUCommandExecProcess gem5::SMMUTranslationProcess

Public Member Functions

 SMMUProcess (const std::string &name, SMMUv3 &_smmu)
virtual ~SMMUProcess ()
SMMUAction run (PacketPtr pkt)
const std::string name () const
Public Member Functions inherited from gem5::Packet::SenderState
 SenderState ()
virtual ~SenderState ()

Protected Types

typedef Coroutine::CallerType Yield

Protected Member Functions

void reinit ()
virtual void main (Yield &yield)=0
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

SMMUv3smmu

Private Types

typedef gem5::Coroutine< PacketPtr, SMMUActionCoroutine

Private Member Functions

void wakeup ()

Private Attributes

Coroutinecoroutine
std::string myName

Additional Inherited Members

Public Attributes inherited from gem5::Packet::SenderState
SenderStatepredecessor

Detailed Description

Definition at line 97 of file smmu_v3_proc.hh.

Member Typedef Documentation

◆ Coroutine

◆ Yield

typedef Coroutine::CallerType gem5::SMMUProcess::Yield
protected

Definition at line 108 of file smmu_v3_proc.hh.

Constructor & Destructor Documentation

◆ SMMUProcess()

gem5::SMMUProcess::SMMUProcess ( const std::string & name,
SMMUv3 & _smmu )

◆ ~SMMUProcess()

gem5::SMMUProcess::~SMMUProcess ( )
virtual

Definition at line 55 of file smmu_v3_proc.cc.

References coroutine.

Member Function Documentation

◆ doBroadcastSignal()

void gem5::SMMUProcess::doBroadcastSignal ( SMMUSignal & sig)
protected

◆ doDelay()

◆ doRead()

◆ doSemaphoreDown()

◆ doSemaphoreUp()

◆ doSleep()

void gem5::SMMUProcess::doSleep ( Yield & yield)
protected

◆ doWaitForSignal()

void gem5::SMMUProcess::doWaitForSignal ( Yield & yield,
SMMUSignal & sig )
protected

◆ doWrite()

◆ main()

virtual void gem5::SMMUProcess::main ( Yield & yield)
protectedpure virtual

Implemented in gem5::SMMUCommandExecProcess, and gem5::SMMUTranslationProcess.

References gem5::X86ISA::addr, and name().

Referenced by reinit().

◆ name()

const std::string gem5::SMMUProcess::name ( ) const
inline

◆ reinit()

◆ run()

SMMUAction gem5::SMMUProcess::run ( PacketPtr pkt)

Definition at line 208 of file smmu_v3_proc.cc.

References coroutine.

Referenced by gem5::SMMUv3::runProcessAtomic(), and gem5::SMMUv3::runProcessTiming().

◆ scheduleWakeup()

void gem5::SMMUProcess::scheduleWakeup ( Tick when)
protected

Definition at line 200 of file smmu_v3_proc.cc.

References gem5::MipsISA::ep, and smmu.

Referenced by doDelay(), doSemaphoreUp(), and gem5::SMMUTranslationProcess::issuePrefetch().

◆ wakeup()

void gem5::SMMUProcess::wakeup ( )
private

Definition at line 61 of file smmu_v3_proc.cc.

References smmu.

Member Data Documentation

◆ coroutine

Coroutine* gem5::SMMUProcess::coroutine
private

Definition at line 102 of file smmu_v3_proc.hh.

Referenced by reinit(), run(), SMMUProcess(), and ~SMMUProcess().

◆ myName

std::string gem5::SMMUProcess::myName
private

Definition at line 103 of file smmu_v3_proc.hh.

Referenced by name(), and SMMUProcess().

◆ smmu


The documentation for this class was generated from the following files:

Generated on Sat Oct 18 2025 08:06:54 for gem5 by doxygen 1.14.0