ディレクトリ /kernel/drv にファイル ge.conf を作成すれば、ドライバパラメタの値をデバイスごとに独立して設定することも可能です。システム内のデバイスの特定のパラメタを修正する場合は、この ge.conf ファイルを設定変更してください。この方法で設定が可能なのは、ドライバパラメタの値と定義に記載されている読み取り・書き込みの両方に対応しているパラメタだけです。
更に詳細な情報が必要な場合はマニュアルページの prtconf (1M) と driver.conf (4) の項目を参照してください。
目的の ge デバイスを表すハードウェアパス名をデバイスツリーから取得する方法を解説します。
通常、ge デバイスのパス名およびそのインスタンス番号は、ファイル /etc/path_to_inst に含まれています。
# grep ge /etc/path_to_inst"/sbus@b,0/network@2,100000" 0 "ge" |
Sun GigabitEthernet/S の場合
ge.conf ファイル内で SBus デバイスを明確に表したい場合には、デバイス名およびその親の名前をそのまま使用してください。SBus デバイスの指定に関してさらに詳しい情報が必要な場合は、マニュアルページの sbus(4) の項目を参照してください。
例えば前述の例で表す場合は、以下のようになります。
名前 = SUNW,sbus-gem
クラス = "sbus"
ge.conf ファイルに設定する「名前」の属性値は、互換性のある属性値でなければいけません。上記の例では、この値が SUNW,sbus-gem になっています。
Sun GigabitEthernet/P の場合
ge.conf ファイルで PCI デバイスを明確に表したい場合は、デバイスの名前、その親の名前、装置アドレスをそのまま使用してください。PCI デバイスの指定に関してさらに詳しい情報が必要な場合は、マニュアルページの pci(4) の項目を参照してください。
前述の例の 1 行目では以下のようになります。
名前 = pci108e,2bad
親 = /pci@4,4000
装置アドレス = 4
2 行目は以下のようになります。
名前 = pci108e,2bad
親 = /pci@6,2000
装置アドレス = 1
3 行目は以下のようになります。
名前 = pci108e,2bad
親 = /pci@4,2000
装置アドレス = 1
kernel/drv/ge.conf ファイルのデバイスパラメタ ipg1 および ipg2 の値を、例えば以下のように設定します。
name = "SUNW,sbus-gem" class = "sbus" reg=0x2,0x100000,0x14,0x2,0x200000,0x9060 ipg1=20 ipg2=10 ; |
ge.conf ファイルを保存します。
すべてのファイルとプログラムを保存してから閉じ、ウィンドウシステムを終了します。
DR (動的再構成) をサポートしていないシステムの場合は、スーパーユーザープロンプトからコマンド init 6 を入力してリブートします。
kernel/drv/ge.conf ファイルのデバイスパラメタ ipg1 および ipg2 の値を、例えば以下のように設定します。
name="pci108e,2bad" parent="/pci@4,4000" unit-address="4" ipg1=20 ipg2=10; name="pci108e,2bad" parent="/pci@6,2000" unit-address="1" ipg1=20 ipg2=10; name="pci108e,2bad" parent="/pci@4,2000" unit-address="1" ipg1=20 ipg2=10; |
ge.conf ファイルを保存します。
すべてのファイルとプログラムを保存してから閉じ、ウィンドウシステムを終了します。
スーパーユーザープロンプトからコマンド init 6 を入力して、システムを停止してリブートします。