ドキュメントの情報
はじめに
パート 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 ホストバスアダプタドライバ
19. ネットワークデバイスのドライバ
20. USB ドライバ
パート III デバイスドライバの構築
21. ドライバのコンパイル、ロード、パッケージ化、およびテスト
22. デバイスドライバのデバッグ、テスト、およびチューニング
23. 推奨されるコーティング方法
デバッグ準備手法
一意の接頭辞を使用してカーネルシンボルの衝突を回避する
cmn_err() を使用してドライバの活動を記録する
ASSERT() を使用して無効な前提条件を見つける
mutex_owned() を使用してロック要件の検証とドキュメント化を行う
条件付きコンパイルを使用してコストの高いデバッグ機能を切り替える
変数の volatile 宣言
保守性
定期的な健全性検査
パート IV 付録
A. ハードウェアの概要
B. Solaris DDI/DKI サービスの概要
C. 64 ビットデバイスドライバの準備
D. コンソールフレームバッファードライバ
索引
この章では、堅牢なドライバを記述する方法について説明します。この章で説明するガイダンスに従ってドライバを記述すると、デバッグが容易になります。この推奨される方法に従えば、システムもハードウェアやソフトウェアの障害から保護されます。
この章では、次の内容について説明します。
「デバッグ準備手法」
「変数の volatile 宣言」
「保守性」