JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
デバイスドライバの記述     Oracle Solaris 11.1 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.  ブロックデバイスのドライバ

ブロックドライバの構造の概要

ファイル入出力

ブロックデバイスの自動構成

デバイスアクセスの制御

open() エントリポイント (ブロックドライバ)

close() エントリポイント (ブロックドライバ)

strategy() エントリポイント

buf 構造体

bp_mapin 構造体

同期データ転送 (ブロックドライバ)

非同期データ転送 (ブロックドライバ)

無効な buf 要求のチェック

要求のキューへの入力

最初の転送の開始

割り込んでいるデバイスの処理

dump() エントリポイントと print() エントリポイント

dump() エントリポイント (ブロックドライバ)

print() エントリポイント (ブロックドライバ)

ディスク装置ドライバ

ディスクの ioctl

ディスクパフォーマンス

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

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

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

20.  USB ドライバ

21.  SR-IOV ドライバ

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

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

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

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

パート IV 付録

A.  ハードウェアの概要

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

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

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

E.  pci.conf ファイル

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

dump() エントリポイントと print() エントリポイント

このセクションでは、dump(9E) エントリポイントと print(9E) エントリポイントについて説明します。

dump() エントリポイント (ブロックドライバ)

dump(9E) エントリポイントは、システム障害が発生した場合に、仮想アドレス空間の一部を指定されたデバイスに直接コピーするために使用されます。dump() はまた、チェックポイント操作中にカーネルの状態をディスクにコピーするためにも使用されます。詳細については、cpr(7)dump(9E) のマニュアルページを参照してください。チェックポイント操作中は割り込みが無効になっているため、このエントリポイントは、割り込みを使用せずにこの操作を実行できる必要があります。

int dump(dev_t dev, caddr_t addr, daddr_t blkno, int nblk)

各表記の意味は次のとおりです。

dev

ダンプを受信するデバイスのデバイス番号。

addr

ダンプを開始する基準となるカーネル仮想アドレス。

blkno

ダンプを開始するブロック。

nblk

ダンプするブロック数。

このダンプは、既存のドライバの正常な動作に依存します。

print() エントリポイント (ブロックドライバ)

int print(dev_t dev, char *str)

print(9E) エントリポイントは、検出された例外に関するメッセージを表示するためにシステムから呼び出されます。print(9E) は、システムに代わってメッセージをコンソールに送信するために cmn_err(9F) を呼び出します。次の例は、標準的な print() エントリポイントを示しています。

static int
 xxprint(dev_t dev, char *str)
 {
     cmn_err(CE_CONT, “xx: %s\n”, str);
     return (0);
 }