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.  ハードウェアの概要

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

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

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

Oracle Solaris コンソールとカーネル端末エミュレータ

x86 プラットフォームのコンソール通信

SPARC プラットフォームのコンソール通信

コンソールの視覚的な入出力インタフェース

入出力制御インタフェース

ポーリングされた入出力インタフェース

ビデオモード変更コールバックインタフェース

コンソールフレームバッファードライバでの視覚的な入出力インタフェースの実装

VIS_DEVINIT

VIS_DEFINI

VIS_CONSDISPLAY

VIS_CONSCOPY

VIS_CONSCURSOR

VIS_PUTCMAP

VIS_GETCMAP

コンソールフレームバッファードライバでのポーリングされた入出力の実装

フレームバッファー固有の構成モジュール

X Window System のフレームバッファー固有の DDX モジュール

コンソールフレームバッファードライバの開発、テスト、およびデバッグ

入出力制御インタフェースのテスト

ポーリングされた入出力インタフェースのテスト

ビデオモード変更コールバック関数のテスト

コンソールフレームバッファードライバをテストするための追加の提案

E.  pci.conf ファイル

索引

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

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

コンソールの視覚的な入出力インタフェース

カーネル端末エミュレータは、次の 2 つのインタフェースを介してコンソールフレームバッファードライバと相互に作用します。通常のシステム動作中 (システムのブートが成功したあと)、カーネル端末エミュレータとコンソールフレームバッファードライバの間の通信は ioctl インタフェースを介して行われます。スタンドアロンモード中 (システムブートの前またはデバッグ中)、カーネル端末エミュレータとコンソールフレームバッファードライバの間の通信は、ポーリングされた入出力インタフェースを介して行われます。カーネル端末エミュレータとコンソールフレームバッファードライバの間のすべての動作は、カーネル端末エミュレータにビデオモードの変更を通知するためにコンソールフレームバッファードライバによって使用されるコールバック関数を除き、カーネル端末エミュレータによって開始されます。

コンソールの視覚的な入出力インタフェースについては、visual_io(7I) のマニュアルページに詳細が説明されています。ビデオモード変更コールバック関数の詳細については、「ビデオモード変更コールバックインタフェース」を参照してください。

入出力制御インタフェース

通常のシステム動作中、カーネル端末エミュレータは、次の表に示されている ioctl インタフェースを介してコンソールフレームバッファードライバと通信します。

ioctl の名前
対応するデータ構造体
説明
VIS_DEVINIT
vis_devinit
端末エミュレータモジュールとフレームバッファーの間のセッションを初期化します。VIS_DEVINITを参照してください。
VIS_DEVFINI
該当なし
端末エミュレータモジュールとフレームバッファーの間のセッションを終了します。VIS_DEFINIを参照してください。
VIS_CONSDISPLAY
vis_consdisplay
ピクセルを矩形として表示します。VIS_CONSDISPLAYを参照してください。
VIS_CONSCOPY
vis_conscopy
ピクセルの矩形をコピーします (スクロール)。VIS_CONSCOPYを参照してください。
VIS_CONSCURSOR
vis_conscursor
テキストカーソルの表示/非表示を切り替えますVIS_CONSCURSORを参照してください。
VIS_PUTCMAP
vis_cmap
端末エミュレータモジュールのカラーマップをフレームバッファードライバに送信します。VIS_PUTCMAPを参照してください。
VIS_GETCMAP
vis_cmap
端末エミュレータモジュールのカラーマップをフレームバッファーから読み取ります。VIS_GETCMAPを参照してください。

ポーリングされた入出力インタフェース

ポーリングされた入出力インタフェースは、VIS_CONSDISPLAYVIS_CONSCOPY、および VIS_CONSCURSOR ioctl インタフェースと同じ機能を提供します。ポーリングされた入出力インタフェースは、オペレーティングシステムが休止状態にあり、かつスタンドアロンモードにある場合にのみ呼び出されます。詳細については、「コンソールフレームバッファードライバでのポーリングされた入出力の実装」を参照してください。

スタンドアロンモード中、カーネル端末エミュレータは、次の表に示されているポーリングされた入出力インタフェースを介してコンソールフレームバッファードライバと通信します。

ポーリングされた入出力関数
対応するデータ構造体
説明
(*display)()
vis_consdisplay
ピクセルを矩形として表示します。
(*copy)()
vis_conscopy
ピクセルの矩形をコピーします (スクロール)。
(*cursor)()
vis_conscursor
テキストカーソルの表示/非表示を切り替えます

ビデオモード変更コールバックインタフェース

コンソールフレームバッファードライバとカーネル端末エミュレータは、常にビデオモードに関して一致している必要があります。ビデオモードには、コンソール画面の高さ、幅、およびピクセルの深さが含まれます。ビデオモードにはまた、カーネル端末エミュレータとコンソールフレームバッファーの間の通信が VGA テキストモードまたはピクセルモードのどちらになっているかも含まれます。

コンソールフレームバッファードライバがカーネル端末エミュレータにビデオモードの変更を通知するために、コンソールフレームバッファードライバは、次の表で説明されている (*modechg_cb)() カーネル端末エミュレータコールバック関数のアドレスで初期化されます。

コールバック関数
対応するデータ構造体
説明
(*modechg_cb)()
vis_modechg_arg

vis_devinit

端末エミュレータモジュールとドライバのビデオモード (画面の高さ、幅、およびピクセルの深さ) との同期を維持します。