15#ifndef SIMICS_SYSTEMC_IFACE_PCI_DEVICE_QUERY_INTERFACE_H
16#define SIMICS_SYSTEMC_IFACE_PCI_DEVICE_QUERY_INTERFACE_H
89 typedef std::vector<BaseAddressRegister>
BarInfo;
Interface that allows the Simics glue to perform snooping and automatic connection of the device's ta...
Definition: pci_device_query_interface.h:54
virtual BarInfo getBarInfo()=0
std::vector< std::pair< BaseAddressRegister, sc_core::sc_object * > > BarSockets
IO/Memory space target socket(s).
Definition: pci_device_query_interface.h:106
virtual ~BaseAddressRegisterQueryInterface()
Definition: pci_device_query_interface.h:109
virtual BarSockets getBarTargetSockets()=0
std::vector< BaseAddressRegister > BarInfo
BAR register information.
Definition: pci_device_query_interface.h:89
Interface for connecting a SystemC PCI(e) device to Simics.
Definition: pci_device_query_interface.h:37
virtual sc_core::sc_object * getConfigTargetSocket()=0
virtual sc_core::sc_object * getPciBusInitiatorSocket()=0
virtual ~PciDeviceQueryInterface()
Definition: pci_device_query_interface.h:44
virtual sc_core::sc_object * getPciDeviceTargetSocket()=0
Definition: pci_bus_interface.h:24
Base Address Register (BAR) configuration.
Definition: pci_device_query_interface.h:70
int offset
BAR offset (0x10-0x24)
Definition: pci_device_query_interface.h:72
bool is_64bit
64-bit or 32-bit (memory) BAR?
Definition: pci_device_query_interface.h:74
int function
PCI function that this BAR belongs to.
Definition: pci_device_query_interface.h:71
bool is_memory
Memory or IO BAR?
Definition: pci_device_query_interface.h:73
int mapping_id
Mapping ID, used to identify incoming transactions.
Definition: pci_device_query_interface.h:76
int size_bits
Size of BAR, in number of bits.
Definition: pci_device_query_interface.h:75