スポンサーリンク

WD(4) FreeBSD/i386 カーネルインタフェースマニュアル WD(4)

名称

wd − 一般的な WD100x/IDE ディスクコントローラ用ドライバ

書式

controller wdc0 at isa? port "IO_WD1" bio irq 14

disk wd0 at wdc0 drive 0

disk wd1 at wdc0 drive 1

CMD640b IDE コントローラ用:

options "CMD640"

解説

このドライバで、Western Digital WD100x シリーズをエミュレートするコント ローラに接続されたディスクにアクセスできるようになります。これに は、WD1003 ST412 コントローラ、WD1007 ESDI コントローラ、そしてほとんどの マザーボードにある一般的な IDE コントローラを含みます。

WD100x シリーズとの互換性については、通常、コントローラの資料に説明があり ます。

flags パラメータを使って、ドライバにヒントや指令を伝えることができます。

16 ビット整数のフラグがドライブ毎にあり、それぞれに 4 (訳注: 実際には 6) 個のビットフィールドがあります:

           0x8000

ドライブの 32 ビット転送機能が使えれば使います。

0x4000
ドライブがスリープモードから脱しているところであるようなら ば、混乱しているとみなして再初期化します。

0x2000
最近の PCI チップセットにあるバスマスタ DMA 機能があるか調べ て利用します。

0x1000
デフォルトの CHS アドレッシングではなく、LBA アドレッシングを 使います。

0x0f00
ヘッドの数を ((flags & 0xf00)>>8) と見なして、それに合うよう にシリンダ数を計算し直します。

0x00ff
ドライブのマルチセクタ転送モードが使えれば使います。最大で (flags & 0x00ff) セクタの転送を試みます。

このフラグは drive 行に 16 ビット整数で指定するか、あるいは controller 行 に 32 ビット整数で指定します。この場合、上位 16 ビットが番号の大きなドラ イブに適用されます。

‘‘CMD640’’ オプションによって、CMD640b IDE コントローラの欠陥に対処するよ うになります。このオプションが指定されていて、かつ PCI サブシステムがこの チップを検出した場合には、プライマリとセカンダリのコントローラは同時には 使われません。

関連ファイル

       /dev/wd*

ディスクのブロックデバイスノード
/dev/rwd*
ディスクのキャラクタデバイスノード
/sys/i386/conf/GENERIC
wd によるシステムのためのジェネリック カーネルの設定ファイルのサンプル
/sys/i386/isa/wd.c
ドライバのソース

関連項目

bad144(8)

注釈

このコントローラとディスクの組合わせは、自動的にバッドブロックを処理をす るための機構を備えていません。バッドブロックを調べるには bad144(8) を実行 する必要があります。

FreeBSD August 31, 1994 FreeBSD

スポンサーリンク