目的のデバイスのハードウェアパス名をデバイスツリーから取得します。
通常、デバイスのパス名と関連するインスタンス番号は、/etc/path_to_inst ファイルに含まれています。たとえば、SunSwift-PCI カード 1 枚が取り付けられている Sun Ultra 30 UPA/PCI システムでは、/etc/path_to_inst ファイル内に (他のデバイス用のエントリに加えて) 以下の 2 つのエントリが存在します。
"/pci@1f,4000/network@1,1" 0 "hme" "/pci@1f,4000/pci@4/SUNW,hme@0,1" 1 "hme"
最初のエントリは、マザーボード上の hme デバイスに対応しています。2 番目のエントリは、SunSwift-PCI カード上の hme デバイスに対応しています。
上記の 2 行についての詳細は以下のとおりです。
最初の二重引用符内は、デバイスツリー内のハードウェアノード名を表します。
次の列の数字は、インスタンス番号です。
最後の二重引用符内はドライバ名です。
デバイスパス名の最後の / 文字と@ 文字の間の要素は、デバイス名を表します。
最後の要素の前のパス名は、親の名前を表します。
最後の@ 文字の後のコンマで区切られた数字は、デバイス番号と機能番号を表し、この 2 つで装置アドレスと呼ばれます。
hme.conf ファイルで PCI デバイスを明確に指定するには、名前と親、装置アドレスを使用します。PCI デバイス指定の詳細については、pci(4) のマニュアルページを参照してください。
上記の例の 1 行目では、以下のようになります。
名前 = network
親 = /pci@1f,4000
装置アドレス = 1,1
2 行目では、以下のようになります。
名前 = SUNW,hme
親 = /pci@1f,4000/pci@4
装置アドレス = 0,1
/kernel/drv/hme.conf ファイル内の以上の 2 つのデバイスに、ipg1 および ipg2 のパラメタを設定します。
name = "SUNW,hme" parent = "/pci@1f,4000" unit-address = "1,1" ipg1=10 ipg2=5; name = "SUNW,hme" parent = "/pci@1f,4000/pci@4" unit-address = "0,1" ipg1=20 ipg2=10;
パス名でデバイス名が network となっている場合でも、マザーボードデバイスには デバイス名として SUNW,hme が使用されます。デバイス名 SUNW,hme は、マザーボードデバイスと互換性のある属性の値です。