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

#include <pcie_mapping_interconnect.h>

Inheritance diagram for simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >:

Public Member Functions

 SC_HAS_PROCESS (PcieMappingInterconnect)
 
 PcieMappingInterconnect (sc_core::sc_module_name="PcieMappingInterconnect")
 
void before_end_of_elaboration () override
 
void connected (uint16_t device_id)
 
void disconnected (uint16_t device_id)
 
void hotReset ()
 
void connect (iface::PcieDeviceQueryInterface *pci, iface::PcieBaseAddressRegisterQueryInterface *bar, iface::PcieResetInterface *reset, ConfObjectRef o, iface::PcieSriovQueryInterface *sriov=nullptr)
 Called by (outer) composite class to retrieve the required information to connect the IC with the PCI(e) device.
 
void createCfgMapHelper ()
 
std::map< std::pair< size_t, size_t >, size_t > addressIdMemMap () const
 
std::map< std::pair< size_t, size_t >, size_t > addressIdIoMap () const
 

Public Attributes

target_socket_t transaction_target_socket
 
target_socket_t pcie_device_target_socket
 
initiator_socket_t pcie_map_initiator_socket
 IC -> Simics, forwards the upstream pcie-map transactions.
 
sc_core::sc_in< bool > warm_reset_pin
 
bool enable_base_address_subtraction {true}
 

Constructor & Destructor Documentation

◆ PcieMappingInterconnect()

template<unsigned int BUSWIDTH, typename TYPES >
simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::PcieMappingInterconnect ( sc_core::sc_module_name  = "PcieMappingInterconnect< BUSWIDTH, TYPES >")
inlineexplicit

Member Function Documentation

◆ addressIdIoMap()

template<unsigned int BUSWIDTH, typename TYPES >
std::map< std::pair< size_t, size_t >, size_t > simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::addressIdIoMap

◆ addressIdMemMap()

template<unsigned int BUSWIDTH, typename TYPES >
std::map< std::pair< size_t, size_t >, size_t > simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::addressIdMemMap

◆ before_end_of_elaboration()

template<unsigned int BUSWIDTH, typename TYPES >
void simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::before_end_of_elaboration
override

◆ connect()

template<unsigned int BUSWIDTH, typename TYPES >
void simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::connect ( iface::PcieDeviceQueryInterface *  pci,
iface::PcieBaseAddressRegisterQueryInterface *  bar,
iface::PcieResetInterface *  reset,
ConfObjectRef  o,
iface::PcieSriovQueryInterface *  sriov = nullptr 
)

Called by (outer) composite class to retrieve the required information to connect the IC with the PCI(e) device.

The actual connecting/binding of the IC to the device is done at before_end_of_elaboration().

Parameters
pciInterface used to query the device's PCIe sockets.
barInterface used to query the device's BAR information.
resetInterface used to reset the device.
oSimics configuration object used for logging.
sriovOptional. If the device implements PcieSriovQueryInterface the interconnect uses the static SR-IOV info to snoop the SR-IOV Extended Capability registers.

◆ connected()

template<unsigned int BUSWIDTH, typename TYPES >
void simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::connected ( uint16_t  device_id)

◆ createCfgMapHelper()

template<unsigned int BUSWIDTH, typename TYPES >
void simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::createCfgMapHelper

◆ disconnected()

template<unsigned int BUSWIDTH, typename TYPES >
void simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::disconnected ( uint16_t  device_id)

◆ hotReset()

template<unsigned int BUSWIDTH, typename TYPES >
void simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::hotReset

◆ SC_HAS_PROCESS()

template<unsigned int BUSWIDTH, typename TYPES >
simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::SC_HAS_PROCESS ( PcieMappingInterconnect< BUSWIDTH, TYPES >  )

Member Data Documentation

◆ enable_base_address_subtraction

template<unsigned int BUSWIDTH, typename TYPES >
bool simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::enable_base_address_subtraction {true}

◆ pcie_device_target_socket

template<unsigned int BUSWIDTH, typename TYPES >
target_socket_t simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::pcie_device_target_socket

◆ pcie_map_initiator_socket

template<unsigned int BUSWIDTH, typename TYPES >
initiator_socket_t simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::pcie_map_initiator_socket

IC -> Simics, forwards the upstream pcie-map transactions.

◆ transaction_target_socket

template<unsigned int BUSWIDTH, typename TYPES >
target_socket_t simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::transaction_target_socket

◆ warm_reset_pin

template<unsigned int BUSWIDTH, typename TYPES >
sc_core::sc_in<bool> simics::systemc::composite::PcieMappingInterconnect< BUSWIDTH, TYPES >::warm_reset_pin

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