gem5  v22.1.0.0
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
Gem5SystemC::AtomicExtension Class Reference

#include <sc_ext.hh>

Inheritance diagram for Gem5SystemC::AtomicExtension:
tlm::tlm_extension< AtomicExtension > tlm::tlm_extension_base

Public Member Functions

 AtomicExtension (std::shared_ptr< gem5::AtomicOpFunctor > o, bool r)
 
tlm_extension_base * clone () const override
 
void copy_from (const tlm_extension_base &ext) override
 
bool isReturnRequired () const
 
gem5::AtomicOpFunctorgetAtomicOpFunctor () const
 
- Public Member Functions inherited from tlm::tlm_extension< AtomicExtension >
virtual void copy_from (tlm_extension_base const &ext)=0
 
virtual ~tlm_extension ()
 
- Public Member Functions inherited from tlm::tlm_extension_base
virtual void free ()
 

Static Public Member Functions

static AtomicExtensiongetExtension (const tlm::tlm_generic_payload *payload)
 
static AtomicExtensiongetExtension (const tlm::tlm_generic_payload &payload)
 

Private Attributes

std::shared_ptr< gem5::AtomicOpFunctorop
 
bool returnRequired
 

Additional Inherited Members

- Static Public Attributes inherited from tlm::tlm_extension< AtomicExtension >
static const unsigned int ID
 
- Protected Member Functions inherited from tlm::tlm_extension_base
virtual ~tlm_extension_base ()
 
- Static Protected Member Functions inherited from tlm::tlm_extension_base
static unsigned int register_extension (const std::type_info &)
 

Detailed Description

Definition at line 71 of file sc_ext.hh.

Constructor & Destructor Documentation

◆ AtomicExtension()

Gem5SystemC::AtomicExtension::AtomicExtension ( std::shared_ptr< gem5::AtomicOpFunctor o,
bool  r 
)

Definition at line 137 of file sc_ext.cc.

Referenced by clone().

Member Function Documentation

◆ clone()

tlm::tlm_extension_base * Gem5SystemC::AtomicExtension::clone ( ) const
overridevirtual

Implements tlm::tlm_extension< AtomicExtension >.

Definition at line 144 of file sc_ext.cc.

References AtomicExtension().

◆ copy_from()

void Gem5SystemC::AtomicExtension::copy_from ( const tlm_extension_base &  ext)
override

Definition at line 150 of file sc_ext.cc.

References gem5::ArmISA::ext.

◆ getAtomicOpFunctor()

gem5::AtomicOpFunctor * Gem5SystemC::AtomicExtension::getAtomicOpFunctor ( ) const

Definition at line 178 of file sc_ext.cc.

References op.

Referenced by sc_gem5::payload2packet().

◆ getExtension() [1/2]

AtomicExtension & Gem5SystemC::AtomicExtension::getExtension ( const tlm::tlm_generic_payload payload)
static

Definition at line 157 of file sc_ext.cc.

References getExtension().

◆ getExtension() [2/2]

AtomicExtension & Gem5SystemC::AtomicExtension::getExtension ( const tlm::tlm_generic_payload payload)
static

Definition at line 163 of file sc_ext.cc.

References tlm::tlm_generic_payload::get_extension(), and sc_assert.

Referenced by getExtension().

◆ isReturnRequired()

bool Gem5SystemC::AtomicExtension::isReturnRequired ( ) const

Definition at line 172 of file sc_ext.cc.

References returnRequired.

Referenced by sc_gem5::payload2packet().

Member Data Documentation

◆ op

std::shared_ptr<gem5::AtomicOpFunctor> Gem5SystemC::AtomicExtension::op
private

Definition at line 89 of file sc_ext.hh.

Referenced by getAtomicOpFunctor().

◆ returnRequired

bool Gem5SystemC::AtomicExtension::returnRequired
private

Definition at line 90 of file sc_ext.hh.

Referenced by isReturnRequired().


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

Generated on Wed Dec 21 2022 10:25:06 for gem5 by doxygen 1.9.1