Base class for TLM2 extension, responsible for marshal/unmarshal of a Simics interface. More...
#include <extension.h>
Public Member Functions | |
Extension () | |
void | init (ExtensionSenderInterface *sender, tlm::tlm_generic_payload *payload) |
Deprecated, use the init(ExtensionSenderInterface *sender) instead. | |
void | init (ExtensionSenderInterface *sender) |
void | send () |
void | method_call (TInterface *device) |
void | method_call_ignore () |
types::AnyType | method_type () |
bool | valid () |
virtual tlm::tlm_extension_base * | clone () const |
virtual void | copy_from (tlm::tlm_extension_base const &extension) |
virtual | ~Extension () |
Static Public Member Functions | |
static ReceiverInterface * | createReceiver (TInterface *device) |
static ReceiverInterface * | createIgnoreReceiver () |
Protected Member Functions | |
virtual void | call (TInterface *device)=0 |
Protected Attributes | |
ExtensionSenderInterface * | sender_ |
types::AnyType | method_ |
std::vector< types::AnyType > | method_input_ |
types::AnyType | method_return_ |
types::AnyType | method_return_error_ |
int | method_call_count_ |
bool | suppress_error_ |
bool | valid_ |
Base class for TLM2 extension, responsible for marshal/unmarshal of a Simics interface.
The interface specific sub-class implements the marshal/unmarshal using the functionality of the base class. Most important is the send() and call() methods.
|
inline |
|
inlinevirtual |
|
protectedpure virtual |
Implemented in simics::systemc::iface::EthernetCommonExtension, simics::systemc::iface::I2cMasterV2Extension, simics::systemc::iface::I2cSlaveV2Extension, simics::systemc::iface::I3cMasterExtension, simics::systemc::iface::I3cSlaveExtension, simics::systemc::iface::MiiManagementExtension, simics::systemc::iface::PciBusExtension, simics::systemc::iface::PciDeviceExtension, simics::systemc::iface::PciUpstreamOperationExtension, and simics::systemc::iface::SerialDeviceExtension.
|
inlinevirtual |
|
inlinevirtual |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
Deprecated, use the init(ExtensionSenderInterface *sender) instead.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |