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.
conf_object, log_object, io_memory, pci_upstream, pci_downstream, pci_upstream_operation, pci_bus
- 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.
-
info
– print information about the object
-
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.
pci-bus