sample-pcie-ats-endpoint sample-pcie-device
Simics Reference Manual  /  5 Classes  / 

sample-pcie-ats-prs-dma

Description

DMA endpoint with eight concurrent channels. Each DMA channel starts with allocating the necessary pages using PRS. The DMA then performs an ATS translation followed by the actual DMA operating on the translated addresses. After the DMA is finished it issues a stop marker message to the TA to free up the pages.

Interfaces Implemented

conf_object, log_object, pcie_device

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

bank.pcie_config
sample-pcie-ats-prs-dma.pcie_config
bank.regs
sample-pcie-ats-prs-dma.regs
port.HRESET
sample-pcie-ats-prs-dma.HRESET
port.phy
sample-pcie-ats-prs-dma.phy
port.upstream_ingress
sample-pcie-ats-prs-dma.upstream_ingress
upstream_ingress_targets
sample-pcie-ats-prs-dma.upstream_ingress_targets

Attributes

device_memory
Required attribute; read/write access; type: o|[os]
Memory in device endpoint

Optional interfaces: io_memory, memory_space, port_space, ram, rom, transaction, transaction_translator, translator

irq_dma_done
Optional attribute; read/write access; type: [o|[os]|n{0:8}]
Interrupt signal raised by DMA channel when it is finished

Required interface: signal

Provided By

sample-pcie-ats-device

sample-pcie-ats-prs-dma.HRESET

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.

sample-pcie-ats-prs-dma.pcie_config

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, pcie_function_info, register_view, register_view_catalog, register_view_read_only, 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 bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface pcie_function_info

Commands for interface transaction

Attributes

function_number
Pseudo attribute; read-only access; type: i
PCIe function number of this bank

sample-pcie-ats-prs-dma.phy

Interfaces Implemented

conf_object, log_object, pcie_link_readiness, 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

sample-pcie-ats-prs-dma.regs

Interfaces Implemented

conf_object, log_object, bank_instrumentation_subscribe, instrumentation_order, register_view, register_view_catalog, register_view_read_only, 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 bank_instrumentation_subscribe

Commands for interface instrumentation_order

Commands for interface transaction

sample-pcie-ats-prs-dma.upstream_ingress

Interfaces Implemented

conf_object, log_object, pcie_ingress_handling, 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_translator

sample-pcie-ats-prs-dma.upstream_ingress_targets

Interfaces Implemented

conf_object, log_object

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.

Port Objects

config
memory-space – Instances of the memory-space class provide linear address spaces into which devices and memory can be mapped.
io
memory-space – Instances of the memory-space class provide linear address spaces into which devices and memory can be mapped.
memory
memory-space – Instances of the memory-space class provide linear address spaces into which devices and memory can be mapped.
message
memory-space – Instances of the memory-space class provide linear address spaces into which devices and memory can be mapped.
port.broadcast
sample-pcie-ats-prs-dma.upstream_ingress_targets.broadcast

sample-pcie-ats-prs-dma.upstream_ingress_targets.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

sample-pcie-ats-endpoint sample-pcie-device