+1. I'd love an option to select only the output for a given driver or
a given cpu, in addition to the sort facility. I guess grep, cut, awk,
and friends can be used to extract that though. :-)
- Garrett
On Wed, 2010-06-02 at 11:54 -0700, Govinda Tatti wrote:
> I'm sponsoring the following fast track for Andy Sang. The timer is
> set to expire on 06/09/2010.
>
> The fast-track and man page documents are located in the case directory
> under "materials/"
>
> - Govinda
>
> Template Version: @(#)sac_nextcase 1.70 03/30/10 SMI
> This information is Copyright (c) 2010, Oracle and/or its affiliates. All
> rights reserved.
> 1. Introduction
> 1.1. Project/Component Working Name:
> PCITool Output Improvement
> 1.2. Name of Document Author/Supplier:
> Author: Andy Sang
> 1.3 Date of This Document:
> 02 June, 2010
> 4. Technical Description
> 4. Technical Description:
> 4.1 Project Summary
>
> PCITool is a low-level tool which provides a facility for getting and
> setting interrupt routing information. It is first introduced by
> PSARC/2005/232 and then made public by PSARC/2009/215. It's enhanced
> to support retargeting MSI/X interrupts by PSARC/2009/340 and improved
> to support multi-CPU x86 system by PSARC/2009/665.
>
> Currently PCITool output doesn't provide enough interrupt information
> to the customer. To improve PCITool more efficient and friendly, this
> project will define the changes to PCITool to retrieve more interrupt
> information from kernel, and also will propose some output changes.
>
> These changes are expected to be backported to S10 after the changes
> of PSARC/2009/340 and PSARC/2009/665 are backported, so micro/patch
> binding is requested.
>
> 4.2 PCITool syntax changes
>
> Current syntax:
> pcitool pci@<unit-address> -i<cpu#,ino#> | all
> [ -r [ -c ] | -w<cpu#> [ -g ] ] [ -v ] [ -q ]
>
> pcitool pci@<unit-address> -m<cpu#,msi#> | all
> [ -r [ -c ] | -w<cpu#> [ -g ] ] [ -v ] [ -q ]
>
> Proposed syntax:
> pcitool pci@<unit-address> -i<cpu#, ino#> |
> [ all [ -s cpu | driver ][ -h | -d ] ]
> [ -r [ -c ] | -w<cpu#> [ -g ] ] [ -v ] [ -q ]
>
> pcitool pci@<unit-address> -m<cpu#, msi#> |
> [ all [ -s cpu | driver ][ -h | -d ] ]
> [ -r [ -c ] | -w<cpu#> [ -g ] ] [ -v ] [ -q ]
>
> 4.3 PCITool feature changes
>
> - A new function to make the "all" in "-i all" optional.
> - A new option, "-s cpu | driver" to sort by cpu or driver name.
> - A new option switch, "-d" and "-h" control displaying all numbers
> in decimal or hexadecimal. No "0x" prefix is used in the output
> when the -h option is used. The numbers are by default display in
> decimal.
>
> 4.4 PCITool output changes
>
> This project adds some fields to improve the PCITool output, include:
> IRQ/MSG, Type, PIL, APIC/Mondo, Share, inum.
>
> In the output, the Driver field displays driver information for the
> interrupts from the real device as below, while it displays ISR name.
> drivername # instance number [inum]
>
> Current output:
>
> Show all interrupt information on /p...@0,0
>
> # pcitool /p...@0,0 -i all
> 0x0,0x21: pcieb 3 /p...@0,0/pci8086,3...@4
> 0x0,0x22: mpt 0 /p...@0,0/pci8086,3...@4/pci1000,3...@0
> 0x0,0x24: asy 0 /p...@0,0/i...@1f/a...@1,3f8
>
> Proposed output:
>
> Show all interrupt information on /p...@0,0
>
> # pcitool /p...@0,0 -i
> CPU Vect IRQ Type PIL APIC/INT# Share Driver Path
> 0 32 9 FIXED 9 - 1 acpi_sci_vect -
> 0 33 - MSI 7 - 1 pcieb#3[0]
> /p...@0,0/pci8086,3...@4
> 0 34 - MSI 5 - 1 mpt#0[0]
> /p...@0,0/pci8086,3...@4/pci1000,3...@0
> 0 35 - MSI 5 - 1 mpt#0[1]
> /p...@0,0/pci8086,3...@4/pci1000,3...@0
> 0 36 4 FIXED 12 1/12 1 asy#1[0]
> /p...@0,0/i...@1f/a...@1,3f8
>
> Show all interrupt information on /p...@0,0, sort by driver name,
> display numbers in hexadecimal
>
> # pcitool /p...@0,0 -i all -s driver -h
> CPU Vect IRQ Type PIL APIC/INT# Share Driver Path
> 0 20 9 FIXED 9 - 1 acpi_sci_vect -
> 0 24 4 FIXED c 1/c 1 asy#1[0]
> /p...@0,0/i...@1f/a...@1,3f8
> 0 22 - MSI 5 - 1 mpt#0[0]
> /p...@0,0/pci8086,3...@4/pci1000,3...@0
> 0 23 - MSI 5 - 1 mpt#0[1]
> /p...@0,0/pci8086,3...@4/pci1000,3...@0
> 0 21 - MSI 7 - 1 pcieb#3[0]
> /p...@0,0/pci8086,3...@4
>
> Note that the header is different on between x86 platforms and sparc
> platforms since the some item meaning is different. The detail is
> that "Vector" vs "INO", "IRQ" vs "MSG" and "APIC/INT#" vs "Mondo"
> as below example:
>
> Show all interrupt information on /p...@400 on sparc platform
>
> # pcitool /p...@400 -i all
> CPU INO MSG Type PIL Mondo Share Driver Path
> 81 21 - Fixed 9 1045 1 ohci#0[0]
> /p...@400/p...@0/p...@1/p...@0/u...@0
> 44 25 254 MSI-X 6 1049 1 nxge#0[0]
> /p...@500/p...@0/p...@8/netw...@0
> 75 56 48 PCIe 9 1110 1 px#1[0] /p...@500
>
> 4.5 Data structure changes
>
> pcitool_intr_get_t
>
> This is the argument data structure for PCITOOL_DEVICE_GET_INTR ioctl,
> which retrieve a given interrupt information.
>
> This project adds some new fields to get more information, including
> IRQ/MSG, Type, PIL, APIC/Mondo, Share, inum, State, Bus, Triger.
>
> 4.6 Bug/RFE Number(s)
>
> The changes described in this case will be done as a follow on work to the
> following RFE:
>
> CR 6669984 Solaris x86 need to provide large number of interrupt vectors
>
> 4.7 Interfaces
>
> Imported Interfaces
>
> Interface Stability Comments
> ----------------------------+---------------+--------------------------
> pcitool Project Some syntax changes.
> Added
> Private Some new fields (IRQ/MSG,
> Type,PIL,APIC/Mondo,Share,
> inum) changed output format
> PCITOOL_DEVICE_GET_INTR Consolidation Ioctl to retrieve more intr
> Private information
> pcitool_intr_get_t Consolidation PCITOOL_DEVICE_GET_INTR arg
> Private data structure
> -----------------------------------------------------------------------
>
> 4.8 References
>
> [1] PCITool and its nexus ioctl support - PSARC/2005/232
> http://sac.sfbay.sun.com/PSARC/2005/232
>
> [2] PCITool Public Interrupts - PSARC/2009/215
> http://sac.sfbay.sun.com/PSARC/2009/215
>
> [3] Interrupt Affinity Interfaces and PCITool Enhancements -
> PSARC/2009/340
> http://sac.sfbay.sun.com/PSARC/2009/340
>
> [4] PCITool Extensions - PSARC/2009/665
> http://sac.sfbay.sun.com/PSARC/2009/665
>
> 6. Resources and Schedule
> 6.4. Steering Committee requested information
> 6.4.1. Consolidation C-team Name:
> ON
> 6.5. ARC review type: FastTrack
> 6.6. ARC Exposure: open
>
> _______________________________________________
> opensolaris-arc mailing list
> [email protected]
_______________________________________________
opensolaris-arc mailing list
[email protected]