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)

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 ビットデバイスドライバの準備

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.  コンソールフレームバッファードライバ

索引

付録 C

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

この付録では、64 ビットカーネルをサポートするようにデバイスドライバを変換するデバイスドライバ作成者向けの情報を提供します。32 ビットと 64 ビットのデバイスドライバの違いについて説明し、32 ビットのデバイスドライバを 64 ビットに変換する手順についても説明します。この情報は、通常のキャラクタデバイスおよびブロックデバイスのドライバ専用です。

この付録では、次の内容について説明します。