This is the legacy-compatible variant of the pcie-downstream-port class
conf_object, log_object, io_memory, pci_bus, pci_downstream, pci_express, pci_upstream, pci_upstream_operation, pcie_map, pcie_port_control, transaction, translator
- 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.
- state-change
- Notifier on potential DML state change
- cfg_space
-
memory-space
– downstream Config space
- conf_space
-
memory-space
– legacy Config space
- impl.cfg_to_conf
-
pcie-downstream-port-legacy.impl.cfg_to_conf
– translates to legacy conf space
- impl.conf_to_cfg
-
pcie-downstream-port-legacy.impl.conf_to_cfg
– translates from legacy conf space
- impl.transaction_to_pci_express
-
pcie-downstream-port-legacy.impl.transaction_to_pci_express
– translates from transaction to legacy pci_express
- io_space
-
memory-space
– downstream I/O space
- mem_space
-
memory-space
– downstream Memory space
- msg_space
-
memory-space
– downstream Message space
- port.HOT_RESET
-
pcie-downstream-port-legacy.HOT_RESET
- port.broadcast
-
pcie-downstream-port-legacy.broadcast
- port.cfg
-
pcie-downstream-port-legacy.cfg
– access point into downstream Config space
- port.downstream
-
pcie-downstream-port-legacy.downstream
– access point into downstream PCIe space
- port.ecam
-
pcie-downstream-port-legacy.ecam
– ECAM configuration space
- port.io
-
pcie-downstream-port-legacy.io
– access point into downstream I/O space
- port.mem
-
pcie-downstream-port-legacy.mem
– access point into downstream Memory space
- port.msg
-
pcie-downstream-port-legacy.msg
– access point into downstream Message space
- port.phy
-
pcie-downstream-port-legacy.phy
- port.upstream
-
pcie-downstream-port-legacy.upstream
-
info
– print information about the object
-
status
– print status of the object
-
wait-for-get
– issue an inquiry read transaction and wait for it to complete
-
wait-for-read
– issue a read transaction and wait for it to complete
-
wait-for-set
– issue an inquiry write transaction and wait for it to complete
-
wait-for-write
– issue a write transaction and wait for it to complete
-
bridge
-
Pseudo attribute;
read-only access; type:
o|[os]|n
Pseudo-attribute to make this look like a legacy pcie-bus
-
bus_number
-
Pseudo attribute;
read/write access; type:
i
Secondary bus number
-
devices
-
Optional attribute;
read/write access; type:
[[iio]|[io]|o*]
Connected PCIe devices. Format is (device_number, function_number, object)*). The device_number can be omitted, in which case function_number is an 8-bit or 16-bit number. In the case of a 16-bit number, the bus number (bits 8 through 15) is hardcoded for this device, even though it is physically connected to whatever bus this downstream port is configured to. The object must implement the pcie_device interface. Note that after being connected, devices must add their functions through the pcie_map interface, no transactions will be forwarded to the device by default. If both device_number and function_number are omitted, the object does not correspond to a physical device on this bus, but will receive the same calls as any other device. This is useful for transparent bridges to other buses.
-
memory_space
-
Pseudo attribute;
read/write access; type:
o
Legacy Memory space
-
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 object can also optionally implement either or both of: the pci_express interface, a port-object named 'port.pcie_message' implementing the transaction 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.
-
sec_bus_num
-
Optional attribute;
read/write access; type:
i
Secondary Bus Number
-
transparent_enabled
-
Optional attribute;
read/write access; type:
b
If TRUE, this bus operates in transparent mode, all ranges mapped by devices on this bus will be mapped in the upstream target of this bus. The sec_bus_num will be claimed in the upstream config and message space.
-
upstream_target
-
Optional attribute;
read/write access; type:
o|[os]|n
Target receiving all upstream transactions
pcie-downstream-port
conf_object, log_object, signal
- 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.
conf_object, log_object, transaction
- 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.
-
wait-for-get
– issue an inquiry read transaction and wait for it to complete
-
wait-for-read
– issue a read transaction and wait for it to complete
-
wait-for-set
– issue an inquiry write transaction and wait for it to complete
-
wait-for-write
– issue a write transaction and wait for it to complete
access point into downstream Config space
conf_object, log_object, transaction_translator, translation_flush
- 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.
access point into downstream PCIe space
conf_object, log_object, pcie_device, pcie_port_control, transaction, transaction_translator, translation_flush
- 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.
-
wait-for-get
– issue an inquiry read transaction and wait for it to complete
-
wait-for-read
– issue a read transaction and wait for it to complete
-
wait-for-set
– issue an inquiry write transaction and wait for it to complete
-
wait-for-write
– issue a write transaction and wait for it to complete
ECAM configuration space
conf_object, log_object, translator
- 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.
translates to legacy conf space
conf_object, log_object, translator
- 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.
translates from legacy conf space
conf_object, log_object, translator
- 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.
translates from transaction to legacy pci_express
conf_object, log_object, transaction
- 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.
-
wait-for-get
– issue an inquiry read transaction and wait for it to complete
-
wait-for-read
– issue a read transaction and wait for it to complete
-
wait-for-set
– issue an inquiry write transaction and wait for it to complete
-
wait-for-write
– issue a write transaction and wait for it to complete
access point into downstream I/O space
conf_object, log_object, transaction_translator, translation_flush
- 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.
access point into downstream Memory space
conf_object, log_object, transaction_translator, translation_flush
- 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.
access point into downstream Message space
conf_object, log_object, transaction_translator, translation_flush
- 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.
conf_object, log_object, translator
- 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.
conf_object, log_object, transaction
- 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.
-
wait-for-get
– issue an inquiry read transaction and wait for it to complete
-
wait-for-read
– issue a read transaction and wait for it to complete
-
wait-for-set
– issue an inquiry write transaction and wait for it to complete
-
wait-for-write
– issue a write transaction and wait for it to complete