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 ホストバスアダプタドライバ

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

20.  USB ドライバ

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

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

ドライバ開発の概要

ドライバコードの配置

ヘッダーファイル

ソースファイル

設定ファイル

ドライバインストールの準備

ドライバのコンパイルとリンク

モジュールの依存関係

ハードウェア設定ファイルの記述

ドライバのインストール、更新、および削除

モジュールディレクトリへのドライバのコピー

add_drv を使用したドライバのインストール

ドライバ情報の更新

ドライバの削除

ドライバのロードとアンロード

ドライバのパッケージ化

パッケージのインストール後処理

パッケージの削除前処理

デバイステストの条件

設定のテスト

機能テスト

エラー処理

ロードとアンロードのテスト

ストレス、パフォーマンス、および相互運用性のテスト

DDI/DKI コンプライアンスのテスト

インストールとパッケージ化のテスト

特定の種類のドライバのテスト

テープドライバ

ディスクドライバ

非同期通信ドライバ

ネットワークドライバ

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

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

パート IV 付録

A.  ハードウェアの概要

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

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

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

索引

ドライバ開発の概要

この章と、第 22 章デバイスドライバのデバッグ、テスト、およびチューニングおよび第 23 章推奨されるコーティング方法の 2 つの章では、デバイスドライバの開発について詳しく説明します。

デバイスドライバを構築するには、次の手順に従います。

  1. 新しいコードを記述、コンパイル、リンクします。

    ファイルの命名規則については、「ドライバコードの配置」を参照してください。C コンパイラを使用してドライバをコンパイルします。ld(1) を使用してドライバをリンクします。「ドライバのコンパイルとリンク」「モジュールの依存関係」を参照してください。

  2. 必要なハードウェア設定ファイルを作成します。

    デバイスに固有の、xx .conf という名前のハードウェア設定ファイルを作成します。xx にはデバイスの接頭辞が入ります。このファイルは driver.conf(4) ファイルを更新するために使用されます。「ハードウェア設定ファイルの記述」を参照してください。擬似デバイスドライバの場合は、pseudo(4) ファイルを作成します。

  3. 適切なモジュールディレクトリにドライバをコピーします。

    「モジュールディレクトリへのドライバのコピー」を参照してください。

  4. add_drv(1M) を使用してデバイスドライバをインストールします。

    add_drv を使用したドライバのインストールは、通常はインストール後スクリプトの一部として実行されます。add_drv を使用したドライバのインストール」を参照してください。update_drv(1M) コマンドを使用して、必要な変更をドライバに加えます。「ドライバ情報の更新」を参照してください。

  5. ドライバをロードします。

    デバイスにアクセスすることでドライバを自動的にロードできます。「ドライバのロードとアンロード」「パッケージのインストール後処理」を参照してください。ドライバは modload(1M) コマンドを使用してもロードできます。modload コマンドはモジュール内のどのルーチンも実行しないので、テストの際に役立ちます。「テストモジュールのロードとアンロード」を参照してください。

  6. ドライバをテストします。

    ドライバは次の領域で厳しくテストする必要があります。

    ドライバ固有のその他のテストについては、「特定の種類のドライバのテスト」を参照してください。

  7. 必要に応じてドライバを削除します。

    rem_drv(1M) コマンドを使用してデバイスドライバを削除します。「ドライバの削除」「パッケージの削除前処理」を参照してください。