SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::iface::BaseAddressRegisterQueryInterface Class Referenceabstract

Interface that allows the Simics glue to perform snooping and automatic connection of the device's target sockets based on the number of BARs implemented. More...

#include <pci_device_query_interface.h>

Classes

struct  BaseAddressRegister
 Base Address Register (BAR) configuration. More...
 

Public Types

typedef std::vector< BaseAddressRegisterBarInfo
 BAR register information.
 
typedef std::vector< std::pair< BaseAddressRegister, sc_core::sc_object * > > BarSockets
 IO/Memory space target socket(s).
 

Public Member Functions

virtual BarInfo getBarInfo ()=0
 
virtual BarSockets getBarTargetSockets ()=0
 
virtual ~BaseAddressRegisterQueryInterface ()
 

Detailed Description

Interface that allows the Simics glue to perform snooping and automatic connection of the device's target sockets based on the number of BARs implemented.

Member Typedef Documentation

◆ BarInfo

BAR register information.

Returns
a vector that contains up to six entries per PCI(e) function, one for each BAR. A 64-bit BAR has is_64bit=true and is represented as a single entry, not two. Unimplemented bars must be left out of the list.
Note
The BAR entries must be ordered by their function number.

◆ BarSockets

IO/Memory space target socket(s).

One socket per (implemented) BAR and type (up to six sockets), per function.

Note
Currently only the mapping_id of the BAR data is used by the Simics glue.
If multiple BARs are to be routed to the same target socket using the same mapping_id, only list the socket once using any of the corresponding BARs.

Constructor & Destructor Documentation

◆ ~BaseAddressRegisterQueryInterface()

virtual simics::systemc::iface::BaseAddressRegisterQueryInterface::~BaseAddressRegisterQueryInterface ( )
inlinevirtual

Member Function Documentation

◆ getBarInfo()

virtual BarInfo simics::systemc::iface::BaseAddressRegisterQueryInterface::getBarInfo ( )
pure virtual

◆ getBarTargetSockets()

virtual BarSockets simics::systemc::iface::BaseAddressRegisterQueryInterface::getBarTargetSockets ( )
pure virtual

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