DDI 接口 ddi_cb_register() 和 ddi_cb_unregister() 可管理由 SR-IOV 驱动程序处理的回调。回调用于通知事件和传入的数据通信。回调在传输期间充当每个事件的事件处理程序。
SR-IOV PF 驱动程序应通过将 flags 参数中的 DDI_CB_FLAG_SRIOV 传递给 ddi_cb_register() 来注册事件。有关详细信息,请参见 ddi_cb_register(9F) 手册页。
发生 SR-IOV 事件时,已注册 SR-IOV 事件的驱动程序将会收到以下回调:
typedef int(*ddi_cb_func_t) (dev_info_t *dip, ddi_cb_action_t action, void *cbarg, void *arg1, void *arg2)
指向 dev_info 结构的指针。
指向特定于操作的回调数据的指针。
发生的事件类型。它可能是以下两个值中的任意一个:
VF 配置发生了更改。cbarg 参数为指向 pciv_config_vf_t 结构的指针。
VF 类配置发生了更改。cbarg 参数为指向 fciov_conf_t 结构的指针。有关更多详细信息,请参见Fibre Channel SR-IOV Devices。
作为 arg1 传递到 ddi_cb_register() 调用的值。
作为 arg2 传递到 ddi_cb_register() 调用的值。