gem5  v21.1.0.2
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 > amo_op, bool need_return)
 
virtual tlm_extension_base * clone () const
 
virtual void copy_from (const tlm_extension_base &ext)
 
bool needReturn () const
 
gem5::AtomicOpFunctorgetAtomicOpFunctor () const
 
- Public Member Functions inherited from tlm::tlm_extension< AtomicExtension >
virtual tlm_extension_baseclone () const=0
 
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::AtomicOpFunctor_op
 
bool _needReturn
 

Additional Inherited Members

- Static Public Attributes inherited from tlm::tlm_extension< AtomicExtension >
const static 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 64 of file sc_ext.hh.

Constructor & Destructor Documentation

◆ AtomicExtension()

Gem5SystemC::AtomicExtension::AtomicExtension ( std::shared_ptr< gem5::AtomicOpFunctor amo_op,
bool  need_return 
)

Definition at line 82 of file sc_ext.cc.

Referenced by clone().

Member Function Documentation

◆ clone()

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

Implements tlm::tlm_extension_base.

Definition at line 89 of file sc_ext.cc.

References AtomicExtension().

◆ copy_from()

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

Definition at line 95 of file sc_ext.cc.

References gem5::ArmISA::ext.

◆ getAtomicOpFunctor()

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

Definition at line 123 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 102 of file sc_ext.cc.

References getExtension().

◆ getExtension() [2/2]

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

Definition at line 108 of file sc_ext.cc.

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

Referenced by getExtension().

◆ needReturn()

bool Gem5SystemC::AtomicExtension::needReturn ( ) const

Definition at line 117 of file sc_ext.cc.

References _needReturn.

Referenced by sc_gem5::payload2packet().

Member Data Documentation

◆ _needReturn

bool Gem5SystemC::AtomicExtension::_needReturn
private

Definition at line 83 of file sc_ext.hh.

Referenced by needReturn().

◆ _op

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

Definition at line 82 of file sc_ext.hh.

Referenced by getAtomicOpFunctor().


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

Generated on Tue Sep 21 2021 12:35:04 for gem5 by doxygen 1.8.17