JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
デバイスドライバの記述     Oracle Solaris 10 1/13 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 ホストバスアダプタドライバ

ホストバスアダプタドライバの概要

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() エントリポイント

scsi_pkt(9S) 構造体の割り当てと初期化

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() エントリポイント

動的再構成 (DR)

SCSI HBA ドライバに固有の問題

HBA ドライバのインストール

HBA の構成プロパティー

scsi-reset-delay プロパティー

scsi-options プロパティー

ターゲットごとの scsi-options

x86 ターゲットドライバの構成プロパティー

キューイングのサポート

19.  ネットワークデバイスのドライバ

20.  USB ドライバ

21.  SR-IOV ドライバ

パート III デバイスドライバの構築

22.  ドライバのコンパイル、ロード、パッケージ化、およびテスト

23.  デバイスドライバのデバッグ、テスト、およびチューニング

24.  推奨されるコーティング方法

パート IV 付録

A.  ハードウェアの概要

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

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

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

E.  pci.conf ファイル

索引

ホストバスアダプタドライバの概要

第 17 章SCSI ターゲットドライバで説明しているように、DDI/DKI では、SCSI デバイスへのソフトウェアインタフェースが次の大きな 2 つの部分に分割されています。

ターゲットデバイスは、ディスクやテープドライブなどの SCSI バス上のデバイスを指します。ターゲットドライバは、デバイスドライバとしてインストールされるソフトウェアコンポーネントを指します。SCSI バス上の各ターゲットデバイスは、ターゲットドライバの 1 つのインスタンスで制御されます。

ホストバスアダプタデバイスは、SBus や PCI SCSI アダプタカードなどの HBA ハードウェアのことです。ホストバスアダプタドライバは、デバイスドライバとしてインストールされるソフトウェアコンポーネントのことです。たとえば、SPARC マシン上の esp ドライバ、x86 マシン上の ncrs ドライバ、どちらのアーキテクチャーでも動作する isp ドライバがこれに該当します。HBA ドライバのインスタンスは、システムに構成されているそれぞれのホストバスアダプタデバイスを制御します。

SCSA (Sun Common SCSI Architecture) は、ターゲットコンポーネントと HBA コンポーネント間のインタフェースを定義します。


注 - SCSI ターゲットドライバを理解しておくと、効果的な SCSI HBA ドライバを作成できます。SCSI ターゲットドライバについては、第 17 章SCSI ターゲットドライバを参照してください。ターゲットドライバの開発者にとっても、この章を読むことで利点を得ることができます。


ホストバスアダプタドライバは、次のタスクを実行します。