1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 2004 Yuichi SATO
.\" all rights reserved.
.\" Translated Mon Mar 8 03:03:53 JST 2004
.\" by Yuichi SATO <ysato444@yahoo.co.jp>
.\"
.TH setpci 8 "04 January 2003" pciutils\-2.1.11 "Linux PCI Utilities"
.IX setpci
.SH 名前
setpci \- PCI デバイスを設定する
.SH 書式
\fBsetpci\fP [\fBoptions\fP] \fBdevices\fP \fBoperations\fP...
.SH 説明
.PP
\fBsetpci\fP は PCI デバイスの情報を取得したり設定したりするユーティリティである。
全ての数値は 16 進数表記で入力される。
.SH オプション
.TP
\fB\-v\fP
\fIsetpci\fP に状況を詳細に報告させ、設定空間アクセスの詳細な情報を表示させる。
.TP
\fB\-f\fP
(デバイスが選択されなかったり) 何もすることがなくても、 \fIsetpci\fP にエラーを表示させない。
このオプションは広く配布されている設定スクリプトで使うことを意図している。 この設定スクリプトでは、問題としているデバイスが
マシンに存在するか否かが確かでないためである。
.TP
\fB\-D\fP
「デモモード」 \-\- 実際に実行しないで設定空間アクセスをシミュレートする。 \fBsetpci \-vD\fP を試してみると、実際に実行する前に
どれだけ複雑な \fBsetpci\fP 操作のシーケンスが実行されるかを見ることができて、役に立つ。
.TP
\fB\-\-version\fP
\fIsetpci\fP のバージョンを表示する。 このオプションは単独で使用すべきである。
.SH デバイスの選択
.PP
操作のシーケンスの前に、操作の対象としたいデバイスを選択する必要がある。
.TP
\fB\-s [[<bus>]:][<slot>][.[<func>]]\fP
指定されたバス (bus)・スロット (slot)・機能 (func) のデバイスを選択する。 デバイスの指定の各要素は省略可能で、また "*"
は「任意の値」を意味する。 全ての数値は 16 進数で入力する。 例えば、"0:" はバス 0 の全てのデバイスを、 "0" は全てのバスのデバイス 0
で全ての機能を意味し、 "0.3" は全てのバスのデバイス 0 で 3 番目の機能を選択し、 ".4" は各デバイスの 4 番目の機能を選択する。
.TP
\fB\-d [<vendor>]:[<device>]\fP
指定されたベンダ ID とデバイス ID を持つデバイスを選択する。 両 ID とも 16 進で与えられる。省略も可能である。
また、「任意の値」を意味する "*" を指定することも可能である。
.SH 操作
.PP
設定レジスタの値を取得するには、単に名前を指定すること (名前を入力してもよいし、 レジスタのアドレスを入力してもよい。
レジスタのアドレスには、オプションとして \fB.B\fP, \fB.W,\fP \fB.L\fP というバイト・ワード・ロングワードのレジスタ長を指定する
サフィックスを付けることもできる)。
.PP
レジスタを設定するには \fBreg\fP=\fBvalues\fP と書くこと。 ここで \fBreg\fP はレジスタの情報を取得するのに使ったのと同じ書式であり、
\fBvalues\fP は指定したアドレスを開始点として書き込むコンマ区切りの値のリストである。
.SH レジスタ名
.PP
\fBsetpci\fP は以下の設定レジスタ名を認識する。 これらの正確な意味については、PCI バスの仕様を参照するか、
\fB/usr/include/linux/pci.h\fP にあるいくつかのコメントを見よ。
.PP
.nf
VENDOR_ID
DEVICE_ID
COMMAND
STATUS
REVISION
CLASS_PROG
CLASS_DEVICE
CACHE_LINE_SIZE
LATENCY_TIMER
HEADER_TYPE
BIST
BASE_ADDRESS_0
BASE_ADDRESS_1
BASE_ADDRESS_2
BASE_ADDRESS_3
BASE_ADDRESS_4
BASE_ADDRESS_5
CARDBUS_CIS
SUBSYSTEM_VENDOR_ID
SUBSYSTEM_ID
ROM_ADDRESS
INTERRUPT_LINE
INTERRUPT_PIN
MIN_GNT
MAX_LAT
PRIMARY_BUS
SECONDARY_BUS
SUBORDINATE_BUS
SEC_LATENCY_TIMER
IO_BASE
IO_LIMIT
SEC_STATUS
MEMORY_BASE
MEMORY_LIMIT
PREF_MEMORY_BASE
PREF_MEMORY_LIMIT
PREF_BASE_UPPER32
PREF_LIMIT_UPPER32
IO_BASE_UPPER16
IO_LIMIT_UPPER16
BRIDGE_ROM_ADDRESS
BRIDGE_CONTROL
CB_CARDBUS_BASE
CB_CAPABILITIES
CB_SEC_STATUS
CB_BUS_NUMBER
CB_CARDBUS_NUMBER
CB_SUBORDINATE_BUS
CB_CARDBUS_LATENCY
CB_MEMORY_BASE_0
CB_MEMORY_LIMIT_0
CB_MEMORY_BASE_1
CB_MEMORY_LIMIT_1
CB_IO_BASE_0
CB_IO_BASE_0_HI
CB_IO_LIMIT_0
CB_IO_LIMIT_0_HI
CB_IO_BASE_1
CB_IO_BASE_1_HI
CB_IO_LIMIT_1
CB_IO_LIMIT_1_HI
CB_SUBSYSTEM_VENDOR_ID
CB_SUBSYSTEM_ID
CB_LEGACY_MODE_BASE
.SH "PCILIB のオプション"
PCI utilities は PCI カードとやりとりするために PCILIB (PCI
設定空間にアクセスするための機能を提供する、プラットフォームに依存せず移植性の高いライブラリ)
を用いている。以下のオプションは、ライブラリのパラメータ、特にどのアクセス方法が使われるか、を制御する。デフォルトでは、 PCILIB
はアクセス方法で可能なもののうち最初のものを用い、デバッグ情報を何も表示しない。各々のスイッチには、そのスイッチに対応しているハードウェア/ソフトウェアの設定リストが付随する。
.TP
\fB\-P <dir>\fP
/proc/bus/pci の代わりに、 \fB<dir>\fP を使った Linux /proc/bus/pci
スタイルの設定でアクセスを行わせる。 (Linux 2.1 またはそれ以降でのみ有効)
.TP
\fB\-H1\fP
インテル設定メカニズム 1 (Intel configuration mechanism 1) を使って、 ハードウェアに直接アクセスする。(i386
及びその互換でのみ有効)
.TP
\fB\-H2\fP
インテル設定メカニズム 2 (Intel configuration mechanism 2) を使って、 ハードウェアに直接アクセスする。 警告:
この方法では各バスの最初の 16 デバイスしか扱えず、 多くの場合殆んど信頼できない。(i386 及びその互換でのみ有効)
.TP
\fB\-S\fP
PCI アクセスシステムコールを使う。(Alpha/Linux と UltraSparc でのみ有効)
.TP
\fB\-F <file>\fP
lspci \-x の実行結果を格納しているファイルから、全ての情報を取り出す。 ユーザーから提供されたバグ報告の解析に役立つ。
なぜならば、さらなるダンプをユーザーに要求することなく、 ハードウェアの設定をあなたの好きなやり方で表示することができる。 (全てのシステムで有効)
.TP
\fB\-G\fP
ライブラリのデバッグレベルを上げる。(全てのシステムで有効)
.SH 例
.PP
`setpci \-d *:* latency_timer=40' レイテンシタイマを 64 (16 進数の 40) に設定する。
.PP
`setpci \-s 0 device_id vendor_id' 全てのバスのスロット 0 にある デバイスの ID をリストする。
.PP
`setpci \-s 12:3.4 3c.l=1,2,3' バス 12・スロット 3・機能 4 のデバイスの レジスタ 3c にロングワード
1、レジスタ 3d に 2、 レジスタ 3e に 3 を書き込む。
.SH 関連項目
\fBlspci\fP(8)
.SH 作者
Linux PCI Utilities は Martin Mares <mj@ucw.cz> によって保守されている。
|