SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES > Class Template Reference

Composite Pcie Gasket to help the wrapping of a SystemC PCIe (multifunction) endpoint in Simics. More...

#include <pcie_gasket.h>

Inheritance diagram for simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >:
simics::systemc::composite::PcieGasketBase simics::systemc::simics2tlm::PcieDeviceGasketAdapter simics::systemc::simics2tlm::TransactionGasketAdapter simics::systemc::simics2systemc::SignalGasketAdapter simics::systemc::iface::PcieDeviceInterface simics::systemc::simics2tlm::GasketAdapter< iface::PcieDeviceInterface > simics::systemc::iface::TransactionInterface simics::systemc::simics2tlm::GasketAdapter< iface::TransactionInterface > simics::systemc::iface::SignalInterface simics::systemc::DescriptionInterface< iface::SignalInterface > simics::systemc::DescriptionInterface< TBase > simics::systemc::DescriptionInterface< TBase > simics::systemc::composite::PcieGasketClass< BUSWIDTH, TYPES >

Public Member Functions

 PcieGasket (iface::SimulationInterface *simulation)
 
 PcieGasket (iface::SimulationInterface *simulation, simics::ConfObjectRef obj)
 
void connected (conf_object_t *port_obj, uint16_t id) override
 
void disconnected (conf_object_t *port_obj, uint16_t id) override
 
void hot_reset () override
 
template<typename TPcieDevice >
void connect (TPcieDevice *device)
 
std::map< std::pair< size_t, size_t >, size_t > addressIdMemMap () const
 
std::map< std::pair< size_t, size_t >, size_t > addressIdIoMap () const
 
bool enableBaseAddressSubtraction () const
 
void setEnableBaseAddressSubtraction (const bool &val)
 
void setPcieTypeAndForwardTarget (ConfObjectRef obj)
 
void createCfgMapHelper ()
 
- Public Member Functions inherited from simics::systemc::simics2tlm::PcieDeviceGasketAdapter
 PcieDeviceGasketAdapter (PcieDeviceInterface *pcie_device, iface::SimulationInterface *simulation)
 
void connected (conf_object_t *port_obj, uint16_t device_id) override
 
void disconnected (conf_object_t *port_obj, uint16_t device_id) override
 
void hot_reset () override
 
simics2tlm::GasketOwnergasket_owner () const override
 
virtual void connected (conf_object_t *port_obj, uint16_t device_id)=0
 
virtual void disconnected (conf_object_t *port_obj, uint16_t device_id)=0
 
virtual void hot_reset ()=0
 
- Public Member Functions inherited from simics::systemc::simics2tlm::GasketAdapter< iface::PcieDeviceInterface >
virtual ~GasketAdapter ()
 
std::vector< std::string > description (DescriptionType type) override
 
virtual simics2tlm::GasketOwnergasket_owner () const=0
 
- Public Member Functions inherited from simics::systemc::DescriptionInterface< TBase >
virtual ~DescriptionInterface ()
 
virtual std::vector< std::string > description (DescriptionType type)=0
 
- Public Member Functions inherited from simics::systemc::simics2tlm::TransactionGasketAdapter
 TransactionGasketAdapter (TransactionInterface *transaction, iface::SimulationInterface *simulation)
 
exception_type_t issue (transaction_t *t, uint64 addr) override
 
simics2tlm::GasketOwnergasket_owner () const override
 
- Public Member Functions inherited from simics::systemc::iface::TransactionInterface
virtual exception_type_t issue (transaction_t *t, uint64 addr)=0
 
virtual ~TransactionInterface ()
 
- Public Member Functions inherited from simics::systemc::simics2tlm::GasketAdapter< iface::TransactionInterface >
virtual ~GasketAdapter ()
 
std::vector< std::string > description (DescriptionType type) override
 
virtual simics2tlm::GasketOwnergasket_owner () const=0
 
- Public Member Functions inherited from simics::systemc::simics2systemc::SignalGasketAdapter
 SignalGasketAdapter (SignalInterface *signal, iface::SimulationInterface *simulation)
 
void raise () override
 
void lower () override
 
std::vector< std::string > description (DescriptionType type) override
 
- Public Member Functions inherited from simics::systemc::iface::SignalInterface
virtual void raise ()=0
 
virtual void lower ()=0
 
virtual ~SignalInterface ()
 
- Public Member Functions inherited from simics::systemc::DescriptionInterface< iface::SignalInterface >
virtual ~DescriptionInterface ()
 
virtual std::vector< std::string > description (DescriptionType type)=0
 

Additional Inherited Members

- Public Types inherited from simics::systemc::composite::PcieGasketBase
typedef PcieGasketBaseis_composite_pcie_gasket
 
- Static Public Member Functions inherited from simics::systemc::composite::PcieGasketBase
template<typename C >
static void initClassInternal (ConfClass *cls)
 
- Protected Member Functions inherited from simics::systemc::simics2tlm::GasketAdapter< iface::PcieDeviceInterface >
std::vector< std::string > description (GasketInterface::Ptr gasket_ptr)
 
void append (std::string *result, std::string s)
 
- Protected Member Functions inherited from simics::systemc::simics2tlm::GasketAdapter< iface::TransactionInterface >
std::vector< std::string > description (GasketInterface::Ptr gasket_ptr)
 
void append (std::string *result, std::string s)
 
- Protected Attributes inherited from simics::systemc::composite::PcieGasketBase
Connector< tlm2simics::PcieTransactionsimics_transaction_target_
 
ConnectorProxy< tlm2simics::PcieMapsimics_pcie_map_target_
 

Detailed Description

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
class simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >

Composite Pcie Gasket to help the wrapping of a SystemC PCIe (multifunction) endpoint in Simics.

Constructor & Destructor Documentation

◆ PcieGasket() [1/2]

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::PcieGasket ( iface::SimulationInterface simulation)
inlineexplicit

◆ PcieGasket() [2/2]

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::PcieGasket ( iface::SimulationInterface simulation,
simics::ConfObjectRef  obj 
)
inline

Member Function Documentation

◆ addressIdIoMap()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
std::map< std::pair< size_t, size_t >, size_t > simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::addressIdIoMap ( ) const
inline

◆ addressIdMemMap()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
std::map< std::pair< size_t, size_t >, size_t > simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::addressIdMemMap ( ) const
inline

◆ connect()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
template<typename TPcieDevice >
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::connect ( TPcieDevice *  device)
inline

◆ connected()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::connected ( conf_object_t *  port_obj,
uint16_t  id 
)
inlineoverridevirtual

◆ createCfgMapHelper()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::createCfgMapHelper ( )
inline

◆ disconnected()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::disconnected ( conf_object_t *  port_obj,
uint16_t  id 
)
inlineoverridevirtual

◆ enableBaseAddressSubtraction()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
bool simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::enableBaseAddressSubtraction ( ) const
inline

◆ hot_reset()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::hot_reset ( )
inlineoverridevirtual

◆ setEnableBaseAddressSubtraction()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::setEnableBaseAddressSubtraction ( const bool &  val)
inline

◆ setPcieTypeAndForwardTarget()

template<unsigned int BUSWIDTH = 32, typename TYPES = tlm::tlm_base_protocol_types>
void simics::systemc::composite::PcieGasket< BUSWIDTH, TYPES >::setPcieTypeAndForwardTarget ( ConfObjectRef  obj)
inline

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