Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1m‎ > ‎


     pcitool - interrupt routing tool

     /usr/sbin/pcitool PCI_nexus_node -i ino=ino [ -r [ -c ] | -w
     cpu=CPU [ -g ] ] [ -v ] [ -q ]

     /usr/sbin/pcitool [ -h ]

     PCItool is a low-level tool which provides  a  facility  for
     getting and setting interrupt routing information.

  Interrupt Routing
     The pcitool -i  command  displays  device  and  CPU  routing
     information  for  all  inos  on  a  given  nexus, and allows
     rerouting of a given ino or ino group to a specific CPU.

     Required privileges

     The user must have all privileges in order to access  inter-
     rupt  information.   A  regular  user  can  access interrupt
     information when su(1M) to root or granted the  "Maintenance
     and  Repair"  rights  profile  in  the  user_attr  file. See
     user_attr(4) and rbac(5).

     Commandline options

     -r [ -c ]

     Display device and CPU routing information  for  inos  on  a
     given  nexus.   The  device path and instance number of each
     device for each displayed ino will be shown.  On some  plat-
     forms  (e.g.  Fire) interrupts dedicated to the root complex
     are indicated with "(Internal)" appended to their pathname.

     Dump interrupt controller information with -c.

     If neither -r nor -w are provided on the commandline, -r  is

     The command for showing all inos on /pci@8,700000 is:

       # pcitool /pci@8,700000 -i

     The command for showing ino 0x23 on  the  same  root  nexus,
     along with sample output, is:

       # pcitool /pci@8,700000 -i ino=23

       ino 23 on ctlr 0 mapped to cpu 0
       Device: /pci@8,700000/ebus@5/i2c@1,30
         Driver: pcf8584, instance 1
       Device: /pci@8,700000/ebus@5/i2c@1,2e
         Driver: pcf8584, instance 0

     -w cpu=hex_CPU [ -g ]

     Route the given ino to the given CPU.  Display the  new  and
     original routing information.  The ino must be specified.

     Successful rerouting ino 23 above from cpu 0 to cpu 1  gives
     the following output:

       # pcitool /pci@8,700000 -i ino=23 -w cpu=1

       Interrupts on ino 23 reassigned: Old cpu:0, New cpu:1

     On some platforms (such as X86) multiple MSI interrupts of a
     single  function need to be rerouted together.  Use -g to do
     this.  -g works only on supported platforms   and  only  for
     groups  of  MSI  interrupts.   (A "group" of 1 is accepted.)
     When -g is used, the vector provided  must  be  the  lowest-
     numbered  vector  of  the  group.   The size of the group is
     determined internally.

     Successful rerouting a group of inos starting at 60 from cpu
     0 to cpu 1 gives the following output:

       # pcitool /pci@0,0 -i ino=60 -w cpu=1 -g

       Interrupts on ino group starting at ino 60 reassigned: Old
     cpu:0, New cpu:1


     Verbose output.


     No errors reported as messages.   Unix  error  status  still
     returned by program, however.

     The following error statuses are returned to the shell:

     0                       No error

     EINVAL                  Out-of-range, misaligned  or  other-
                             wise   invalid   argument  has  been
                             passed in.

     ETIME                   Timeout waiting for  pending  inter-
                             rupt   to   settle  before  changing
                             interrupts to a new CPU.

     EIO                     An IO error occurred.


     See attributes(5) for descriptions of the  following  attri-

      | ATTRIBUTE TYPE       | ATTRIBUTE VALUE                  |
      | Architecture         | PCI-based systems                |
      | Availability         | SUNWio-tools                     |
      | Interface Stability  | Volatile                         |

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

     All values are entered in hex.

     Not all commands are applicable to all platforms.


     PCI specification (available from www.pcisig.org)

Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.