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

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.  Solaris DDI/DKI サービスの概要

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

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

索引

システムのメモリーモデル

システムのメモリーモデルは、ロードストアなどのメモリー処理のセマンティクスを定義し、それらの処理をプロセッサが実行する順序を、それらの処理がメモリーに到達する順序に関連付ける方法を指定します。メモリーモデルは、単一プロセッサとメモリー共有型マルチプロセッサの両方に適用されます。トータルストアオーダリング (TSO) とパーシャルストアオーダリング (PSO) の 2 つのメモリーモデルがサポートされています。

トータルストアオーダリング (TSO)

TSO では、ストア、フラッシュ、および原子的ロード/ストアの各命令が指定されたプロセッサのメモリーに出現する順序が、それらの命令をプロセッサが実行する順序と同じであることが保証されます。

x86 プロセッサと SPARC プロセッサの両方が TSO をサポートしています。

パーシャルストアオーダリング (PSO)

PSO では、ストア、フラッシュ、および原子的ロード/ストアの各命令が指定されたプロセッサのメモリーに出現する順序が、それらの命令をプロセッサが実行する順序と同じであることが保証されません。プロセッサはストアの順序を変更することができ、その場合、メモリーのストアの順序は CPU が実行するストアの順序と同じでなくなります。

SPARC プロセッサは PSO をサポートしていますが、x86 プロセッサはサポートしていません。

SPARC プロセッサでは、実行順序とメモリー順序の合致は、STBAR 命令を使用するシステムフレームワークによって可能になります。上の命令のうち 2 つがプロセッサの実行順序内で STBAR 命令によって分離される場合、または命令が同じ位置を参照する場合、その 2 つの命令のメモリー順序は実行順序と同じになります。DDI 準拠のドライバでの強いデータ順序の実施は、ddi_regs_map_setup(9F) インタフェースによって可能になります。準拠ドライバは、STBAR 命令を直接使用することはできません。

SPARC のメモリーモデルの詳細については、『SPARC Architecture Manual, Version 9』を参照してください。