`pci=' 引数(バージョン 2.0 のカーネルでは使えません)を使うと、PCI バス
のデバイス検出の動作とデバイスの動作を変えられます。まず、
linux/drivers/pci/pci.c
はアーキテクチャ非依存の pci=
オ
プションを調べます。指定可能な残りの引数は linux/arch/???/kernel/bios32.c
が処理します。これらのオプションのうち、???=i386 であるものについては
後述します。
これらの引数は、PCI 検出を PCI BIOS 経由で行うかどうかを示すフラグを 設定/クリアします。デフォルトでは BIOS を使用します。
PCI 直接モードが有効ならば、これらの引数により Type1 か Type2 の設定が 有効になります。これらの引数はまた、PCI BIOS の検出フラグを暗黙的にク リアします(つまり `pci=nobios' と同じ)。
PCI: Unassigned I
O space for.../ といったメッセージが出力される場
合、このオプションを使って I/O 値を指定する必要があるかもしれません。
ソースコードから引用すると
「BIOS の中には、アドレスを I/O 範囲に割り当てるのを忘れるやつがある。
僕らは、0x5800
から始まる空きアドレスがあることを期待してこれを直
そうとした。ちくしょう、でもこれはもっといいリソース管理ができるように
なるまでの、単純な回避策に過ぎないんだ」とのことです。
この引数は、デフォルトのピアによるブリッジの調停を無効にします。 ソースコードによると、これは以下のことを行います:
「ピアホストブリッジがある場合、それらの背後にあるバスをスキャンする。 いくつかの資料によると、ホストブリッジはタイプ 1 のヘッダを持ち、 PCI2PCI ブリッジの場合と同様にバス番号が割り当てられるべきだとされてい る。しかし、現実にはこれではテストに通らないので、空いている最初の番号 を BIOS がバス番号に割り当てるのが普通である」
この引数を用いると、カーネルは検出フェーズにおいて PCI デバイスのソー トを行いません。
このオプションを用いると、PCI バスの検出が無効になります。 ハードウェアの検出と初期化に PCI の機能を利用する全てのデバイスドライ バは、ほぼ確実に動作しなくなるでしょう。
このオプションは、PCI バス上の PCI デバイスの並び順を逆にします。