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

索引

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

Solaris 8 よりも前のリリースでは、デバイスの電源管理は自動ではありませんでした。電源を管理するデバイスごとに、開発者が /etc/power.conf にエントリを追加する必要がありました。フレームワークでは、すべてのデバイスが 2 つの電源レベル (0 および標準電力) のみをサポートすることを想定していました。

電源では、他のすべての部品が暗示的に部品 0 に依存することを想定していました。部品 0 がレベル 0 に変化すると、DDI_PM_SUSPEND コマンドを指定してドライバの detach(9E) が呼び出され、ハードウェアの状態を保存していました。部品 0 がレベル 0 から変化すると、DDI_PM_RESUME コマンドを指定して attach(9E) ルーチンが呼び出され、ハードウェアの状態を復元していました。

次のインタフェースおよびコマンドは廃止済みですが、バイナリ目的のために引き続きサポートされています。

Solaris 8 リリース以降、autopm が有効な場合、pm-components プロパティーをエクスポートするデバイスは自動的に電源管理を使用します。

現在のフレームワークは、pm-components プロパティーに基づいて、各デバイスがサポートする電源レベルを認識します。

フレームワークでは、デバイスのさまざまな部品間の依存関係についての想定を行いません。電源レベルが変化したときに、必要に応じてハードウェアの状態を保存および復元する処理はデバイスドライバが担います。

これらの変更により、電源管理フレームワークで最新のデバイス技術に対応できるようになっています。現在の電源管理は、電力の節減効果が大幅に向上しています。電力を節減可能なデバイスをフレームワークで自動検出できます。フレームワークはデバイスの中間的な電源状態を使用できます。システム全体の電源を切らなくても、また何らかの機能を使用しなくても、システムでエネルギー消費目標を達成できます。

表 12-1 電源管理インタフェース

削除されたインタフェース
代替インタフェース
pm_create_components(9F)
pm_set_normal_power(9F)
pm_destroy_components(9F)
なし
pm_get_normal_power(9F)
なし
ddi_dev_is_needed(9F)
なし
なし
DDI_PM_SUSPEND
なし
DDI_PM_RESUME
なし