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)

DMA モデル

デバイス DMA の種類

バスマスター DMA

サードパーティー DMA

ファーストパーティー DMA

ホストプラットフォームの DMA の種類

DMA ソフトウェアコンポーネント: ハンドル、ウィンドウ、cookie

DMA 操作

バスマスター DMA 転送の実行

ファーストパーティー DMA 転送の実行

サードパーティー DMA 転送の実行

DMA 属性

ddi_dma_attr 構造体

SBus の例

ISA バスの例

DMA 資源の管理

オブジェクトのロック

DMA ハンドルの割り当て

DMA 資源の割り当て

デバイスレジスタ構造体

DMA コールバックの例

最大バーストサイズの決定

プライベート DMA バッファーの割り当て

資源割り当てエラーの処理

DMA エンジンのプログラミング

DMA 資源の解放

DMA ハンドルの解放

DMA コールバックの取り消し

メモリーオブジェクトの同期

キャッシュ

ddi_dma_sync() 関数

DMA ウィンドウ

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

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

12.  電源管理

13.  Solaris ドライバの強化

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

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

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

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

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

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

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

20.  USB ドライバ

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

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

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

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

パート IV 付録

A.  ハードウェアの概要

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

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

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

索引

DMA モデル

DDI/DKI (Solaris Device Driver Interface/Driver-Kernel Interface) には、アーキテクチャーに依存しないハイレベルな DMA モデルが用意されています。このモデルを使用すると、フレームワーク (つまり DMA ルーチン) で次のようなアーキテクチャー固有の詳細を隠すことができます。

DDI/DKI では、DMA トランザクションのさまざまな局面を記述するためにいくつかの抽象化が使用されます。

デバイスドライバは、オブジェクトを直接メモリー内にマップするのではなく、DMA 資源をメモリーオブジェクトに割り当てます。次に、DMA ルーチンは DMA アクセス用のオブジェクトの設定に必要なプラットフォーム固有のすべての操作を実行します。ドライバは DMA ハンドルを受け取って、オブジェクトに割り当てられている DMA 資源を特定します。このハンドルはデバイスドライバに対して不透明です。ドライバはこのハンドルを保存し、そのあとの呼び出しで DMA ルーチンに渡す必要があります。ドライバがこのハンドルを解釈することはありません。

次のサービスを提供する処理は DMA ハンドルで定義されます。