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::PcieMapExtension, simics::systemc::iface::PciUpstreamOperationExtension, simics::systemc::iface::SerialDeviceExtension, and simics::systemc::iface::PcieDeviceExtension.
|
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 |