日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PCICONF(8) FreeBSD システム管理者マニュアル PCICONF(8)
名称
pciconf -- PCI バスのための診断ユーティリティ
書式
pciconf -l [-BbceVv] [device]
pciconf -a device
pciconf -r [-b | -h] device addr[:addr2]
pciconf -w [-b | -h] device addr value
pciconf -D [-b | -h | -x] device addr [start[:count]]
解説
pciconf ユーティリティは、pci(4) の ioctl(2) インタフェースによって提供さ
れる機能へのコマンド行インタフェースを提供しています。そのため、機能のい
くつかは、通常スーパユーザだけの /dev/pci への書き込みアクセス権限がある
ユーザにのみ利用可能です。
-l オプションで、pciconf は、次の形式で PCI デバイスをリストします:
foo0@pci0:0:4:0: class=0x010000 rev=0x01 hdr=0x00 vendor=0x1000 device=0x000f subvendor=0x0000 subdevice=0x0000
bar0@pci0:0:5:0: class=0x000100 rev=0x00 hdr=0x00 vendor=0x88c1 device=0x5333 subvendor=0x0000 subdevice=0x0000
none0@pci0:0:6:0: class=0x020000 rev=0x00 hdr=0x00 vendor=0x10ec device=0x8029 subvendor=0x0000 subdevice=0x0000
最初のカラムは、ドライバ名、ユニット数とセレクタを与えます。問題の PCI デ
バイスにアタッチされるドライバがないなら、ドライバ名は、``none'' となりま
ます。デタッチされているデバイスのためのユニット番号は、0 から開始し、遭
遇される各デタッチされているデバイスに対して増加されます。セレクタは、コ
マンドの他の形式のために直接使用される形式の状態です。2 番目のカラムは、2
つの 16 進数として印刷 (表示) されるクラスバイトで、サブクラスとインタ
フェースバイトが後続する、クラスコードです。3 番目のカラムは、デバイスの
リビジョンを印刷 (表示) します。4 番目のカラムは、ヘッダタイプを記述して
います。
現在割り当てられたヘッダタイプは、標準のデバイスのための 0 を含み、PCI ブ
リッジへの PCI のための 1、と CardBus ブリッジへの PCI のための 2。ヘッダ
タイプレジスタの最上位ビットが、PCI デバイスの機能 0 に対して設定されるな
ら、それは、1 つのチップでいくつかの (類似しているか、または独立している)
機能を含んでいる、多機能 (multi-function) デバイスです。
6 番目と 7 番目のカラムは、デバイスのベンダ ID とデバイス ID を含んでいま
す。8 番目と 9 番目のカラムが、PCI 標準のリビジョン 2.1 で導入されたサブ
ベンダとサブデバイス ID を含んでいます。それらが古いカードのための 0 であ
ることに注意してください。
2 番目の -l オプションを追加することによって、出力は、80 カラム出力に適切
な、コンパクトな円柱状の形式となります:
drv selector class rev hdr vendor device subven subdev
foo0@pci0:0:4:0: 010000 01 00 1000 000f 0000 0000
bar0@pci0:0:5:0: 000100 00 00 88c1 5333 0000 0000
none0@pci0:0:6:0: 020000 00 00 10ec 8029 0000 0000
すべてのフィールドは、コンパクトでない形式と同様に同じ定義を保持します。
-B オプションが供給されるなら、pciconf は、特にブリッジの背後のデバイスに
よって使用のためのブリッジによってデコードされたリソース範囲である、PCI
から PCI と PCI から CardBus ブリッジのための追加の情報をリストします。各
ブリッジは、ブリッジとその下流のデバイスによって処理されたバス番号の範囲
をリストします。メモリと I/O ポートのデコードウィンドウは、次の形式の行を
通して列挙されます:
window[1c] = type I/O Port, range 16, addr 0x5000-0x8fff, enabled
角括弧の ``window'' 接頭辞の後の最初の値は、16 進数の config 空間のデコー
ドウィンドウのオフセットです。ウィンドウのタイプは、``Memory'',
``Prefetchable Memory'' または ``I/O Port'' の 1 つです。範囲は、ウィンド
ウがデコードされた最大のアドレスのバイナリのログを示します。アドレス
フィールドは、デコードされた範囲の開始と終わりのアドレスを示します。最後
に、最後のフラグは、ウィンドウが有効にされたか、または無効にされたかを示
します。
-b オプションが供給されるなら、pciconf は、各デバイスのためのリソースが割
り当てられる任意のベースアドレスレジスタ (BARs) をリストします。各 BAR
は、次の形式で行によって列挙されます:
bar [10] = type Memory, range 32, base 0xda060000, size 131072, enabled
角括弧の前に置かれた ``bar'' の後の最初の値は、16 進の設定空間の BAR のオ
フセットです。BAR のタイプは、``Memory'', ``Prefetchable Memory'' または
``I/O Port'' の 1 つです。範囲は、BAR がデコードする最大のアドレスのバイ
ナリログを示します。ベースとサイズは、それぞれ BAR のアドレスウィンドウの
始めと長さを示します。最終に、最後のフラグは、BAR が有効にされるか、また
は無効にされるかを示します。
-c オプションが供給されるなら、pciconf は、各デバイスによってサポートされ
た任意のケーパビリティをリストします。各ケーパビリティは、次の形式の行を
通して列挙されます: -c の 2 番目の呼び出しは、特定のケーパビリティのため
の追加のデータを印刷 (表示) します。
cap 10[40] = PCI-Express 1 root port
``cap'' 接頭辞の後の最初の値は、16 進のケーパビリティ ID です。角括弧内の
2 番目の値は、16 進の設定空白でのケーパビリティのオフセットです。等号の後
のテキストの形式は、ケーパビリティ特有 (capability-specific) です。
各拡張ケーパビリティは、同様の形式の行を通して列挙されます:
ecap 0002[100] = VC 1 max VC0
``ecap'' 接頭辞の後の最初の値は、16 進数の拡張ケーパビリティ ID です。角
括弧の 2 番目の値は、16 進数の設定空間の拡張ケーパビリティのオフセットで
す。等号の後のテキストの形式は、ケーパビリティ特有です。
-e オプションが供給されるなら、pciconf は、標準 PCI エラーレジスタの、こ
のデバイスのために報告されたあらゆるエラーをリストします。エラーは、PCI
状態レジスタ、PCI-express デバイス状態レジスタと Advanced Error Reporting
状態レジスタでチェックされます。
-v オプションが供給されるなら、pciconf は、ベンダ/デバイス情報データベー
スをロードを試み、各デバイスのためのベンダ、デバイス、クラスとサブクラス
識別子を印刷 (表示) します。
-V オプションが供給されるなら、pciconf は、各デバイスによって提供される、
あらゆる重要な製品データ (VPD) をリストします。各 VPD キーワードは、次の
形式で回線を通して列挙されます:
VPD ro PN = '110114640C0 '
``VPD'' 接頭辞の後の最初の文字列は、キーワードが読み込み専用の ``ro'' ま
たは読み込み書き込み ``rw'' かどうかを示します。2 番目の文字列は、キー
ワード名を提供します。等号の後のテキストは、通常 ASCII 文字列であるキー
ワードの値をリストします。
オプションの device 引数が -l フラグで与えられるなら、pciconf は、すべて
のデバイスの代わりに単一のデバイスに関する詳細のみをリストします。
-l を除いて pciconf のすべての呼び出しは、device を要求します。デバイスが
ドライバまたはセレクタによってアタッチされているなら、デバイス名によって
いずれかをデバイスを識別することができます。セレクタは、PCI 設定空間のア
ドレスによって PCI デバイスを識別し、次の形式の 1 つを取ることができます:
• pcidomain:bus:device:function
• pcibus:device:function
• pcibus:device
短縮された形式の場合に、省略されたセレクタの構成要素は、0 であると仮定さ
れます。その後に @ が続くオプションの先導するデバイス名とオプションの最終
的なコロンは、無視されます。これは、pciconf -l の出力の最初のカラムを変更
なしで使用することができます。すべての番号は、10 進数です。
-a フラグで、pciconf は、あらゆるドライバが、selector によって識別される
デバイスに割り当てられているかどうかを判断します。0 の終了ステータスは、
デバイスがドライバを持っていることを示します。0 でない終了ステータスは、
そうでなことを示します。
-r オプションは、デバイス selector のバイトオフセット addr で設定空間レジ
スタを読み込み、16 進数でその値を印刷 (表示) します。オプションの 2 番目
のアドレス addr2 は、読み込む範囲を指定します。-w オプションは、デバイス
selector のバイトオフセット addr で設定空間レジスタに value を書き込みま
す。
-D オプションは、指定された BAR のダンプを要求します。ダンプは、標準出力
に実行され、生のレジスタ値が書き込まれます。それらを人間に読み込み可能な
ダンプに変換するために、hexdump(1) を使用するか、またはデバイス状態のス
ナップショットを保存するために、ファイルにダイレクトします。オプション
で、操作の幅の倍数で、ダンプされたレジスタの start と count を指定するこ
とができます、次のパラグラフを参照してください。
読み込み、書き込み、とダンプ操作のために、フラグ -b, -h と -x は、操作の
幅を選択します。-b は、バイト操作を示し、-h は、ハーフワード (2 バイト)
操作を示します。-x は、クワッドワード (quadword) (4 バイト) 操作を示す。
デフォルトは、ロングワード (4 バイト) を読み込むか、または書き込むことで
す。クワッドワード (quadword) モードは、BAR ダンプのためだけに有効です。
環境変数
PCI ベンダとデバイス情報は、/usr/local/share/pciids/pci.ids から読み込ま
れます。そのファイルが存在しないなら、/usr/share/misc/pci_vendors から読
み込まれます。環境変数 PCICONF_VENDOR_DATABASE を設定することによって、こ
のパスを上書きすることができます。
関連項目
ioctl(2), devinfo(8), kldload(8)
歴史
pciconf ユーティリティは、FreeBSD 2.2 ではじめて登場しました。-a オプショ
ンは、FreeBSD 3.0 で PCI KLD サポートのために追加されました。
作者
pciconf ユーティリティは、Stefan Esser と Garrett Wollman によって書かれ
ました。
バグ
-b と -h オプションは、基本的な ioctl(2) ではなく pciconf で実装されてい
ます。
-a と -r オプションへの root でないユーザのアクセス権を与えるために役に立
つかもしれません。しかし、root だけが、ドライバ KLD でデバイスを提供する
kldload を実行することができ、設定空間レジスタの読み込みは、ひどい設計の
PCI チップで失敗を引き起こすかもしれません。
現在、-D オプションによって確立されたマッピングのためのキャッシュモードを
指定する方法はなく、pciconf は、常に、キャッシュされないアクセスを使用し
ます。これは、制御レジスタ BAR のために優れています。
FreeBSD 13.2 June 14, 2018 FreeBSD 13.2