The generic_pcie_switch_port class implements a generic PCIe switch port.
The port is hotpluggable, handles I/O, memory and prefetchable transactions and has configurable vendor and device IDs. It does not implement any memory or I/O BARs. It exposes PCI Express 2.0 and MSI-64 capabilities.
conf_object, log_object, bridge, io_memory, pci_bridge, pci_device, pci_express, pci_express_hotplug, pci_upstream
- 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.
- bank.pci_config
-
generic_pcie_switch_port.pci_config
– The PCI configuration space.
-
config_registers
-
Pseudo attribute;
read-only access; type:
[i*]
The PCI configuration registers, each 32 bits in size.
-
expansion_rom_size
-
Optional attribute;
read/write access; type:
i
The size of the expansion ROM mapping.
-
is_upstream
-
Optional attribute;
read/write access; type:
b
Set to true for upstream port object
-
mapping_setup
-
Optional attribute;
read/write access; type:
[i{15}]
Attributes for the different bridge mappings: io-memory up/down, memory up/down, prefetchable memory down: (io_down.priority, io_down.align_size, io_down.endian, mem_down.priority, mem_down.align_size, mem_down.endian, pref_down.priority, pref_down.align_size, pref_down.endian, io_up.priority, io_up.align_size, io_up.endian, mem_up.priority, mem_up.align_size, mem_up.endian)
-
pci_bus
-
Optional attribute;
read/write access; type:
o|[os]|n
The PCI bus this device is connected to, implementing the pci-bus interface.
Required interfaces: io_memory, pci_bus, pci_express.
-
port_num
-
Optional attribute;
read/write access; type:
i
Port number
-
secondary_bus
-
Required attribute;
read/write access; type:
o|[os]
Secondary bus
Required interfaces: io_memory, pci_bus, pci_downstream, pci_express.
generic-pcie-switch-port