SCSI(4) FreeBSD カーネルインタフェースマニュアル SCSI(4)
名称
SCSI, CAM − CAM SCSI サブシステム |
書式
controller scbus0 |
controller scbus1 at ahc0 |
controller scbus3 at ahc1 bus 0 |
controller scbus2 at ahc1 bus 1 |
device cd0 |
device ch0 |
device da0 |
device pass0 |
device pt0 |
device sa0 |
device ch1 at scbus0 target 4 unit 0 |
|
CAMDEBUG |
||||||
|
"CAM_DEBUG_BUS=-1" |
||||||
|
"CAM_DEBUG_TARGET=-1" |
||||||
|
"CAM_DEBUG_LUN=-1" |
||||||
|
"CAM_DEBUG_FLAGS=CAM_DEBUG_INFO|CAM_DEBUG_CDB" |
||||||
|
"CAM_MAX_HIGHPOWER=4" |
||||||
|
SCSI_NO_SENSE_STRINGS |
||||||
|
SCSI_NO_OP_STRINGS |
||||||
|
SCSI_DELAY=8000 |
解説 |
CAM SCSI サブシステムは、各種の SCSI デバイスを制御するドライバや、ホスト アダプタドライバを経由して異なる SCSI ホストアダプタを利用するドライバを 実装するための、均質でモジュール化されたシステムを提供します。システムが SCSI バスをプローブし、発見したデバイスを適切なドライバにアタッチします。 pass(4) ドライバがカーネルに組み込まれていれば、すべての SCSI デバイスが アタッチされます。 |
カーネルの設定
CAM SCSI サブシステム用に一般的なカーネル設定オプションがいくつかありま す: |
CAMDEBUG
このオプションは、CAM デバッグ用の printf コードを 有効にします。実際には、このオプションだけではデ バッグ情報は出力されません。出力するためには追加設 定が必要です。詳細は下記を参照して下さい。 CAM_MAX_HIGHPOWER=4 SCSI_NO_SENSE_STRINGS SCSI_NO_OP_STRINGS SCSI_DELAY=8000 すべてのデバイスおよび SCSI バスはブート時の割当てをサポートしているの で、上位の番号のデバイスおよびコントローラを設定する必要はありません; device da0 は任意の番号のディスクドライバに対して十分な記述です。 デバイスは、特定のデバイスユニットとして認識される wired (束縛される) か、その次に有効な未使用ユニットとして認識される counted (数え上げられる) のどちらかです。 カーネル内のドライバがデバイスを束縛しないように設定するには、 device ch0 のような設定行を記述して、チェンジャドライバを組み込んで下さい。 ユニットを束縛するには、 device ch1 at scbus0 target 4 unit 0 のような設 定行を記述して、チェンジャ 1 を SCSI バス 0 上の SCSI ID 4、SCSI 論理ユ ニット 0 のチェンジャに割り当てます。各 SCSI バスを指定したコントローラに 束縛するには、 controller scbus0 at ahc0 のように設定行を記述します。これ は、SCSI バス 0 を ahc ドライバを用いる最初のユニットに割り当てます。複数 のバスをサポートするコントローラの場合、特定のバスを controller scbus3 at ahc1 bus 1 の形式で指定できます。これは、SCSI バス 1 を ahc1 デバイス上で 2 番目にプローブされたバスに割り当てます。 wired デバイスと counted デバイスが混在している場合、そのデバイスタイプに ついての最初の非 wired ユニットから数え始めます。すなわち、wired ディスク device da1 があると、最初の非 wired ディスクは da2 として認識されることに なります。 アダプタ |
このシステムでは、たくさんの種類の異なるアダプタに共通のデバイスドライバ を使用することが可能です。アダプタは上位層から要求を受けて、 SCSI バスと システムの間のすべての IO を実行します。転送の最大サイズはアダプタによっ て支配されます。ほとんどのアダプタが一度の操作で 64KB を転送できますが、 多くのアダプタはもっと大量に転送できるかもしれません。 |
ターゲットモード
いくつかのアダプタは、 ターゲットモードをサポートしています。このモードで は、システムをひとつのデバイスとして操作することが可能となり、別のシステ ムが発行した操作に応答するようになります。ターゲットモードは、いくつかの アダプタでサポートされていますが、このバージョンの CAM SCSI サブシステム ではまだ完全ではありません。 |
関連ファイル
他の SCSI デバイスのエントリを参照して下さい。 |
診断
カーネルが options CAMDEBUG 付きでコンパイルされている場合、 XPT_DEBUG CCB を用いれば、任意の指定したデバイスに関して、さまざまな量のトレース情 報を取得可能になります。トレースされていないデバイスはトレース情報を生成 しません。現在は 4 つのデバッグフラグをオンにできます: |
CAM_DEBUG_INFO
該当するデバイス (群) について一般的な情報の printf 出力が可能になります。 CAM_DEBUG_TRACE CAM_DEBUG_SUBTRACE CAM_DEBUG_CDB これらのフラグのうち、特に CAM_DEBUG_TRACE と CAM_DEBUG_SUBTRACE は膨大な 量のカーネルの printf 出力を発生しますので、あまり有益ではありません。 CAM_DEBUG_INFO のレベルでログ出力されるものは多くはありませんので、これも それほど有益ではありません。最も有益なデバッグフラグは CAM_DEBUG_CDB フラ グです。以下のカーネルオプションを使用して、カーネル設定ファイルからデ バッグを有効にできます: CAMDEBUG CAM_DEBUG_FLAGS CAM_DEBUG_BUS CAM_DEBUG_TARGET CAM_DEBUG_LUN あるバス、ターゲット、もしくは論理ユニット番号を指定する場合には、上述し た 3 つのバス/ターゲット/論理ユニット番号のオプションをすべて指定すること が必須となります。ワイルドカードを使用すれば、ほとんどの機器についてデ バッグを有効にすることができます。 CAMDEBUG オプションを設定ファイルに含めていれば、 camcontrol(8) ユーティ リティを使用して、起動中に printf デバッグを有効にすることもできます。詳 細は camcontrol(8) を参照して下さい。 関連項目 |
aha(4), ahb(4), ahc(4), bt(4), cd(4), ch(4), da(4), pass(4), pt(4), sa(4), xpt(4), camcontrol(8) |
歴史
CAM SCSI サブシステムは FreeBSD 3.0 で初めて登場しました。 |
作者
CAM SCSI サブシステムは Justin Gibbs と Kenneth Merry によって書かれまし た。 FreeBSD 3.0 October 15, 1998 FreeBSD 3.0 |