Go to main content
oracle home
Oracle
®
Solaris 11.3 デバイスドライバの記述
印刷ビューの終了
Search Term
検索範囲:
このドキュメント
ライブラリ全体
» ...
Documentation Home
»
Oracle Solaris 11.3 Information Library (日本語)
»
Oracle
®
Solaris 11.3 デバイスドライバの記述
»
付録
»
Oracle Solaris DDI/DKI サービスのサマリー
»
システムのグローバル状態
更新: 2016 年 11 月
Oracle
®
Solaris 11.3 デバイスドライバの記述
ドキュメント情報
このドキュメントの使用法
製品ドキュメントライブラリ
フィードバック
パート I Oracle Solaris プラットフォーム用デバイスドライバの設計
第 1 章 Oracle Solaris デバイスドライバの概要
デバイスドライバの基本
デバイスドライバとは
デバイスドライバのエントリポイントとは
デバイスドライバのエントリポイント
すべてのドライバに共通のエントリポイント
デバイスアクセスのエントリポイント
ロード可能なモジュールのエントリポイント
自動構成のエントリポイント
カーネル統計情報のエントリポイント
電源管理のエントリポイント
システム休止のエントリポイント
共通のエントリポイントのサマリー
ブロックデバイスドライバ用のエントリポイント
文字デバイスドライバ用のエントリポイント
STREAMS デバイスドライバ用のエントリポイント
メモリーマッピングされたデバイス用のエントリポイント
ネットワークデバイスドライバ用のエントリポイント
SCSI HBA ドライバ用のエントリポイント
PC カードドライバ用のエントリポイント
デバイスドライバの設計上の考慮事項
DDI/DKI の機能
デバイス ID
デバイスプロパティー
割り込み処理
コールバック関数
ソフトウェアの状態管理
プログラム式入出力デバイスアクセス
ダイレクトメモリーアクセス (DMA)
階層化ドライバインタフェース
ドライバコンテキスト
エラーの返却
動的メモリー割り当て
ホットプラグによる取り付け
ファームウェア互換性
第 2 章 Oracle Solaris カーネルとデバイスツリー
カーネルとは
マルチスレッドの実行環境
仮想メモリー
特殊ファイルとしてのデバイス
DDI/DKI インタフェース
デバイスツリーの概要
デバイスツリーコンポーネント
デバイスツリーの表示
libdevinfo ライブラリ
prtconf コマンド
/devices ディレクトリ
ドライバのデバイスへのバインド
汎用デバイス名
第 3 章 マルチスレッド
ロックプリミティブ
ドライバデータのストレージクラス
相互排他ロック
mutex の設定
mutex の使用
読み取り/書き込みロック
セマフォー
スレッド同期
スレッド同期における条件変数
条件変数の初期化
条件の待機
条件のシグナル送信
cv_wait() および cv_timedwait() 関数
cv_wait_sig() 関数
cv_timedwait_sig() 関数
ロック構成の選択
ロックの潜在的な危険性
スレッドがシグナルを受信できない
第 4 章 プロパティー
デバイスプロパティー
デバイスプロパティー名
プロパティーの作成と更新
プロパティーの検索
driver.conf ファイルへの変更
prop_op() エントリポイント
第 5 章 イベントの管理とタスクのキュー
イベントの管理
イベントの概要
ddi_log_sysevent() を使用したイベントのロギング
ddi_log_sysevent() の構文
イベントロギング用のサンプルコード
イベント属性の定義
タスクのキュー
タスクキューの概要
タスクキューのインタフェース
タスクキューの監視
タスクキューのカーネル統計カウンタ
タスクキューの DTrace SDT プローブ
第 6 章 ドライバの自動構成
ドライバのロードとアンロード
ドライバに必要なデータ構造体
modlinkage 構造体
modldrv 構造体
dev_ops 構造体
cb_ops 構造体
ロード可能なドライバインタフェース
_init() の例
_fini() の例
_info() の例
デバイス構成の概念
デバイスインスタンスとインスタンス番号
マイナーノードとマイナー番号
probe() エントリポイント
attach() エントリポイント
ドライバのソフト状態管理
ロック変数と条件変数の初期化
マイナーデバイスノードの作成
遅延接続
detach() エントリポイント
getinfo() エントリポイント
デバイス ID の使用
デバイス ID の登録
デバイスによって提供された ID の登録
組み立てられた ID の登録
デバイス ID の登録解除
第 7 章 デバイスアクセス: プログラム式入出力
デバイスメモリー
デバイスとホストのエンディアンの違いの管理
データ順序付け要件の管理
ddi_device_acc_attr 構造体
デバイスメモリーのマッピング
マッピングの設定例
デバイスアクセス関数
代替のデバイスアクセスインタフェース
メモリー空間アクセス
入出力空間アクセス
PCI 構成空間アクセス
第 8 章 割り込みハンドラ
割り込みハンドラの概要
デバイス割り込み
高レベルの割り込み
レガシー割り込み
標準メッセージシグナル割り込みと拡張メッセージシグナル割り込み
MSI 割り込み
MSI-X 割り込み
ソフトウェア割り込み
DDI 割り込み関数
割り込み許可フラグ関数
割り込み初期化関数と割り込み破棄関数
優先順位管理関数
ソフト割り込み関数
割り込み関数の例
割り込みの登録
レガシー割り込みの登録
MSI 割り込みの登録
割り込みリソース管理
割り込みリソース管理機能
コールバックのインタフェース
コールバックハンドラ関数の登録
コールバックハンドラ関数の登録解除
コールバックハンドラ関数
割り込み要求のインタフェース
割り込みの割り当て
要求する割り込みベクターの数の変更
割り込みの使用率と柔軟性
割り込みリソース管理の実装例
割り込みハンドラの機能
高レベルの割り込みの処理
高レベルの mutex
高レベルの割り込み処理の例
第 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 章 デバイスメモリーおよびカーネルメモリーのマッピング
メモリーマッピングの概要
マッピングのエクスポート
segmap(9E) エントリポイント
devmap(9E) エントリポイント
ユーザーマッピングへのデバイスメモリーの関連付け
ユーザーマッピングへのカーネルメモリーの関連付け
ユーザーアクセス用カーネルメモリーの割り当て
アプリケーションへのカーネルメモリーのエクスポート
ユーザーアクセス用にエクスポートされたカーネルメモリーの解放
第 11 章 デバイスコンテキスト管理
デバイスコンテキストの概要
デバイスコンテキストとは
コンテキスト管理モデル
コンテキスト管理の処理
devmap_callback_ctl 構造体
デバイスコンテキスト管理用のエントリポイント
devmap_map() エントリポイント
devmap_access() エントリポイント
devmap_contextmgt() エントリポイント
devmap_dup() エントリポイント
devmap_unmap() エントリポイント
ユーザーマッピングとドライバ通知の関連付け
マッピングへのアクセスの管理
devmap_load() エントリポイント
devmap_unload() エントリポイント
第 12 章 電源管理
電源管理フレームワーク
デバイス電源管理
システム電源管理
デバイス電源管理モデル
電源管理コンポーネント
複数の電源管理部品
電源管理状態
電源レベル
電源管理の依存関係
デバイスの自動電源管理
デバイス電源管理インタフェース
ビジーとアイドルの状態遷移
デバイスの電源状態の遷移
power() エントリポイント
システム電源管理モデル
自動停止しきい値
ビジー状態
ハードウェア状態
システムの自動電源管理
システム電源管理で使用されるエントリポイント
detach() エントリポイント
attach() エントリポイント
電源管理のデバイスアクセスの例
電源管理の制御フロー
電源管理インタフェースの変更点
第 13 章 Oracle Solaris ドライバの強化
Oracle 障害管理アーキテクチャーの入出力障害サービス
予測的自己修復とは
Oracle Solaris Fault Manager
診断、疑いリスト、フォルトイベント
応答エージェント
メッセージ ID と辞書ファイル
システムトポロジ
エラー処理
障害管理機能の宣言
障害管理リソースのクリーンアップ
障害管理機能ビットマスクの取得
エラーの報告
第 14 章 階層化ドライバインタフェース (LDI)
LDI の概要
カーネルインタフェース
階層化識別子 – カーネルデバイスコンシューマ
階層化ドライバのハンドル – ターゲットデバイス
ターゲットデバイスを開く操作と閉じる操作
ターゲットデバイスへのアクセス
ターゲットデバイス情報の取得
ターゲットデバイスのプロパティー値の取得
非同期デバイスイベントの通知の受信
LDI カーネルインタフェースの例
デバイス構成ファイル
ドライバソースファイル
階層化ドライバを構築してロードする方法
階層化ドライバのテスト
ユーザーインタフェース
デバイス情報ライブラリインタフェース
システム構成の出力コマンドインタフェース
デバイスユーザーコマンドインタフェース
パート II 特定の種類のデバイスドライバの設計
第 15 章 文字デバイスのドライバ
文字ドライバの構造の概要
文字デバイスの自動構成
デバイスアクセス (文字ドライバ)
open() エントリポイント (文字ドライバ)
close() エントリポイント (文字ドライバ)
入出力要求の処理
ユーザーアドレス
ベクトル化された入出力
同期入出力と非同期入出力の違い
データ転送方法
プログラム式入出力転送
DMA 転送 (同期)
DMA 転送 (非同期)
minphys() エントリポイント
strategy() エントリポイント
デバイスメモリーのマッピング
ファイル記述子に対する入出力の多重化
その他の入出力制御
ioctl() エントリポイント (文字ドライバ)
64 ビットに対応したデバイスドライバに対する入出力制御のサポート
copyout() のオーバーフローの処理
32 ビットと 64 ビットのデータ構造体マクロ
構造体マクロの動作のしくみ
構造体マクロを使用する場合
構造体ハンドルの宣言と初期化
構造体ハンドルに対する操作
その他の操作
第 16 章 ブロックデバイスのドライバ
ブロックドライバの構造の概要
ファイル入出力
ブロック型デバイスの自動構成
デバイスアクセスの制御
open() エントリポイント (ブロックドライバ)
close() エントリポイント (ブロックドライバ)
strategy() エントリポイント
buf 構造体
bp_mapin 構造体
同期データ転送 (ブロックドライバ)
非同期データ転送 (ブロックドライバ)
無効な buf 要求のチェック
要求のキューへの登録
最初の転送の開始
割り込んでいるデバイスの処理
dump() エントリポイントと print() エントリポイント
dump() エントリポイント (ブロックドライバ)
print() エントリポイント (ブロックドライバ)
ディスク装置ドライバ
ディスクの ioctl
ディスクパフォーマンス
第 17 章 SCSI ターゲットドライバ
ターゲットデバイスの概要
Sun Common SCSI Architecture の概要
一般的な制御フロー
SCSA 関数
ハードウェア構成ファイル
宣言とデータ構造体
scsi_device 構造体
scsi_pkt 構造体 (ターゲットドライバ)
SCSI ターゲットドライバの自動構成
probe() エントリポイント (SCSI ターゲットドライバ)
attach() エントリポイント (SCSI ターゲットドライバ)
detach() エントリポイント (SCSI ターゲットドライバ)
getinfo() エントリポイント (SCSI ターゲットドライバ)
リソース割り当て
scsi_init_pkt() 関数
scsi_sync_pkt() 関数
scsi_destroy_pkt() 関数
scsi_alloc_consistent_buf() 関数
scsi_free_consistent_buf() 関数
コマンドの構築とトランスポート
コマンドの構築
ターゲット機能の設定
コマンドのトランスポート
同期 scsi_transport() 関数
コマンドの完了
パケットの再利用
自動要求検知モード
ダンプの処理
SCSI オプション
第 18 章 SCSI ホストバスアダプタドライバ
ホストバスアダプタドライバの概要
SCSI インタフェース
SCSA HBA インタフェース
SCSA HBA エントリポイントのサマリー
SCSA HBA データ構造体
scsi_hba_tran() 構造体
scsi_address 構造体
scsi_device 構造体
scsi_pkt 構造体 (HBA)
ターゲットインスタンスごとのデータ
トランスポート構造体のクローニング
SCSA HBA 関数
HBA ドライバの依存性と構成に関する問題
宣言と構造体
コマンド別構造体
モジュール初期化用のエントリポイント
_init() エントリポイント (SCSI HBA ドライバ)
_fini() エントリポイント (SCSI HBA ドライバ)
自動構成のエントリポイント
attach() エントリポイント (SCSI HBA ドライバ)
detach() エントリポイント (SCSI HBA ドライバ)
SCSA HBA ドライバのエントリポイント
ターゲットドライバインスタンスの初期化
tran_tgt_init() エントリポイント
tran_tgt_probe() エントリポイント
tran_tgt_free() エントリポイント
リソース割り当て
tran_init_pkt() エントリポイント
構造体の割り当てと初期化
DMA リソースの割り当て
データ転送のための DMA リソースの再割り当て
tran_destroy_pkt() エントリポイント
tran_sync_pkt() エントリポイント
tran_dmafree() エントリポイント
コマンドのトランスポート
tran_start() エントリポイント
割り込みハンドラとコマンドの完了
タイムアウトハンドラ
機能管理
tran_getcap() エントリポイント
tran_setcap() エントリポイント
中止およびリセット管理
tran_abort() エントリポイント
tran_reset() エントリポイント
tran_bus_reset() エントリポイント
tran_reset_notify() エントリポイント
動的再構成
SCSI HBA ドライバに固有の問題
HBA ドライバのインストール
HBA の構成プロパティー
scsi-reset-delay プロパティー
scsi-options プロパティー
ターゲットごとの scsi-options
x86 ターゲットドライバの構成プロパティー
キューイングのサポート
第 19 章 ネットワークデバイスのドライバ
GLDv3 ネットワークデバイスドライバフレームワーク
GLDv3 の MAC 登録
GLDv3 の MAC 登録プロセス
GLDv3 の MAC 登録関数
GLDv3 の MAC 登録データ構造体
GLDv3 の機能
MAC リング機能
ハードウェアチェックサムオフロード
ラージセグメント (送信) オフロード
GLDv3 のデータパス
送信データパス
受信データパス
GLDv3 の状態変更通知
GLDv3 のネットワーク統計情報
GLDv3 のプロパティー
GLDv3 のインタフェースのサマリー
GLDv2 ネットワークデバイスドライバフレームワーク
GLDv2 のデバイスサポート
Ethernet V2 および ISO 8802-3 (IEEE 802.3)
TPR と FDDI: SNAP 処理
TPR: 発信元ルーティング
GLDv2 の DLPI プロバイダ
GLDv2 の DLPI プリミティブ
GLDv2 の入出力制御関数
GLDv2 ドライバの要件
GLDv2 のネットワーク統計情報
GLDv2 の宣言とデータ構造体
gld_mac_info 構造体
gld_stats 構造体
GLDv2 関数の引数
GLDv2 のエントリポイント
gldm_reset() エントリポイント
gldm_start() エントリポイント
gldm_stop() エントリポイント
gldm_set_mac_addr() エントリポイント
gldm_set_multicast() エントリポイント
gldm_set_promiscuous() エントリポイント
gldm_send() エントリポイント
gldm_intr() エントリポイント
gldm_get_stats() エントリポイント
gldm_ioctl() エントリポイント
GLDv2 の戻り値
GLDv2 のサービスルーチン
gld_mac_alloc() 関数
gld_mac_free() 関数
gld_register() 関数
gld_unregister() 関数
gld_recv() Function
gld_sched() 関数
gld_intr() 関数
第 20 章 USB ドライバ
Oracle Solaris 環境での USB
USBA 2.0 フレームワーク
USB クライアントドライバ
クライアントドライバのバインド
USB デバイスがシステムからどのように見えるか
USB デバイスと Oracle Solaris デバイスツリー
互換デバイス名
複数のインタフェースを備えたデバイス
インタフェース関連付け記述子を含むデバイス
デバイスドライバのバインディングのチェック
基本的なデバイスアクセス
クライアントドライバが接続される前
記述子ツリー
デバイスアクセスを取得するためのドライバの登録
デバイス通信
USB エンドポイント
デフォルトパイプ
パイプの状態
パイプのオープン
パイプのクローズ
データ転送
同期および非同期転送とコールバック
要求
パイプのフラッシュ
デバイス状態管理
USB デバイスのホットプラグ
ホットプラグコールバック
電源を入れたまま挿入
電源を入れたまま取り外し
電源を入れたまま再挿入
電源管理
デバイス電源管理
システム電源管理
直列化
ユーティリティー関数
デバイス構成機能
インタフェース番号の取得
デバイス全体の管理
複数の構成を持つデバイス
代替設定の変更または取得
その他のユーティリティー関数
文字列記述子の取得
パイプの非公開データ機能
USB 状態のクリア
デバイス、インタフェース、エンドポイントの各ステータスの取得
デバイスのバスアドレスの取得
サンプル USB デバイスドライバ
第 21 章 SR-IOV ドライバ
SR-IOV の概要
SR-IOV の利点
サポートされるプラットフォーム
用語集
SR-IOV デバイスドライバの概要
物理機能 (PF) ドライバ
仮想機能 (VF) ドライバ
デバイス構成パラメータ
pci.conf ファイル
デバイス構成パラメータの設定
Sparc OVM プラットフォームでの SR-IOV 構成
基本的なプラットフォームでの SR-IOV 構成
ブート構成シーケンス
SR-IOV インタフェースのサマリー
ドライバの ioctl
SR-IOV ドライバのインタフェース
pci_param_get() インタフェース
pci_param_get_ioctl() インタフェース
pci_plist_get() インタフェース
pci_plist_getvf() インタフェース
pciv_vf_config() インタフェース
pci_plist_lookup() インタフェース
pci_param_free() インタフェース
pciv_send() インタフェース
SR-IOV ドライバの ioctl
データ構造体
iov_param_ver_info 構造体
iov_param_validate 構造体
iov_param_desc 構造体
IOV_GET_VER_INFO ioctl
IOV_GET_PARAM_INFO Ioctl
IOV_VALIDATE_PARAM ioctl
ドライバ ioctl のサンプルコード
ドライバのコールバック
ファイバチャネル SR-IOV デバイス
ファイバチャネル仮想機能の構成
ファイバチャネル仮想機能の更新
ファイバチャネル仮想機能の構成解除
ファイバチャネル仮想機能の帯域幅構成
SPARC プラットフォーム上での SR-IOV ファイバチャネルデバイスの構成
X86 プラットフォーム上での SR-IOV ファイバチャネルデバイスの構成
パート III デバイスドライバの構築
第 22 章 ドライバのコンパイル、ロード、パッケージ化、およびテスト
ドライバ開発のサマリー
ドライバコードの配置
ヘッダーファイル
ソースファイル
構成ファイル
ドライバインストールの準備
ドライバのコンパイルとリンク
モジュールの依存関係
ハードウェア構成ファイルの記述
ドライバのインストール、更新、および削除
モジュールディレクトリへのドライバのコピー
add_drv を使用したドライバのインストール
ドライバ情報の更新
ドライバの削除
ドライバのロードとアンロード
ドライバのパッケージング
デバイステストの条件
構成のテスト
機能テスト
エラー処理
ロードとアンロードのテスト
ストレス、パフォーマンス、および相互運用性のテスト
DDI/DKI コンプライアンスのテスト
インストールとパッケージ化のテスト
特定の種類のドライバのテスト
テープドライバのテスト
ディスクドライバのテスト
非同期通信ドライバ
ネットワークドライバのテスト
SR-IOV ドライバのテスト
第 23 章 デバイスドライバのデバッグ、テスト、およびチューニング
ドライバのテスト
デッドマン機能の使用
シリアル接続を使用したテスト
tip 接続用にホストを設定するには
SPARC プラットフォームのターゲットシステムの設定
x86 プラットフォーム上のターゲットシステムの設定
テストモジュールの設定
カーネル変数の設定
テストモジュールのロードとアンロード
kmem_flags デバッグフラグの設定
テストシステムでのデータ損失の回避
代替ブート環境の使用
代替カーネルでのブート
代替バックアップ計画の検討
システムクラッシュダンプの取得
デバイスディレクトリの復旧
デバッグツール
事後デバッグ
kmdb カーネルデバッガの使用
SPARC プラットフォームでの代替カーネルを使用した kmdb のブート
x86 プラットフォームでの代替カーネルを使用した kmdb のブート
kmdb でのブレークポイントの設定
ドライバ開発者向けの kmdb マクロ
mdb モジュラーデバッガの使用
モジュラーデバッガの使用開始
kmdb と mdb を使用した便利なデバッグタスク
kmdb によるシステムレジスタの調査
カーネルメモリーリークの検出
mdb を使用したデバッガコマンドの記述
カーネルデータ構造体情報の取得
デバイスツリー情報の取得
ドライバのソフト状態情報の取得
カーネル変数の変更
ドライバのチューニング
カーネル統計
カーネル統計構造体のメンバー
カーネル統計構造体
カーネル統計関数
Oracle Solaris Ethernet ドライバのカーネル統計
動的計測のための trace
第 24 章 推奨されるコーディング方法
デバッグ準備手法
一意の接頭辞を使用してカーネルシンボルの衝突を回避する
cmn_err() を使用してドライバの活動を記録する
ASSERT() を使用して無効な前提条件を見つける
mutex_owned() を使用してロック要件の検証とドキュメント化を行う
条件付きコンパイルを使用してコストの高いデバッグ機能を切り替える
変数の volatile 宣言
保守性
定期的な健全性検査
パート 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 サービスのサマリー
モジュール関数
デバイス情報ツリーノード (dev_info_t) 関数
デバイス (dev_t) 関数
プロパティー関数
デバイスソフトウェア状態関数
メモリー割り当ておよび解放関数
カーネルスレッド制御および同期関数
タスクキュー管理関数
割り込み関数
プログラム式入出力関数
ダイレクトメモリーアクセス (DMA) 関数
ユーザー空間アクセス関数
ユーザープロセスイベント関数
ユーザープロセス情報関数
ユーザーアプリケーションカーネルおよびデバイスアクセス関数
時間関連関数
電源管理関数
障害管理関数
カーネル統計関数
カーネルロギングおよび印刷関数
バッファリングされた入出力関数
仮想メモリー関数
デバイス ID 関数
SCSI 関数
リソースマップ管理関数
システムのグローバル状態
ユーティリティー関数
付録 C 64 ビットデバイスドライバの準備
64 ビットドライバの設計の紹介
一般的な変換段階
固定幅型をハードウェアレジスタに使用する
固定幅の共通アクセス関数を使用する
派生型の使用を確認および拡張する
DDI データ構造体内の変更されたフィールドを確認する
buf 構造体の変更内容
ddi_dma_attr
ddi_dma_cookie 構造体の変更内容
csi_arq_status 構造体の変更内容
scsi_pkt 構造体の変更内容
DDI 関数の変更された引数を確認する
getrbuf() 引数の変更内容
drv_getparm() 引数の変更内容
delay() および timeout() 引数の変更内容
rmallocmap() および rmallocmap_wait() 引数の変更内容
scsi_alloc_consistent_buf() 引数の変更内容
uiomove() 引数の変更内容
cv_timedwait() および cv_timedwait_sig() 引数の変更内容
ddi_device_copy() 引数の変更内容
ddi_device_zero() 引数の変更内容
ddi_dma_mem_alloc() 引数の変更内容
データ共有を処理するルーチンを変更する
ioctl() でのデータ共有
devmap() でのデータ共有
mmap() でのデータ共有
x86 ベースのプラットフォームで 64 ビット Long データ型の構造体を確認する
よく知られている ioctl インタフェース
デバイスのサイズ
付録 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 ファイル
説明
システム構成セクション
デバイス構成セクション
構文
参考資料
索引
索引 数字と記号
索引 A
索引 B
索引 C
索引 D
索引 E
索引 F
索引 G
索引 H
索引 I
索引 K
索引 L
索引 M
索引 N
索引 O
索引 P
索引 Q
索引 R
索引 S
索引 T
索引 U
索引 V
索引 W
索引 X
索引 あ
索引 い
索引 う
索引 え
索引 お
索引 か
索引 き
索引 く
索引 け
索引 こ
索引 さ
索引 し
索引 す
索引 せ
索引 そ
索引 た
索引 ち
索引 て
索引 と
索引 な
索引 に
索引 ね
索引 は
索引 ひ
索引 ふ
索引 ほ
索引 ま
索引 め
索引 も
索引 ゆ
索引 よ
索引 り
索引 れ
索引 ろ
索引 わ
言語:
日本語
システムのグローバル状態
ddi_in_panic()
システムがパニック状態にあるかどうかを判定する
前へ
次へ