跳过导航链接 | |
退出打印视图 | |
![]() |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 中断路由工具
/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 将映射到某个中断 mondo,而一个或多个 MSI/X 将映射到一个 INO。因此,INO 和 MSI/X 可单独重新确定目标。使用 -i 选项可以检索或重新路由给定的 INO;使用 -m 选项可以检索或重新路由 MSI/X。
在 x86 平台上可以指定 cpu#。与 ino# 配合使用可标识一个独占向量。SPARC 平台不支持 cpu# 参数。
要访问中断信息,用户必须具有所有特权。一般用户在通过 su(1M) 成为超级用户之后便可以访问中断信息,或者,如果他在 user_attr 文件中被授予“维护和修复”权限,也可以访问中断信息。请参见 user_attr(4) 和 rbac(5)。
所支持的选项如下:
显示命令用法。
没有以消息形式显示任何错误。但是,pcitool 仍会返回 Unix 错误代码。
显示给定结点上 INO 的设备和 CPU 路由信息。显示每个显示的 INO 的每个设备的设备路径和实例编号。在某些平台上,专用于根联合体的中断由附加到其路径名的字符串 (Internal) 表示。
使用 -c,可转储中断控制器信息。
如果命令行上既未提供 -r,也未提供 -w,则假定使用 -r。请参见示例。
详细输出。
将给定 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 将 INO 从一个 CPU 重新路由到另一个 CPU
将 INO 21 从 CPU 0 成功重新路由到 CPU 1 将生成以下输出。
在 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 将 MSI 从一个 CPU 重新路由到另一个 CPU
将 MSI 1 从 CPU 1 成功重新路由到 CPU 0 将生成以下输出。
# pcitool /pci@0,0 -m 1 -w 0 0x1,0x1 -> 0x0,0x1
示例 6 重新路由 INO 组
将以 24 开始的 INO 组从 CPU 0 成功重新路由到 CPU 1 将生成以下输出。
在 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
无错误。
传入的参数超出范围、对齐错误或是无效参数。
将中断更改为新 CPU 之前等待暂挂中断解决问题的超时时间。
发生了 I/O 错误。
有关以下属性的说明,请参见 attributes(5):
|
su(1M)、pci(4)、user_attr(4)、attributes(5)、rbac(5)
PCI 规范(可从 www.pcisig.org 获取)
所有值均以十六进制输入。
并非所有命令均适用于所有平台。