ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
デバイスドライバの記述 Oracle Solaris 11.1 Information Library (日本語) |
パート I Oracle Solaris プラットフォーム用デバイスドライバの設計
2. Oracle Solaris カーネルとデバイスツリー
22. ドライバのコンパイル、ロード、パッケージ化、およびテスト
23. デバイスドライバのデバッグ、テスト、およびチューニング
B. Oracle Solaris DDI/DKI サービスのサマリー
Oracle Solaris コンソールとカーネル端末エミュレータ
コンソールフレームバッファードライバでの視覚的な入出力インタフェースの実装
コンソールフレームバッファードライバでのポーリングされた入出力の実装
X Window System のフレームバッファー固有の DDX モジュール
コンソールフレームバッファードライバの開発、テスト、およびデバッグ
カーネル端末エミュレータは、次の 2 つのインタフェースを介してコンソールフレームバッファードライバと相互に作用します。通常のシステム動作中 (システムのブートが成功したあと)、カーネル端末エミュレータとコンソールフレームバッファードライバの間の通信は ioctl インタフェースを介して行われます。スタンドアロンモード中 (システムブートの前またはデバッグ中)、カーネル端末エミュレータとコンソールフレームバッファードライバの間の通信は、ポーリングされた入出力インタフェースを介して行われます。カーネル端末エミュレータとコンソールフレームバッファードライバの間のすべての動作は、カーネル端末エミュレータにビデオモードの変更を通知するためにコンソールフレームバッファードライバによって使用されるコールバック関数を除き、カーネル端末エミュレータによって開始されます。
コンソールの視覚的な入出力インタフェースについては、visual_io(7I) のマニュアルページに詳細が説明されています。ビデオモード変更コールバック関数の詳細については、「ビデオモード変更コールバックインタフェース」を参照してください。
通常のシステム動作中、カーネル端末エミュレータは、次の表に示されている ioctl インタフェースを介してコンソールフレームバッファードライバと通信します。
|
ポーリングされた入出力インタフェースは、VIS_CONSDISPLAY、VIS_CONSCOPY、および VIS_CONSCURSOR ioctl インタフェースと同じ機能を提供します。ポーリングされた入出力インタフェースは、オペレーティングシステムが休止状態にあり、かつスタンドアロンモードにある場合にのみ呼び出されます。詳細については、「コンソールフレームバッファードライバでのポーリングされた入出力の実装」を参照してください。
スタンドアロンモード中、カーネル端末エミュレータは、次の表に示されているポーリングされた入出力インタフェースを介してコンソールフレームバッファードライバと通信します。
|
コンソールフレームバッファードライバとカーネル端末エミュレータは、常にビデオモードに関して一致している必要があります。ビデオモードには、コンソール画面の高さ、幅、およびピクセルの深さが含まれます。ビデオモードにはまた、カーネル端末エミュレータとコンソールフレームバッファーの間の通信が VGA テキストモードまたはピクセルモードのどちらになっているかも含まれます。
コンソールフレームバッファードライバがカーネル端末エミュレータにビデオモードの変更を通知するために、コンソールフレームバッファードライバは、次の表で説明されている (*modechg_cb)() カーネル端末エミュレータコールバック関数のアドレスで初期化されます。
|