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)

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.  Oracle Solaris ドライバの強化

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

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

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

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

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
貴重なご意見を有り難うございました!

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

デバイス DMA の種類

デバイスは、次の 3 種類の DMA のいずれかを実行します。

バスマスター DMA

ドライバは、デバイスが本物のバスマスターのように動作する場合に、そのデバイスの DMA レジスタを直接プログラミングします。たとえば、DMA エンジンがデバイスボード上にある場合、デバイスはバスマスターのように動作します。転送のアドレスとカウントが DMA cookie から取得されてデバイスに渡されます。

サードパーティー DMA

サードパーティー DMA はメインシステムボード上にあるシステムの DMA エンジンを使用します。メインシステムボードには、デバイスで使用できる DMA チャネルがいくつか備わっています。デバイスとメモリー間のデータ転送には、システムの DMA エンジンが使用されています。ドライバは、DMA エンジンのルーチン (ddi_dmae(9F) 関数を参照) を使用して DMA エンジンの初期化とプログラミングを行います。DMA データ転送ごとに、ドライバは DMA エンジンをプログラミングし、そのエンジンと連携して転送を開始するためのコマンドをデバイスに提供します。

ファーストパーティー DMA

ファーストパーティー DMA では、デバイスはシステムの DMA エンジンのチャネルを使用して、そのデバイスの DMA バスサイクルを作動させます。ddi_dmae_1stparty(9F) 関数を使用して、DMA エンジンが転送の妨げにならないように、カスケードモードでこのチャネルを構成します。