SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::simics2tlm::IoMemory Class Reference

Class that implements the Simics io_memory interface and translates it into a TLM transaction. More...

#include <io_memory.h>

Inheritance diagram for simics::systemc::simics2tlm::IoMemory:
simics::systemc::iface::IoMemoryInterface simics::systemc::simics2tlm::MultiGasketOwner simics::systemc::simics2tlm::GasketOwner simics::systemc::ClassType

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
 
GasketOwneroperator= (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_
 
ClassTypeimplementor_
 

Detailed Description

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

Constructor & Destructor Documentation

◆ IoMemory()

simics::systemc::simics2tlm::IoMemory::IoMemory ( )
inline

Member Function Documentation

◆ map()

int DEPRECATED_FUNC() simics::systemc::simics2tlm::IoMemory::map ( addr_space_t  memory_or_io,
map_info_t  info 
)
inline

◆ operation()

exception_type_t simics::systemc::simics2tlm::IoMemory::operation ( generic_transaction_t *  mem_op,
const types::map_info_t info 
)
virtual

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