pcie_adapter_compat pcie_hotplug_events
API Reference Manual  /  4 Model-to-Model Interfaces  / 

pcie_device

Description
This interface must be implemented by all PCIe devices that can receive downstream transactions.

connected and disconnected are used to indicate that the device is (dis)connected to port_obj with device id device_id and may use the pcie_map interface to add/remove functions and claim/release other resources

hot_reset is used to indicate that a Hot Reset has been signaled on the PCIe link to which the device is connected. It is up to the device to reset functions and other resources mapped using the pcie_map interface.

Note: This interface is considered tech-preview and may change without notice.

typedef enum {
        PCIE_Type_Not_Set,
        PCIE_Type_Mem,
        PCIE_Type_IO,
        PCIE_Type_Cfg,
        PCIE_Type_Msg,
        PCIE_Type_Other,
} pcie_type_t;

SIM_INTERFACE(pcie_device) {
        void (*connected)(conf_object_t *obj, conf_object_t *port_obj,
                          uint16 device_id);
        void (*disconnected)(conf_object_t *obj, conf_object_t *port_obj,
                             uint16 device_id);
        void (*hot_reset)(conf_object_t *obj);
};

#define PCIE_DEVICE_INTERFACE "pcie_device"

Execution Context
Global Context for all methods.

pcie_adapter_compat pcie_hotplug_events