JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
デバイスドライバの記述     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

パート I Oracle Solaris プラットフォーム用デバイスドライバの設計

1.  Oracle Solaris デバイスドライバの概要

2.  Oracle Solaris カーネルとデバイスツリー

3.  マルチスレッド

4.  プロパティー

5.  イベントの管理とタスクのキュー

6.  ドライバの自動構成

7.  デバイスアクセス: プログラム式入出力

8.  割り込みハンドラ

9.  ダイレクトメモリーアクセス (DMA)

10.  デバイスメモリーおよびカーネルメモリーのマッピング

11.  デバイスコンテキスト管理

12.  電源管理

13.  Oracle Solaris ドライバの強化

14.  階層化ドライバインタフェース (LDI)

パート II 特定の種類のデバイスドライバの設計

15.  文字デバイスのドライバ

16.  ブロックデバイスのドライバ

17.  SCSI ターゲットドライバ

18.  SCSI ホストバスアダプタドライバ

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

20.  USB ドライバ

21.  SR-IOV ドライバ

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

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

ドライバ開発のサマリー

ドライバコードの配置

ヘッダーファイル

ソースファイル

構成ファイル

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

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

モジュールの依存関係

ハードウェア構成ファイルの記述

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

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

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

ドライバ情報の更新

ドライバの削除

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

ドライバのパッケージ化

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

パッケージの削除前処理

デバイステストの条件

構成のテスト

機能テスト

エラー処理

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

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

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

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

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

テープドライバ

ディスクドライバ

非同期通信ドライバ

ネットワークドライバ

SR-IOV ドライバのテスト

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

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

パート IV 付録

A.  ハードウェアの概要

B.  Solaris DDI/DKI サービスのサマリー

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

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

E.  pci.conf ファイル

索引

ドライバ開発のサマリー

この章と、第 23 章デバイスドライバのデバッグ、テスト、およびチューニングおよび第 24 章推奨されるコーティング方法の 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) コマンドを使用してデバイスドライバを削除します。「ドライバの削除」「パッケージの削除前処理」を参照してください。