gem5 [DEVELOP-FOR-25.0]
Loading...
Searching...
No Matches
gem5::RiscvISA::AtomicGenericOp< T > Class Template Reference

A generic atomic op class. More...

#include <amo.hh>

Inheritance diagram for gem5::RiscvISA::AtomicGenericOp< T >:
gem5::TypedAtomicOpFunctor< T > gem5::AtomicOpFunctor

Public Member Functions

 AtomicGenericOp (T _a, std::function< void(T *, T)> _op)
 
AtomicOpFunctorclone ()
 
void execute (T *b)
 
- Public Member Functions inherited from gem5::TypedAtomicOpFunctor< T >
void operator() (uint8_t *p)
 
- Public Member Functions inherited from gem5::AtomicOpFunctor
virtual ~AtomicOpFunctor ()
 

Private Attributes

a
 
std::function< void(T *, T)> op
 

Detailed Description

template<typename T>
class gem5::RiscvISA::AtomicGenericOp< T >

A generic atomic op class.

Definition at line 125 of file amo.hh.

Constructor & Destructor Documentation

◆ AtomicGenericOp()

template<typename T>
gem5::RiscvISA::AtomicGenericOp< T >::AtomicGenericOp ( T _a,
std::function< void(T *, T)> _op )
inline

Definition at line 128 of file amo.hh.

References a, and op.

Referenced by clone().

Member Function Documentation

◆ clone()

template<typename T>
AtomicOpFunctor * gem5::RiscvISA::AtomicGenericOp< T >::clone ( )
inlinevirtual

Implements gem5::TypedAtomicOpFunctor< T >.

Definition at line 130 of file amo.hh.

References AtomicGenericOp().

◆ execute()

template<typename T>
void gem5::RiscvISA::AtomicGenericOp< T >::execute ( T * b)
inlinevirtual

Implements gem5::TypedAtomicOpFunctor< T >.

Definition at line 131 of file amo.hh.

References a, gem5::ArmISA::b, and op.

Member Data Documentation

◆ a

template<typename T>
T gem5::RiscvISA::AtomicGenericOp< T >::a
private

Definition at line 133 of file amo.hh.

Referenced by AtomicGenericOp(), and execute().

◆ op

template<typename T>
std::function<void(T*,T)> gem5::RiscvISA::AtomicGenericOp< T >::op
private

Definition at line 134 of file amo.hh.

Referenced by AtomicGenericOp(), and execute().


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

Generated on Mon May 26 2025 09:19:35 for gem5 by doxygen 1.13.2