Class that implements the Simics io_memory interface and translates it into a TLM transaction. More...
#include <io_memory.h>
Public Member Functions | |
IoMemory () | |
int DEPRECATED_FUNC() | map (addr_space_t memory_or_io, map_info_t info) |
exception_type_t | operation (generic_transaction_t *mem_op, const types::map_info_t &info) |
Public Member Functions inherited from simics::systemc::iface::IoMemoryInterface | |
virtual exception_type_t | operation (generic_transaction_t *mem_op, const types::map_info_t &info)=0 |
virtual | ~IoMemoryInterface () |
Public Member Functions inherited from simics::systemc::simics2tlm::MultiGasketOwner | |
void | addGasket (int id, GasketInterface::Ptr gasketInterface) |
GasketInterface::Ptr | findGasket (int id) const |
Returns the gasket matching the ID given. | |
std::set< int > | keys () const |
virtual | ~MultiGasketOwner () |
Public Member Functions inherited from simics::systemc::simics2tlm::GasketOwner | |
GasketOwner () | |
GasketOwner (const GasketOwner &)=delete | |
GasketOwner & | operator= (const GasketOwner &)=delete |
virtual | ~GasketOwner ()=default |
void | set_gasket (GasketInterface::Ptr gasketInterface) |
virtual void | gasketUpdated () |
GasketInterface::Ptr | gasket () const |
Public Member Functions inherited from simics::systemc::ClassType | |
ClassType () | |
std::string | type () const |
bool | operator== (const ClassType &type) const |
bool | operator!= (const ClassType &type) const |
bool | operator< (const ClassType &type) const |
template<class T > | |
T * | get_interface () |
virtual | ~ClassType () |
Additional Inherited Members | |
Static Public Member Functions inherited from simics::systemc::ClassType | |
template<class T > | |
static ClassType | typeForClass () |
Protected Member Functions inherited from simics::systemc::simics2tlm::MultiGasketOwner | |
bool | hasId (int id) const |
int | empty () const |
Protected Member Functions inherited from simics::systemc::ClassType | |
void | set_type () |
Protected Attributes inherited from simics::systemc::simics2tlm::GasketOwner | |
GasketInterface::Ptr | gasket_ |
Protected Attributes inherited from simics::systemc::ClassType | |
std::string | type_ |
ClassType * | implementor_ |
Class that implements the Simics io_memory interface and translates it into a TLM transaction.
This particular interface class is derived from MultiGasketOwner making it capable of routing the interface to different destinations based on the transaction data.
The TLM2 return codes are translated to Simics like this: TLM_OK_RESPONSE => Sim_PE_No_Exception, TLM_ADDRESS_ERROR_RESPONSE => Sim_PE_IO_Not_Taken or Sim_PE_Inquiry_Outside_Memory on inquiry access, remaining TLM2 errors => Sim_PE_IO_Error or Sim_PE_Inquiry_Unhandled on inquiry access
|
inline |
|
inline |
|
virtual |
Implements simics::systemc::iface::IoMemoryInterface.