特記事項: Quad FastEthernet デバイスドライバ

/kernel/drv/qfe.conf を使用したパラメタの設定

/etc/system ファイル内のパラメタの設定で説明されているパラメタは、デバイスごとに設定することもできます。それらのパラメタをデバイスごとに設定するには、/kernel/drv ディレクトリに qfe.conf ファイルを作成します。qfe.conf ファイルのパラメタ設定は、/etc/system ファイルの設定に優先します。システムの特定のデバイスに対して特定のパラメタを設定する必要がある場合は、qfe.conf ファイルを使用してください。qfe.conf ファイルには、ドライバのパラメタの値と定義で示されている読み取り・書き込み可能なパラメタを設定することができます。

詳細は、prtconf(1M)、system(4)、driver.conf(4) のマニュアルページを参照してください。

Sun Quad FastEthernet PCI アダプタのドライバパラメタを設定する
  1. 目的の qfe デバイスのハードウェアパス名をデバイスツリーから取得します。

    通常、qfe デバイスのパス名と関連するインスタンス番号は、/etc/path_to_inst ファイルに含まれています。


    # grep qfe /etc/path_to_inst
    "/pci@1f,2000/pci@2/SUNW,qfe@0,1" 4 "qfe"
    "/pci@1f,2000/pci@2/SUNW,qfe@1,1" 5 "qfe"
    "/pci@1f,2000/pci@2/SUNW,qfe@2,1" 6 "qfe"
    "/pci@1f,2000/pci@2/SUNW,qfe@3,1" 7 "qfe"

    • 表示された行の各部の意味は以下のとおりです。

      • 最初の二重引用符内は、デバイスツリー内のハードウェアノード名を表します。

      • 次の列の数字は、インスタンス番号です。

      • 最後の二重引用符内はドライバ名です。

    • デバイスパス名の最後の / 文字と@ 文字の間の要素は、デバイス名を表します。

    • 最後の要素の前のパス名は、親の名前を表します。

    • 最後の@ 文字の後のコンマで区切られた数字は、デバイス番号と機能番号を表し、この 2 つで装置アドレスと呼ばれます。

qfe.conf ファイルで PCI デバイスを明確に指定するには、名前と親、装置アドレスを使用します。PCI デバイス指定の詳細については、pci(4) のマニュアルページを参照してください。

上記の例の 1 行目では、以下のようになります。

2 行目では、以下のようになります。

3 行目では、以下のようになります。

4 行目では、以下のようになります。

  1. たとえば、上記の 4 つのデバイスのすべてに対して ipg1ipg2 パラメタを設定するには、/kernel/drv/qfe.conf ファイルに以下のように入力します。


    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "0,1" ipg1=20 ipg2=10;
    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "1,1" ipg1=20 ipg2=10;
    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "2,1" ipg1=20 ipg2=10;
    name = "SUNW,qfe" parent = "/pci@1f,2000/pci@2" unit-address = "3,1" ipg1=20 ipg2=10;

  2. qfe.conf ファイルを保存します。

  3. すべてのファイルを保存してすべてのプログラムを終了し、ウィンドウシステムを終了します。

  4. スーパーユーザーのプロンプトに対して init 6 と入力して、システムを再起動します。

Sun Quad FastEthernet SBus アダプタのドライバのパラメタを設定する
  1. prtconf -v コマンドを実行し、出力を more コマンドにパイプで渡すか (prtconf -v | more)、出力先をファイルに変更して (prtconf -v > ファイル名)、保存されたファイルの内容を表示します。

  2. prtconf -v の出力から、SUNW,qfe,instance #0SUNW,qfe,instance #1 などのセクションを探します。

    Sun Ultra 1 Creator シリーズのシステムでは、SUNW,qfe,instance #0 に対応する出力は以下のようになります。


    SUNW,qfe, instance #0
                Driver software properties:
                    name <pm_norm_pwr> length <4>
                        value <0x00000001>.
                    name <pm_timestamp> length <4>
                        value <0x30743b26>.
                Register Specifications:
                    Bus Type=0xe, Address=0x8c00000, Size=108
                    Bus Type=0xe, Address=0x8c02000, Size=2000
                    Bus Type=0xe, Address=0x8c04000, Size=2000
                    Bus Type=0xe, Address=0x8c06000, Size=2000
                    Bus Type=0xe, Address=0x8c07000, Size=20

  3. スーパーユーザーになります。

  4. テキストエディタを使用して、/kernel/drv ディレクトリに qfe.conf ファイルを作成し、パラメタを設定するための行を追加します。たとえば、ipg1ipg2 パラメタを設定するには、以下の手順に従います。

    1. name="qfe" および class="sbus" と指定します。

    2. reg 属性を使用して、目的のデバイス (この例では 0xe) を指定します。 prtconf -v の出力の Bus Type の後に続く値を使用します。

    3. アドレスを入力し、その後に指定サイズを入力します。以下の例のように、それぞれのサイズの先頭に 0x0 の列を付けてください。

    4. ipg1ipg2 を設定します。最後の値の後にセミコロン (;) を付けます。

      この例では、ipg1ipg2 をそれぞれ 20 と 10 に設定しています。


      name="qfe" class="sbus"
      reg=0xe,0x8c00000,0x00000108,0xe,0x8c02000,0x00002000,0xe,
      0x8c04000,0x00002000,0xe,0x8c06000,0x00002000,0xe,0x8c07000,
      0x00000020
      ipg1=20 ipg2=10;

  5. qfe.conf ファイルを保存します。

  6. すべてのファイルを保存してすべてのプログラムを終了し、ウィンドウシステムを終了します。

  7. スーパーユーザーのプロンプトに対して init 6 と入力して、システムを再起動します。