Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

pcitool(1M)

名前

pcitool - 割り込み経路指定ツール

形式

/usr/sbin/pcitool -h
x86:
/usr/sbin/pcitool pci@unit-address -i cpu#,ino# | all [-r [-c] |
     -w cpu# [-g] ] [-v] [-q]
SPARC:
/usr/sbin/pcitool pci@unit-address -i ino# | all [-r [-c] |
     -w cpu# [-g] ] [-v] [-q]
/usr/sbin/pcitool pci@unit-address -m msi# | all [-r [-c] |
     -w cpu# [-g] ] [-v] [-q]

説明

PCItool は、割り込み経路指定情報の取得および設定機能を提供する低レベルツールです。

割り込み経路指定

pcitool –i コマンドは、指定したネクサス上の INO に関するデバイスおよび CPU 経路指定情報を表示し、指定した INO または INO グループを、指定した CPU へ再経路指定できます。

SPARC プラットフォームでは、INO は割り込みモンドに対応付けられ、1 つまたは複数の MSI/X が 1 つの INO に対応付けられます。したがって、INO と MSI/X は別々に再ターゲット化できます。–i オプションを使用して、指定した INO を取得または再経路指定します。MSI/X の場合は –m オプションを使用します。

cpu# の指定は、x86 プラットフォーム上で使用できます。ino# と組み合わせた場合、これは排他的なベクトルを識別します。cpu# 引数は、SPARC プラットフォームではサポートされません。

必要な特権

割り込み情報にアクセスするには、ユーザーはすべての特権を保有している必要があります。一般ユーザーは、su(1M) を実行して root になるか、または user_attr ファイルで「Maintenance and Repair」権利プロファイルが与えられている場合に、割り込み情報にアクセスできます。user_attr(4) および rbac(5) を参照してください。

オプション

サポートしているオプションは、次のとおりです。

–h

コマンドの使用法を表示します。

–q

エラーはメッセージとして表示されません。ただし、pcitool は、引き続き UNIX エラーコードを返します。

–r [–c]

指定したネクサスの INO について、デバイスおよび CPU 経路指定情報を表示します。表示される INO ごとに、各デバイスのデバイスパスとインスタンス番号が表示されます。一部のプラットフォームでは、ルートコンプレックス専用の割り込みは、そのパス名に付加された文字列 (Internal) で示されます。

–c を付けると、割り込みコントローラ情報をダンプします。

コマンド行で –r–w も指定されない場合、–r が指定されたものとみなされます。「使用例」を参照してください。

–v

詳細情報を出力します。

–w cpu# [–g]

指定した INO または MSI/X を、指定した CPU に経路指定します。新しい経路指定情報と元の経路指定情報を表示します。INO または MSI/X を指定する必要があります。

一部のプラットフォーム (x86 など) では、単一の機能の複数の MSI 割り込みは一緒に再経路指定する必要があります。これを行うには –g を使用します。–g オプションは、サポート対象のプラットフォームでのみ、MSI 割り込みのグループにかぎり有効です (1 の「グループ」は受け入れられます)。–g を使用する場合、指定するベクトルは、グループの中でもっとも小さい番号のベクトルである必要があります。グループのサイズは内部で決定されます。「使用例」を参照してください。

使用例 1 すべての INO を表示する

/pci@0,0 のすべての INO を表示するコマンドは次のとおりです。

# pcitool /pci@0,0 -i all
使用例 2 特定の INO の出力を表示する

ルート /pci@0,0 の INO 0x0,0x21 を表示するコマンドは、x86 プラットフォームと SPARC プラットフォームでは若干異なります。

x86 プラットフォームの場合

# pcitool /pci@0,0 -i 0,21
0x0,0x21:                   mpt                          0
/pci@7b,0/pci1022,7458@11/pci1000,3060@2

SPARC プラットフォームの場合

# pcitool /pci@0,0 -i 21
0x0,0x21:                   mpt                          0
/pci@7b,0/pci1022,7458@11/pci1000,3060@2

前述の出力は一例であり、実際の出力とは異なる場合があります。

使用例 3 特定の MSI の出力を表示する

ルート /pci@0,0 の MSI 0x1 を表示するコマンドを、出力例とともに次に示します。

# pcitool /pci@0,0 -m 0x1
0x0,0x1: pcieb     0    /pci@7b,0/pci10de,5d@e
使用例 4 ある CPU から別の CPU に INO を再経路指定する

CPU 0 から CPU 1 に INO 21 を正しく再経路指定すると、次に示す出力が生成されます。

x86 プラットフォームの場合

# pcitool /pci@0,0 -i 0,21 -w 1
0x0,0x21 -> 0x1,0x20

SPARC プラットフォームの場合

# pcitool /pci@0,0 -i 21 -w 1
0x0,0x21 -> 0x1,0x20
使用例 5 ある CPU から別の CPU に MSI を再経路指定する

CPU 1 から CPU 0 に MSI 1 を正しく再経路指定すると、次に示す出力が生成されます。

# pcitool /pci@0,0 -m 1 -w 0
0x1,0x1 -> 0x0,0x1
使用例 6 INO のグループを再経路指定する

CPU 0 から CPU 1 に 24 から始まる INO のグループを正しく再経路指定すると、次に示す出力が生成されます。

x86 プラットフォームの場合

# pcitool /pci@0,0 -i 3,24 -w 1 -g
0x3,0x24 => 0x1,0x22

SPARC プラットフォームの場合

# pcitool /pci@0,0 -i 24 -w 1 -g
0x3,0x24 => 0x1,0x22

終了ステータス

0

エラーなし。

EINVAL

範囲外、整列エラー、またはそのほかの無効な引数が渡されました。

ETIME

新しい CPU に割り込みを変更する前に、保留中の割り込みが処理されるのを待機しているときにタイムアウトが発生しました。

EIO

I/O エラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
アーキテクチャー
PCI ベースのシステムに限定
使用条件
system/management/pcitool
インタフェースの安定性
流動的

関連項目

su(1M), pci(4), user_attr(4), attributes(5), rbac(5)

PCI 仕様 (www.pcisig.org から入手可能)

すべての値は 16 進数で入力します。

すべてのコマンドが全プラットフォームに適用できるわけではありません。