JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
デバイスドライバの記述     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I Solaris プラットフォーム用デバイスドライバの設計

1.  Solaris デバイスドライバの概要

2.  Solaris カーネルとデバイスツリー

3.  マルチスレッド

4.  プロパティー

5.  イベントの管理とタスクのキュー

6.  ドライバの自動設定

7.  デバイスアクセス: プログラム式入出力

8.  割り込みハンドラ

9.  ダイレクトメモリーアクセス (DMA)

10.  デバイスメモリーおよびカーネルメモリーのマッピング

11.  デバイスコンテキスト管理

12.  電源管理

13.  Solaris ドライバの強化

14.  階層化ドライバインタフェース (LDI)

パート II 特定の種類のデバイスドライバの設計

15.  文字デバイスのドライバ

16.  ブロックデバイスのドライバ

17.  SCSI ターゲットドライバ

18.  SCSI ホストバスアダプタドライバ

ホストバスアダプタドライバの概要

SCSI インタフェース

SCSA HBA インタフェース

SCSA HBA エントリポイントの概要

SCSA HBA データ構造体

scsi_hba_tran() 構造体

scsi_address 構造体

scsi_device 構造体

scsi_pkt 構造体 (HBA)

ターゲットインスタンスごとのデータ

トランスポート構造体の複製

SCSA HBA 関数

HBA ドライバの依存性と設定に関する問題

宣言と構造体

コマンド別構造体

モジュール初期化用のエントリポイント

_init() エントリポイント (SCSI HBA ドライバ)

_fini() エントリポイント (SCSI HBA ドライバ)

自動設定のエントリポイント

attach() エントリポイント (SCSI HBA ドライバ)

detach() エントリポイント (SCSI HBA ドライバ)

SCSA HBA ドライバのエントリポイント

ターゲットドライバインスタンスの初期化

tran_tgt_init() エントリポイント

tran_tgt_probe() エントリポイント

tran_tgt_free() エントリポイント

資源割り当て

tran_init_pkt() エントリポイント

scsi_pkt(9S) 構造体の割り当てと初期化

DMA 資源の割り当て

データ転送のための DMA 資源の再割り当て

tran_destroy_pkt() エントリポイント

tran_sync_pkt() エントリポイント

tran_dmafree() エントリポイント

コマンドのトランスポート

tran_start() エントリポイント

割り込みハンドラとコマンドの完了

タイムアウトハンドラ

機能管理

tran_getcap() エントリポイント

tran_setcap() エントリポイント

中止およびリセット管理

tran_abort() エントリポイント

tran_reset() エントリポイント

tran_bus_reset() エントリポイント

tran_reset_notify() エントリポイント

動的再構成 (DR)

SCSI HBA ドライバに固有の問題

HBA ドライバのインストール

HBA の設定プロパティー

scsi-reset-delay プロパティー

scsi-options プロパティー

ターゲットごとの scsi-options

x86 ターゲットドライバの設定プロパティー

キューイングのサポート

19.  ネットワークデバイスのドライバ

20.  USB ドライバ

パート III デバイスドライバの構築

21.  ドライバのコンパイル、ロード、パッケージ化、およびテスト

22.  デバイスドライバのデバッグ、テスト、およびチューニング

23.  推奨されるコーティング方法

パート IV 付録

A.  ハードウェアの概要

B.  Solaris DDI/DKI サービスの概要

C.  64 ビットデバイスドライバの準備

D.  コンソールフレームバッファードライバ

索引

キューイングのサポート

タグ付きのキューイングの定義については、SCSI-2 の仕様を参照してください。タグ付きのキューイングをサポートするためには、最初に scsi_optionsSCSI_OPTIONS_TAG フラグをチェックして、タグ付きのキューイングがグローバルに有効かどうかを確認します。次に、ターゲットが SCSI-2 デバイスであるかどうか、およびターゲットでタグ付きのキューイングが有効になっているかどうかを確認します。これらの条件がすべて真である場合は、scsi_ifsetcap(9F) を使用してタグ付きのキューイングを有効にしてみてください。

タグ付きのキューイングに失敗した場合は、タグなしのキューイングを設定してみることができます。このモードでは、ホストアダプタドライバに必要または最適と思われるだけの数のコマンドを送信します。次にホストアダプタは、タグ付きのキューイングとは対照的に、それらのコマンドをターゲットのキューに 1 度に 1 つずつ入れます。タグ付きのキューイングでは、ホストアダプタは、ターゲットからキューが満杯であることが示されるまで、できるだけ多くのコマンドを送信します。