gem5  v22.1.0.0
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
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

Definition at line 100 of file smmu_v3_proc.hh.

◆ Yield

Definition at line 108 of file smmu_v3_proc.hh.

Constructor & Destructor Documentation

◆ SMMUProcess()

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

Definition at line 49 of file smmu_v3_proc.cc.

Referenced by scheduleWakeup().

◆ ~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()

void gem5::SMMUProcess::doDelay ( Yield yield,
Cycles  cycles 
)
protected

◆ doRead()

void gem5::SMMUProcess::doRead ( Yield yield,
Addr  addr,
void *  ptr,
size_t  size 
)
protected

◆ doSemaphoreDown()

void gem5::SMMUProcess::doSemaphoreDown ( Yield yield,
SMMUSemaphore sem 
)
protected

◆ doSemaphoreUp()

void gem5::SMMUProcess::doSemaphoreUp ( SMMUSemaphore sem)
protected

◆ doSleep()

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

◆ doWaitForSignal()

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

◆ doWrite()

void gem5::SMMUProcess::doWrite ( Yield yield,
Addr  addr,
const void *  ptr,
size_t  size 
)
protected

◆ main()

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

◆ name()

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

Definition at line 135 of file smmu_v3_proc.hh.

References myName.

Referenced by gem5::SMMUTranslationProcess::issuePrefetch().

◆ reinit()

void gem5::SMMUProcess::reinit ( )
protected

◆ run()

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

Definition at line 209 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

◆ wakeup()

void gem5::SMMUProcess::wakeup ( )
private

Definition at line 61 of file smmu_v3_proc.cc.

References gem5::SMMUv3::runProcess(), and smmu.

Referenced by scheduleWakeup().

Member Data Documentation

◆ coroutine

Coroutine* gem5::SMMUProcess::coroutine
private

Definition at line 102 of file smmu_v3_proc.hh.

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

◆ myName

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

Definition at line 103 of file smmu_v3_proc.hh.

Referenced by name().

◆ smmu

SMMUv3& gem5::SMMUProcess::smmu
protected

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

Generated on Wed Dec 21 2022 10:23:18 for gem5 by doxygen 1.9.1