pc-shadow pci_proxy
Simics Reference Manual  /  5 Classes  / 

pci-bus

Description

The pci-bus device models a logical Peripheral Component Interconnect bus that PCI devices can be connected to. The bus needs memory-space objects connected, representing the three PCI address spaces 'configuration', 'I/O' and 'memory'. The bus itself should be connected to a PCI bridge device.

Interfaces Implemented

conf_object, log_object, io_memory, pci_upstream, pci_downstream, pci_upstream_operation, pci_bus

Notifiers

cell-change
Notifier that is triggered after the object's cell was changed.
object-delete
Notifier that is triggered just before Simics object is deleted.
queue-change
Notifier that is triggered after the object's clock was changed. New clock can be obtained with the SIM_object_clock function.

Commands for this class

Attributes

conf_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI configuration space.
memory_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI memory space.
io_space
Required attribute; read/write access; type: o
Memory-space object representing the PCI I/O space.
bridge
Optional attribute; read/write access; type: o|n|[o*]
Upstream PCI bridge object, which must implement the pci_bridge interface. For cPCI use-case, multiple bridges can be assigned and signals will be sent to all of them.
interrupt
Optional attribute; read/write access; type: o|n|[o*]
One or more interrupt device objects that implements the pci_interrupt interface. This attribute only has to be set if the bridge does not handle PCI interrupts.
bus_number
Optional attribute; read/write access; type: i
PCI bus number of this bus. In most cases this is 0, but some exceptions exist. This attribute is set by the bridge and should not be changed by the user.
sub_bus_number
Optional attribute; read/write access; type: i
Subordinate PCI bus number for this bus. This attribute is set by the bridge and should not be changed by the user.
send_interrupt_to_bridge
Optional attribute; read/write access; type: i
If non-zero (default), interrupt will be routed to the PCI bridge as well as the interrupt devices.
upstream_target
Optional attribute; read/write access; type: n|o|[os]
If non-NULL, all upstream transactions are forwarded to the specified object using the pci_upstream or transaction interface.
pci_devices
Optional attribute; read/write access; type: [[iio]|[iioi]*]
((id, function, object)*). id is the PCI device id. function is the PCI device logical function. object is the PCI device itself, which must implement the pci_device interface. The tuple may also contain an additional integer that tells if the PCI device is enabled or not. As default the PCI device is enabled.

Provided By

pci-bus
pc-shadow pci_proxy