pcie-bus pcie-downstream-port-legacy
Simics Reference Manual  /  5 Classes  / 

pcie-downstream-port

Description

This class manages the downstream address spaces and connected devices for PCIe switches and Root Complexes

Interfaces Implemented

conf_object, log_object, pcie_map, pcie_port_control, transaction, translator

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.
state-change
Notifier on potential DML state change

Port Objects

cfg_space
memory-space – downstream Config space
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.HOT_RESET
port.broadcast
pcie-downstream-port.broadcast
port.cfg
pcie-downstream-port.cfg – access point into downstream Config space
port.downstream
pcie-downstream-port.downstream – access point into downstream PCIe space
port.ecam
pcie-downstream-port.ecam – ECAM configuration space
port.io
pcie-downstream-port.io – access point into downstream I/O space
port.mem
pcie-downstream-port.mem – access point into downstream Memory space
port.msg
pcie-downstream-port.msg – access point into downstream Message space
port.phy
pcie-downstream-port.phy

Commands for this class

Commands for interface transaction

Commands for interface translator

Attributes

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.
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

Provided By

pcie-downstream-port

pcie-downstream-port.HOT_RESET

Interfaces Implemented

conf_object, log_object, signal

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.

pcie-downstream-port.broadcast

Interfaces Implemented

conf_object, log_object, transaction

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 interface transaction

pcie-downstream-port.cfg

Description

access point into downstream Config space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

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

Commands for interface transaction_translator

pcie-downstream-port.downstream

Description

access point into downstream PCIe space

Interfaces Implemented

conf_object, log_object, pcie_device, pcie_port_control, transaction, transaction_translator, translation_flush

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 interface transaction

Commands for interface transaction_translator

pcie-downstream-port.ecam

Description

ECAM configuration space

Interfaces Implemented

conf_object, log_object, translator

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 interface translator

pcie-downstream-port.io

Description

access point into downstream I/O space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

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

Commands for interface transaction_translator

pcie-downstream-port.mem

Description

access point into downstream Memory space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

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

Commands for interface transaction_translator

pcie-downstream-port.msg

Description

access point into downstream Message space

Interfaces Implemented

conf_object, log_object, transaction_translator, translation_flush

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

Commands for interface transaction_translator

pcie-downstream-port.phy

Interfaces Implemented

conf_object, log_object, translator

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 interface translator

pcie-bus pcie-downstream-port-legacy