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

索引

ドライバコードの配置

デバイスドライバのコードは通常、次のファイルに分割されます。

ヘッダーファイル

ヘッダーファイルには次の定義が記述されています。

状態構造体など、ヘッダーファイルの定義の一部は、デバイスドライバでのみ必要になることがあります。この情報はデバイスドライバ自体によってのみ含められる private ヘッダーファイルに入れる必要があります。

入出力制御コマンドなど、アプリケーションが必要とすることがある情報はすべて、public ヘッダーファイルに含める必要があります。これらのファイルはドライバと、デバイスに関する情報を必要とするすべてのアプリケーションによって含められます。

private ファイルと public ファイルの命名に関する標準はありませんが、private ヘッダーファイルの場合は xximpl.h が、public ヘッダーファイルの場合は xxio.h が命名規則の 1 つです。

ソースファイル

デバイスドライバの C ソースファイル (.c ファイル) は次のことを行います。

設定ファイル

一般に、ドライバの設定ファイルでは、ドライバが必要とするすべてのプロパティーが定義されます。ドライバ設定ファイルのエントリは、存在するかどうかをドライバが調べる可能性があるデバイスインスタンスを指定します。ドライバのグローバルプロパティーはドライバの設定ファイル内で設定できます。詳細については、driver.conf(4) のマニュアルページを参照してください。

ドライバ設定ファイルは、自己識別型ではないデバイスのために必要です。

自己識別デバイス (SID) については、ドライバ設定ファイルを省略可能です。自己識別デバイスの場合、SID ノードにプロパティーを追加するために設定ファイルを使用できます。

次のプロパティーは、ドライバ設定ファイルで設定されないプロパティーの例です。