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.  電源管理

電源管理システムのフレームワーク

デバイス電源管理

システム電源管理

デバイス電源管理モデル

電源管理の部品

複数の電源管理部品

電源管理状態

電源レベル

電源管理の依存関係

デバイスの自動電源管理

デバイス電源管理インタフェース

ビジーとアイドルの状態遷移

デバイスの電源状態の遷移

power() エントリポイント

システム電源管理モデル

自動停止しきい値

ビジー状態

ハードウェア状態

システムの自動電源管理

システム電源管理で使用されるエントリポイント

detach() エントリポイント

attach() エントリポイント

電源管理のデバイスアクセスの例

電源管理の制御フロー

電源管理インタフェースの変更点

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.  コンソールフレームバッファードライバ

索引

電源管理の制御フロー

図 12-1 に、電源管理フレームワークの制御フローを示します。

部品の動作が完了したら、ドライバは pm_idle_component(9F) を呼び出して部品をアイドル状態とマークできます。しきい値として設定された時間だけ部品のアイドル状態が続いたら、フレームワークは部品の電源レベルを 1 段階下げることができます。フレームワークは power(9E) 関数を呼び出して、サポートされている 1 段階下の電源レベルに部品を設定します (そのレベルが存在する場合)。部品がビジー状態のとき、ドライバの power(9E) 関数では、その部品の電源レベルを下げようとする試みを拒否する必要があります。power(9E) 関数では、下のレベルに状態を遷移する前に、その遷移によって失われる可能性があるすべての状態を保存する必要があります。

部品の電源レベルを上げる必要があるとき、ドライバは pm_busy_component(9F) を呼び出します。この呼び出しは、フレームワークが電源レベルをそれ以上下げないようにしてから、部品に対して pm_raise_power(9F) を呼び出します。フレームワークは次に、pm_raise_power(9F) の呼び出しが戻る前に、power(9E) を呼び出して部品の電源レベルを上げます。ドライバの power(9E) のコードでは、低い電源レベルへの遷移時に失われるが、高い電源レベルでは必要であるすべての状態を復元する必要があります。

ドライバを切り離すとき、ドライバでは各部品に対して pm_lower_power(9F) を呼び出し、電源レベルをそれぞれ最低段階まで下げます。フレームワークは次に、pm_lower_power(9F) の呼び出しが戻る前に、ドライバの power(9E) ルーチンを呼び出して部品の電力レベルを下げます。

図 12-1 電源管理の概念を示す状態図

image:図では、電源管理ルーチンを通しての制御フローを示しています。