ドキュメントの情報
はじめに
パート I Solaris プラットフォーム用デバイスドライバの設計
1. Solaris デバイスドライバの概要
2. Solaris カーネルとデバイスツリー
3. マルチスレッド
4. プロパティー
5. イベントの管理とタスクのキュー
6. ドライバの自動設定
ドライバのロードとアンロード
ドライバに必要なデータ構造体
modlinkage 構造体
modldrv 構造体
dev_ops 構造体
cb_ops 構造体
ロード可能なドライバインタフェース
_init() の例
_fini() の例
_info() の例
デバイス設定の概念
デバイスインスタンスとインスタンス番号
マイナーノードとマイナー番号
probe() エントリポイント
attach() エントリポイント
ドライバのソフト状態管理
ロック変数と条件変数の初期化
マイナーデバイスノードの作成
遅延接続
detach() エントリポイント
getinfo() エントリポイント
デバイス ID の使用
デバイス ID の登録
デバイスによって提供された ID の登録
組み立てられた ID の登録
デバイス ID の登録解除
7. デバイスアクセス: プログラム式入出力
8. 割り込みハンドラ
9. ダイレクトメモリーアクセス (DMA)
10. デバイスメモリーおよびカーネルメモリーのマッピング
11. デバイスコンテキスト管理
12. 電源管理
13. Solaris ドライバの強化
14. 階層化ドライバインタフェース (LDI)
パート II 特定の種類のデバイスドライバの設計
15. 文字デバイスのドライバ
16. ブロックデバイスのドライバ
17. SCSI ターゲットドライバ
18. SCSI ホストバスアダプタドライバ
19. ネットワークデバイスのドライバ
20. USB ドライバ
パート III デバイスドライバの構築
21. ドライバのコンパイル、ロード、パッケージ化、およびテスト
22. デバイスドライバのデバッグ、テスト、およびチューニング
23. 推奨されるコーティング方法
パート IV 付録
A. ハードウェアの概要
B. Solaris DDI/DKI サービスの概要
C. 64 ビットデバイスドライバの準備
D. コンソールフレームバッファードライバ
索引
自動設定とは、ドライバがコードと静的データをメモリー内にロードすることを示します。その後、この情報がシステムに登録されます。また、自動設定では、そのドライバによって制御される個々のデバイスインスタンスの接続も行われます。
この章では、次の内容について説明します。
「ドライバのロードとアンロード」
「ドライバに必要なデータ構造体」
「ロード可能なドライバインタフェース」
「デバイス設定の概念」
「デバイス ID の使用」