Go to main content
Oracle® Solaris 11.3 デバイスドライバの記述

印刷ビューの終了

更新: 2016 年 11 月
 
 

ドライバのコールバック

DDI インタフェース ddi_cb_register()ddi_cb_unregister() は、SR-IOV ドライバによって処理されるコールバックを管理します。コールバックはイベントおよび着信データトラフィックの通知に使用されます。コールバックは、送信時の各イベントのイベントハンドラとしての役割を果たします。

SR - IOV PF ドライバは、flags パラメータ DDI_CB_FLAG_SRIOVddi_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)
dip

dev_info 構造体へのポインタ。

cbarg

アクション固有のコールバックデータへのポインタ。

action

発生したイベントのタイプ。次の 2 つの値のどちらかになります。

DDI_CB_PCIV_CONFIG_V

VF 構成に対する変更が発生しました。cbarg パラメータは pciv_config_vf_t 構造体へのポインタです。

DDI_CB_PCIV_CLASS_CONFIG

VF クラス構成に対する変更が発生しました。cbarg パラメータは fciov_conf_t 構造体へのポインタです。詳細は、ファイバチャネル SR-IOV デバイスを参照してください。

arg1

ddi_cb_register() 呼び出しの arg1 として渡される値。

arg2

ddi_cb_register() 呼び出しの arg2 として渡される値。


注 - SR-IOV に対応している PF ドライバは必ず、ddi_cb_flags_t DDI_CB_FLAG_SRIOV を使用することで、PF ドライバが SR-IOV に対応していることを Oracle Solaris IOV フレームワークに知らせる必要があります。