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) |
![]() | |
virtual exception_type_t | operation (generic_transaction_t *mem_op, const types::map_info_t &info)=0 |
virtual | ~IoMemoryInterface () |
![]() | |
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 () |
![]() | |
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 |
![]() | |
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 | |
![]() | |
template<class T > | |
static ClassType | typeForClass () |
![]() | |
bool | hasId (int id) const |
int | empty () const |
![]() | |
void | set_type () |
![]() | |
GasketInterface::Ptr | gasket_ |
![]() | |
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.