EN JA
SYM(4)
SYM(4) FreeBSD Kernel Interfaces Manual SYM(4)

名称

symNCR/Symbios/LSI Logic 53C8XX PCI SCSI ホストアダプタードライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device pci
device scbus
device sym

(壊れているブリッジに必要な) PCI パリティチェックを無効にするために:
options SYM_SETUP_PCI_PARITY=<boolean>

HVD バスに対してプローブするドライバを制御するために:
options SYM_SETUP_SCSI_DIFF=<bit combination>

ncr ドライバとこのドライバの間でバランスをとるチップ付属品を制御するために
options SYM_SETUP_LP_PROBE_MAP=<bit combination>

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

sym_load="YES"

解説

このドライバは Symbios/LSI Logic 53C8XX PCI SCSI コントローラのサポートを行います。

ドライバはコントローラ能力によりワイド SCSI バス, fast10, fast20, fast40, と fast80-dt 同期データ転送のサポートする特徴を含んでいます。それはまた、タグ付きコマンドキューと自動要求センスのような一般的な SCSI 機能を提供します。このドライバは 1 つのバスあたり最大 446 の発行済のコマンド、 1 つのターゲットあたり 8 の LUN、および 1 つの LUN あたり 64 のタグ付きタスクをデフォルトで設定します。それらの数は、現在の SCSI 技術のための適正な値であると考えられるほど設計を制限していません。これらの値はドライバヘッダファイル (推薦されない) 中で適切な定数を変更することによって増加することができます。

このドライバは PCI SCSI コントローラのすべての Symbios 53C8XX ファミリをサポートします。それはまた、単により新しいチップで利用可能なアーキテクチャ面での改良の利点を示しています。

sym は 53C896、53C895A、および 53C1010 コアのための SCRIPTS からフェーズミスマッチを特に取り扱います。その結果、それは IO 完了あたり 1 つ未満の割り込みを CPU に提供して、 SCRIPTS プロセッサが正常な状況で CPU アテンション (注意) の決してストール (失速) しないで待つことを保証します。訳注: ストールはフリーズと同様。

sym はまた、それをサポートするチップに LOAD/STORE SCRIPTS 命令を使用します。初期の 810、815 と 825 NCR チップだけが LOAD/STORE をサポートしません。 MEMORY MOVE の代わりに LOAD/STORE を使用することは、 SCRIPTS がチップ (外部の PCI サイクルでない) へ内部の IO レジスタにアクセスできるようにします。その結果、ドライバは、PCI 自己マスタリングが LOAD/STORE をサポートするチップのために起こらないことを保証します。

LOAD/STORE 命令はまた、チップ DMA FIFO を含まず、3 の代わりに 2 つの DWORD でコード化されるので、MEMORY MOVE より速いです。

初期の NCR 810、815 と 825 チップのために、ドライバはデータ移動のための MEMORY MOVE 命令を使用する別々の SCRIPTS セットを使用します。これは LOAD/STORE がこれらのチップでサポートされないからです。

HVD/LVD ケイパブル (有能) コントローラ (895、895A、896 と 897) は STEST4 チップ IO レジスタで実際のバスモードを報告します。この機能で、ドライバはバスモードを安全にプローブして、それに従ってチップをセットアップします。デフォルトでは、ドライバはこれらのチップで HVD のみをサポートします。 LVD ではなく HVD をサポートすることができる他のチップについては、ドライバは、 HVD バスモードを検出するために、実装に依存するレジスタ (GPIO) をプローブしなければなりません。 Symbios Logic 推薦に適合する HVD 実装のみドライバによって検出することができます。 SYM_SETUP_SCSI_DIFF カーネルオプションが 1 に割り当てられるとき、ドライバは HVD の Symbios Logic 互換実装を仮定する、 825a、875、876 と 885 チップのために HVD をプローブします。

SYM_SETUP_PCI_PARITY が 0 の値に割り当てられるとき、ドライバは 53C8XX デバイスの PCI パリティチェック有効にしません。 PCI パリティチェックは PCI SCSI コントローラのためのオプションではないはずですが、偽の、または、永続的な PCI パリティエラーの検出が原因で、いくつかのシステムは 53C8XX チップの使用が失敗すると報告されました。このオプションは便宜のために供給されますが、それは推薦もサポートもされません。

一般的な ncr(4) ドライバはまた、 sym ドライバによってのみサポートされる、 SYM53C1010 を除いて、 SYM53C8XX ベースの PCI SCSI コントローラをサポートします。

デフォルトで、 ncr(4)sym ドライバの両方が設定されるとき、 sym ドライバは ncr(4) ドライバに優先します。ユーザは次のような SYM_SETUP_LP_PROBE_MAP カーネル設定オプションを定義することによって、 2 つのドライバの間のチップタイプのバランスを指示することができます:

ビット 代わりに ncr でアタッチされるデバイス
0x01 53C810a, 53C860
0x02 53C825a, 53C875, 53C876, 53C885, 53C895
0x04 53C895a, 53C896, 53C897, 53C1510d
0x40 53C810, 53C815, 53C825

例えば、 SYM_SETUP_LP_PROBE_MAP が値 0x41 に設定されるなら、 ncr(4) ドライバは 53C810、53C815、53C825、53C810a と 53C860 ベースコントローラをアタッチし、そして sym ドライバは他のすべての 53C8XX ベースのコントローラをアタッチします。

sym ドライバだけが設定されるとき、 SYM_SETUP_LP_PROBE_MAP オプションは効果がありません。したがって、この場合、 sym ドライバはシステムに存在しているすべての 53C8XX ベースのコントローラをアタッチします。

このドライバは現在ユーザにエクスポートされない他のオプションを提供します。それらは、 sym_conf.h ドライバファイルの中に定義されて、文書化されています。絶対に必要でない場合、これらのオプションを変更することは推薦されません。これらのオプションのいくつかが sysctl(3) かまたは、将来のドライバのリリースで同等のメカニズムを通してエクスポートするように計画されています。したがって、互換性は保証されません。

初期化では、ドライバはコントローラ NVRAM からユーザ設定を検出して読み込みを試みます。 Symbios/Logic NVRAM レイアウトと Tekram NVRAM レイアウトは現在サポートされています。 NVRAM の読み込みが成功するなら、次の設定は考慮されて CAM に報告されます:

ホスト設定 Symbios Tekram
SCSI パリティチェック Y N
ホスト SCSI 識別 Y Y
冗長メッセージ Y N
スキャンターゲット hi-lo Y N
SCSI バスリセット回避 Y N
デバイス設定 Symbios Tekram
同期期間 Y Y
SCSI バス幅 Y Y
キュータグ有効 Y Y
タグの数 NA Y
切断有効 Y Y
ブート時にスキャン Y N
スキャン LUN Y N

NVRAM で 'スキャン' を無効にするように設定されたデバイスはシステムの開始時に CAM に報告されません。それらは後で‘ camcontrol rescan’コマンドを使用して発見することができます。

以下のテーブルは PCI SCSI コントローラの NCR/Symbios/LSI Logic 53C8XX ファミリの主な機能と能力を要約しています。

チップ Sync SRAM PCI64 サポート
sym53c810 10MHz 8Bit N N Y
sym53c810a 10MHz 8Bit N N Y
sym53c815 10MHz 8Bit N N Y
sym53c825 10MHz 16Bit N N Y
sym53c825a 10MHz 16Bit 4KB N Y
sym53c860 20MHz 8Bit N N Y
sym53c875 20MHz 16Bit 4KB N Y
sym53c876 20MHz 16Bit 4KB N Y
sym53c885 20MHz 16Bit 4KB N Y
sym53c895 40MHz 16Bit 4KB N Y
sym53c895A 40MHz 16Bit 8KB N Y
sym53c896 40MHz 16Bit 8KB Y Y
sym53c897 40MHz 16Bit 8KB Y Y
sym53c1510D 40MHz 16Bit 4KB Y Y
sym53c1010 80MHz 16Bit 8KB Y Y

ハードウェア

sym ドライバは次の Symbios/LSI Logic PCI SCSI コントローラのサポートを行ないます:

  • 53C810
  • 53C810A
  • 53C815
  • 53C825
  • 53C825A
  • 53C860
  • 53C875
  • 53C876
  • 53C895
  • 53C895A
  • 53C896
  • 53C897
  • 53C1000
  • 53C1000R
  • 53C1010-33
  • 53C1010-66
  • 53C1510D

sym ドライバによってサポートされる SCSI コントローラはマザーボードに組み込まれているか、次のアドオンボードの 1 つのどちらかにあります:

  • ASUS SC-200, SC-896
  • Data Technology DTC3130 (すべての改良型)
  • DawiControl DC2976UW
  • Diamond FirePort (すべて)
  • I-O DATA SC-UPCI (PC-98)
  • Logitec LHA-521UA (PC-98)
  • NCR cards (すべて)
  • Symbios cards (すべて)
  • Tekram DC390W, 390U, 390F, 390U2B, 390U2W, 390U3D と 390U3W
  • Tyan S1365

その他

DEC KZPCA-AA は SYM8952U を再びレッテルを付けられたものです。

歴史

sym ドライバは、 FreeBSD 4.0 で登場しました。

作者

sym ドライバは、 Gerard Roudier によって書かれ、同じ作者の Linux sym53c8xx ドライバから派生しました。 sym53c8xx ドライバは FreeBSD ncr(4) ドライバから Linux-1.2.13 に移植された、ncr53c8xx ドライバから派生しました。オリジナルの ncr(4) ドライバは、 386BSDFreeBSD のために Wolfgang StanglmeierStefan Esser によって書かれました。

バグ

知られているバグはありません。
August 19, 2004 FreeBSD