ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 11.1 Information Library (日本語) |
パート I Oracle Solaris プラットフォーム用デバイスドライバの設計
2. Oracle Solaris カーネルとデバイスツリー
_init() エントリポイント (SCSI HBA ドライバ)
_fini() エントリポイント (SCSI HBA ドライバ)
attach() エントリポイント (SCSI HBA ドライバ)
detach() エントリポイント (SCSI HBA ドライバ)
22. ドライバのコンパイル、ロード、パッケージ化、およびテスト
23. デバイスドライバのデバッグ、テスト、およびチューニング
SCSA は、ターゲットドライバからホストアダプタドライバに SCSI コマンドを転送するための DDI/DKI プログラミングインタフェースです。SCSA に従うことで、ターゲットドライバは SCSI コマンドとシーケンスのどのような組み合わせでも簡単にターゲットデバイスに渡すことができます。ホストアダプタのハードウェア実装の知識は必要ありません。概念上、SCSA は SCSI コマンドを構築することと、データとともにコマンドを SCSI バスにトランスポートすることを区別しています。SCSA は、次の図に示すように、HBA トランスポート層を通じて、ターゲットドライバと HBA ドライバ間の接続を管理します。
図 18-1 SCSA インタフェース
HBA トランスポート層は、SCSI コマンドの SCSI ターゲットデバイスへのトランスポートを担当するソフトウェアとハードウェアの層です。HBA ドライバは、SCSA 経由で SCSI ターゲットドライバが発行する要求に応えて、資源の割り当て、DMA 管理、およびトランスポートの各サービスを提供します。また、コマンドの実行に必要なホストアダプタハードウェアと SCSI プロトコルの管理も行います。コマンドが完了すると、HBA ドライバはターゲットドライバの SCSI pkt コマンド完了ルーチンを呼び出します。
次の例は、ターゲットドライバから SCSA、さらに HBA ドライバへの転送に重点を置いて、この流れを示しています。この図には、一般的なトランスポートのエントリポイントと関数呼び出しも示されています。
図 18-2 トランスポート層の流れ