pci_multi_function_device pci_upstream_operation
API Reference Manual  /  4 Model-to-Model Interfaces  / 

pci_upstream

Description
This interface is implemented by PCI(e) buses and bridges to handle upstream transactions (primarily memory or IO).

A PCI(e) bus typically forwards all transactions to an upstream bridge.

PCI(e) bridges either forward a transaction to its primary side bus or initiate a downstream operation on the secondary bus using the pci_downstream interface.

It should be noted that a PCI bridge using this interface will see peer-to-peer traffic from its secondary interface; this is a difference compared to real hardware where such transactions never involve the bridge. To behave like real hardware, PCI bridges should send all peer-to-peer traffic downstream.

SIM_INTERFACE(pci_upstream) {
        exception_type_t (*operation)(conf_object_t *obj,
                                      generic_transaction_t *mem_op,
                                      addr_space_t space);
};
#define PCI_UPSTREAM_INTERFACE   "pci_upstream"

Execution Context
Cell Context for all methods.

pci_multi_function_device pci_upstream_operation