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.  ブロックデバイスのドライバ

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

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

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

20.  USB ドライバ

21.  SR-IOV ドライバ

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

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

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

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

パート IV 付録

A.  ハードウェアの概要

SPARC プロセッサの問題

SPARC のデータ割り当て

SPARC 構造体のメンバー割り当て

SPARC のバイト順序

SPARC のレジスタウィンドウ

SPARC の乗算命令と除算命令

x86 プロセッサの問題

x86 のバイト順序

x86 アーキテクチャーのマニュアル

エンディアン

ストアバッファー

システムのメモリーモデル

トータルストアオーダリング (TSO)

パーシャルストアオーダリング (PSO)

バスアーキテクチャー

デバイスの識別

サポートされている割り込みタイプ

バスの仕様

PCI ローカルバス

PCI アドレスドメイン

PCI 構成アドレス空間

PCI 構成基底アドレスレジスタ

PCI メモリーアドレス空間

PCI I/O アドレス空間

PCI ハードウェア構成ファイル

PCI Express

SBus

SBus の物理アドレス空間

物理 SBus アドレス

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

デバイスの問題

タイミングクリティカルセクション

遅延

内部順序付けロジック

割り込みの問題

SPARC マシンの PROM

Open Boot PROM 3

Forth コマンド

PROM デバイスツリーの調査

デバイスのマッピング

読み取りと書き込み

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

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

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

E.  pci.conf ファイル

索引

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

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

デバイスの問題

このセクションでは、特殊なデバイスの問題について説明します。

タイミングクリティカルセクション

ほとんどのドライバの処理は、ロックプリミティブによって提供されるものを超える同期や保護の機構なしで実行できますが、一部のデバイスでは一連のイベントが割り込みなしで順番に発生する必要があります。ロックプリミティブに関連して、関数 ddi_enter_critical(9F) は、現在のスレッドが横取りされたり割り込まれたりしないことを最大限に保証するようにシステムに求めます。この保証は、閉じるための呼び出しを ddi_exit_critical(9F) に対して行うまで有効です。詳細は、ddi_enter_critical(9F)のマニュアルページを参照してください。

遅延

多くのチップは、それらのチップが指定された間隔でのみアクセスできるように指定します。たとえば、Zilog Z8530 SCC には、1.6 マイクロ秒の「書き込み回復時間」があります。この仕様は、8530 で文字を書き込むときに drv_usecwait(9F) で遅延を実施する必要があることを意味します。場合によっては、この仕様では必要な遅延が明示されないため、経験に基づいて遅延を判定する必要があります。

たとえば、幾千もの SCSI ディスクドライブなど、数多く存在することがあるデバイスのパーツの遅延を大きくしないように注意してください。

内部順序付けロジック

内部順序付けロジックのあるデバイスは、複数の内部レジスタを同じ外部アドレスにマッピングします。さまざまな種類の内部順序付けロジックには、次のタイプが含まれています。

割り込みの問題

次の一般的な割り込みの問題に注意してください。