gem5 v25.0.0.1
Loading...
Searching...
No Matches
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 72 of file sc_ext.hh.

Constructor & Destructor Documentation

◆ AtomicExtension()

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

Definition at line 153 of file sc_ext.cc.

References op, gem5::MipsISA::r, and returnRequired.

Referenced by clone(), copy_from(), and getExtension().

Member Function Documentation

◆ clone()

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

Implements tlm::tlm_extension< AtomicExtension >.

Definition at line 160 of file sc_ext.cc.

References AtomicExtension().

◆ copy_from()

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

Definition at line 166 of file sc_ext.cc.

References AtomicExtension(), and gem5::ArmISA::ext.

◆ getAtomicOpFunctor()

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

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

References getExtension().

◆ getExtension() [2/2]

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

Definition at line 179 of file sc_ext.cc.

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

Referenced by getExtension().

◆ isReturnRequired()

bool Gem5SystemC::AtomicExtension::isReturnRequired ( ) const

Definition at line 188 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 90 of file sc_ext.hh.

Referenced by AtomicExtension(), and getAtomicOpFunctor().

◆ returnRequired

bool Gem5SystemC::AtomicExtension::returnRequired
private

Definition at line 91 of file sc_ext.hh.

Referenced by AtomicExtension(), and isReturnRequired().


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

Generated on Sat Oct 18 2025 08:07:53 for gem5 by doxygen 1.14.0