Move everything from /var/adm to /var/log
[unleashed.git] / share / man / man8 / cfgadm_pci.8
blobf4da8a011ec841d1bf3b95cbefc4ee66ad6e6a98
1 '\" te
2 .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH CFGADM_PCI 8 "April 9, 2016"
7 .SH NAME
8 cfgadm_pci \- PCI, CompactPCI, and PCI Express Hotplug hardware specific
9 commands for cfgadm
10 .SH SYNOPSIS
11 .LP
12 .nf
13 \fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR]
14      [\fB-o\fR \fIhardware_options\fR] \fB-c\fR \fIfunction\fR \fIap_id\fR [\fIap_id\fR]
15 .fi
17 .LP
18 .nf
19 \fB/usr/sbin/cfgadm\fR [\fB-f\fR] [\fB-y\fR | \fB-n\fR] [\fB-v\fR]
20      [\fB-o\fR \fIhardware_options\fR] \fB-x\fR \fIhardware_function\fR \fIap_id\fR
21      [\fIap_id\fR]
22 .fi
24 .LP
25 .nf
26 \fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-s\fR \fIlisting_options\fR]
27      [\fB-o\fR \fIhardware_options\fR] [\fB-l\fR [\fIap_id\fR | \fIap_type\fR]]
28 .fi
30 .LP
31 .nf
32 \fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIharware_options\fR] \fB-t\fR \fIap_id\fR [\fIap_id\fR]
33 .fi
35 .LP
36 .nf
37 \fB/usr/sbin/cfgadm\fR [\fB-v\fR] [\fB-o\fR \fIhardware_function\fR] \fB-h\fR
38      [\fIap_id\fR| \fIap_type\fR]
39 .fi
41 .SH DESCRIPTION
42 .LP
43 The PCI hardware specific library, \fB/usr/lib/cfgadm/pci.so.1\fR, provides the
44 support for hot plugging PCI, CompactPCI, and PCI Express adapter cards into
45 the respective hot pluggable slots in a system that is hot plug capable,
46 through the \fBcfgadm\fR command (see \fBcfgadm\fR(8)). Hot plug
47 administrative models between PCI, CompactPCI, and  PCI Express remain the same
48 except where noted in this document.
49 .sp
50 .LP
51 For PCI Hot Plug, each hot plug slot on a specific PCI bus is represented by an
52 attachment point of that specific PCI bus.
53 .sp
54 .LP
55 An attachment point consist of two parts: a receptacle and an occupant. The
56 \fBreceptacle\fR under PCI hot plug is usually referred to as the physical hot
57 pluggable slot; and the \fBoccupant\fR is usually referred to as the PCI
58 adapter card that plugs into the slot.
59 .sp
60 .LP
61 Attachment points are named through \fBap_id\fRs. There are two types of
62 \fBap_id\fRs: logical and physical. The physical \fBap_id\fR is based on the
63 physical pathname, that is, \fB/devices/pci@1/hpc0_slot3\fR, whereas the
64 logical \fBap_id\fR is a shorter, and more user-friendly name. For PCI hot
65 pluggable slots, the logical \fBap_id\fR is usually the corresponding hot plug
66 controller driver name plus the logical slot number, that is,
67 \fBpci0:hpc0slot1\fR; PCI nexus driver, with hot plug controller driver named
68 \fBhpc\fR and slot number \fB1\fR. The \fBap_type\fR for Hot plug PCI is
69 \fBpci\fR.
70 .sp
71 .LP
72 Note that the \fBap_type\fR is not the same as the information in the
73 \fBType\fR field.
74 .sp
75 .LP
76 See the \fI\fR for a detailed description of the hot plug procedure.
77 .SS "PCI Express ap_id naming"
78 .LP
79 For attachment points located in a PCI Express hierarchy (that is, the parent
80 or an ancestor is a PCI Express device), including attachment points which are
81 not PCI Express devices themselves, the following naming scheme is used:
82 .sp
83 .in +2
84 .nf
85 Grammar:
86    APID : absolute-slot-path
88    absolute-slot-path : \fIslot-path\fR[\fI:slot-path\fR[\fI:slotpath\fR ...]]
90    slot-path : [\fIfru-id\fR.]\fIslot-id\fR
91            where \fIfru-id\fR indicates the chassis FRU, if any,
92            containing the \fIslot-id\fR
94    fru-id : \fIfru-type\fR[\fIserialid#\fR]
95            where \fIfru-type\fR is "iob" for PCI Express expansion
96            chassis, followed by its serial number \fIserialid#\fR,
97            if available
99     slot-id: \fIslot-name\fR | \fIdevice-type\fR \fIphysical-slot#\fR |\e
100             \fInexus-driver-name\fR \fInexus-driver-instance\fR.\e
101             \fIdevice-type\fR \fIpci-device-number\fR
103 .in -2
108 where \fIslot-name\fR is a name assigned by the platform or hardware itself;
109 \fIdevice-type\fR is either "pcie"for PCI Express devices or "pci" for PCI
110 devices; \fInexus-driver-name\fR is the driver name for the device component;
111 \fIphysical-slot#\fR is the hardware slot number; and \fIpci-device-number\fR
112 is the PCI device number in standard PCI nomenclature.
115 First, an \fIabsolute-slot-path\fR is constructed that attempts to describe the
116 attachment point's topological location in more physically identifiable terms
117 for the user . This \fIabsolute-slot-path\fR consists of \fIslot-path\fR
118 components each separated by a ":" (colon). The leaf or left-most
119 \fIslot-path\fR component describes the device of the attachment point itself
120 while its right adjacent \fIslot-path\fR component up to the right or top-most
121 \fIslot-path\fR component describes the parent up to the root devices,
122 respectively.
125 Each \fIslot-path\fR consists of a \fIslot-id\fR optionally preceded by an
126 \fIfru-id\fR, which indicates an expansion chassis containing the device
127 described by \fIslot-id\fR (detailed below). \fIfru-id\fR consists of
128 \fIfru-type\fR followed by an optional \fIserialid#\fR. \fIfru-type\fR is "iob"
129 for PCI Express expansion chassis types, while \fIserialid#\fR is either a
130 64-bit hexadecimal number indicating a raw serial number obtained from the
131 expansion chassis hardware, or a 4 upper-case ASCII character sequence for Sun
132 branded expansion chassis.
135 Each \fIslot-id\fR consists of one of three possible forms:
137 .ne 2
139 \fBslot-id form (1)\fR
141 .sp .6
142 .RS 4n
143 \fIslot-names\fR
147 .ne 2
149 \fBslot-id form (2)\fR
151 .sp .6
152 .RS 4n
153 \fIdevice-type\fR \fIphysical-slot#\fR
157 .ne 2
159 \fBslot-id form (3)\fR
161 .sp .6
162 .RS 4n
163 \fInexus-driver-name\fR \fInexus-driver-instance\fR. \fIdevice-type\fR
164 \fIpci-device-number\fR
169 The precedence of which form to select flows from the lowest form number to the
170 highest form number, or from top to bottowm as described above. If a form
171 cannot be successfully constructed, then the next numerically higher form is
172 attempted.
175 The \fIslot-names\fR in "slot-id form (1)" is taken from the "slot-names"
176 property of the corresponding node in the device tree and is a name assigned by
177 hardware or the platform. This format is not predefined or established.
180 In "slot-id form (2)", \fIdevice-type\fR indicates the device type of the
181 component's slot, and is either "pcie" for PCI Express or "pci" for PCI, while
182 \fIphysical-slot#\fR, take from the "physical-slot#" property of its
183 corresponding device node, indicates the hardware slot number of the component.
186 "slot-id form (3)" is used when all other forms cannot successfully be
187 constructed, and is considered to be the default form. \fInexus-driver-name\fR
188 is the component's driver name; \fInexus-driver-instance\fR is such driver's
189 instance; \fIdevice-type\fR is the same as described in form (2);
190 \fIpci-device-type\fR is the PCI device number as described and used for device
191 configuration cycles in standard PCI nomenclature.
194 In summary of the \fIslot-path\fR component, expanding the optional FRU
195 component that may precede it, \fIslot-path\fR will consist one of the
196 following forms in order:
198 .in +2
200 (1) [ iob[serialid#]. ] slot-names
201 (2) [ iob[serialid#]. ] device_type physical_slot#
202 (2) [ iob[serialid#]. ]
203           nexus-driver-name nexus-driver-instance.
204           device_type pci-device-number
206 .in -2
211 Lastly, the final form of the actual \fIap_id\fR name used in \fBcfgadm\fR is
212 decided as follows, specified in order of precedence:
214 .ne 2
216 \fBap_id form (1)\fR
218 .sp .6
219 .RS 4n
220 if the \fIabsolute-slot-path\fR can fit within the fixed length limit of
221 \fBcfgadm\fR's \fIap_id\fR field, then \fIabsolute-slot-path\fR itself is used
225 .ne 2
227 \fBap_id form (2)\fR
229 .sp .6
230 .RS 4n
231 (\fIabsolute-slot-path\fR exceeds the \fIap_id\fR length limit) if the last
232 \fIslot_path\fR component is contained within an expansion chassis, and it
233 contains a \fIserialid#\fR, then the last \fIslot_path\fR component is used.
234 The requirement for a \fIserialid#\fR in this form is to ensure a globally
235 unique \fIap_id\fR.
239 .ne 2
241 \fBap_id form (3)\fR
243 .sp .6
244 .RS 4n
245 (\fIabsolute-slot-path\fR exceeds the \fIap_id\fR length limit) the default
246 form, "slot-id form (3)", of the last \fIslot_path\fR component is used
251 Whichever final \fIap_id\fR name is used, the \fIabsolute-slot-path\fR is
252 stored in the Information ("info") field which can be displayed using the
253 \fB-s\fR or \fB-v\fRoptions. This information can be used to physically locate
254 any \fIap_id\fRs named using "ap_id form (2)" or "ap_id form (3)". The
255 \fIabsolute-slot-path\fR is transformed slightly when stored in the information
256 field, by the replacement of a colon (":") with forward slashes ("/") to more
257 closely denote a topological context. The \fIabsolute-slot-path\fR can include
258 \fIslot-path\fR components that are not hotpluggable above the leaf or
259 right-most \fIslot-path\fR component up to the onboard host slot.
262 See the EXAMPLES section for a list of hotpluggable examples.
263 .SH OPTIONS
265 The following options are supported:
267 .ne 2
269 \fB\fB-c\fR \fIfunction\fR\fR
271 .sp .6
272 .RS 4n
273 The following \fIfunction\fRs are supported for PCI hot pluggable slots:
275 .ne 2
277 \fBconfigure\fR
279 .sp .6
280 .RS 4n
281 Configure the PCI device in the slot to be used by Solaris.
285 .ne 2
287 \fBconnect\fR
289 .sp .6
290 .RS 4n
291 Connect the slot to PCI bus.
295 .ne 2
297 \fBdisconnect\fR
299 .sp .6
300 .RS 4n
301 Disconnect the slot from the PCI bus.
305 .ne 2
307 \fBinsert\fR
309 .sp .6
310 .RS 4n
311 Not supported.
315 .ne 2
317 \fBremove\fR
319 .sp .6
320 .RS 4n
321 Not supported.
325 .ne 2
327 \fBunconfigure\fR
329 .sp .6
330 .RS 4n
331 Logically remove the PCI device's resources from the system.
337 .ne 2
339 \fB\fB-f\fR\fR
341 .sp .6
342 .RS 4n
343 Not supported.
347 .ne 2
349 \fB\fB-h\fR \fIap_id\fR | \fIap_type\fR\fR
351 .sp .6
352 .RS 4n
353 Print out PCI hot plug specific help message.
357 .ne 2
359 \fB\fB-l\fR \fIlist\fR\fR
361 .sp .6
362 .RS 4n
363 List the values of PCI Hot Plug slots.
367 .ne 2
369 \fB\fB-o\fR \fIhardware_options\fR\fR
371 .sp .6
372 .RS 4n
373 No hardware specific options are currently defined.
377 .ne 2
379 \fB\fB-s\fR \fIlisting_options\fR\fR
381 .sp .6
382 .RS 4n
383 Same as the generic \fBcfgadm\fR(8).
387 .ne 2
389 \fB\fB-t\fR \fIap_id\fR\fR
391 .sp .6
392 .RS 4n
393 This command is only supported on platforms which support testing capability on
394 the slot.
398 .ne 2
400 \fB\fB-v\fR\fR
402 .sp .6
403 .RS 4n
404 Execute in verbose mode.
406 When the \fB-v\fR option is used with the \fB-l\fR option, the \fBcfgadm\fR
407 command outputs information about the attachment point. For attachment points
408 located in a PCI Express hierarhcy, the Information field will contain the
409 attachment point's absolute slot path location, including any hardware or
410 platform specific labeling information for each component in the slot path.
411 Each component in the slot path will be separated by a "/" (forward slash). See
412 the PCI Express ap_id naming section. For PCI Hot Plug attachment points not
413 located in a PCI Express hieararchy, the \fBInformation\fR field will be the
414 slot's system label, if any. This string will be obtained from the
415 \fBslot-name\fR property of the slot's bus node. The information in the Type
416 field is printed with or without the \fB-v\fR option. The occupant \fBType\fR
417 field will describe the contents of the slot. There are 2 possible values:
419 .ne 2
421 \fBunknown\fR
423 .sp .6
424 .RS 4n
425 The slot is empty. If a card is in the slot, the card is not configured or
426 there is no driver for the device on the card.
430 .ne 2
432 \fB\fIsubclass\fR/\fIboard\fR\fR
434 .sp .6
435 .RS 4n
436 The card in the slot is either a single-function or multi-function device.
438 \fIsubclass\fR is a string representing the subclass code of the device, for
439 example, SCSI, \fBethernet\fR, \fBpci-isa\fR, and so forth. If the card is a
440 multi-functional device, \fBMULT\fR will get printed instead.
442 \fIboard\fR is a string representing the board type of the device. For example,
443 hp is the string used for a PCI Hot Plug adapter, hs is used for a Hot Swap
444 Board, nhs for a Non\(emHot Swap cPCI Board,  bhs for a Basic Hot Swap cPCI
445 Board, and fhs for a Full Hot Swap cPCI Board.
447 Most PCI cards with more than one device are not multi-function devices, but
448 are implemented as a PCI bridge with arbitrary devices behind them. In those
449 cases, the subclass displayed is that of the PCI bridge. Most commonly, the
450 bridges are \fBpci-pci,\fR a generic PCI to PCI bridge or \fBstpci\fR, a
451 semi-transparent PCI bridge.
457 .ne 2
459 \fB\fB-x\fR \fIhardware_function\fR\fR
461 .sp .6
462 .RS 4n
463 Perform hardware specific function. These hardware specific functions should
464 not normally change the state of a receptacle or occupant.
466 The following \fIhardware_functions\fR are supported:
468 .ne 2
470 \fBenable_slot | disable_slot\fR
472 .sp .6
473 .RS 4n
474 Change the state of the slot and preserve the state of slot across reboot.
475 Preservation of state across reboot is only supported on select platforms.
477 \fBenable_slot\fR enables the addition of hardware to this slot for hot
478 plugging and at boot time.
480 \fBdisable_slot\fR disables the addition of hardware to this slot for hot
481 plugging and at boot time. When a slot is disabled its condition is shown as
482 unusable.
486 .ne 2
488 \fBenable_autoconfig | disable_autoconfig\fR
490 .sp .6
491 .RS 4n
492 Change the ability to autoconfigure the occupant of the slot. Only platforms
493 that support auto configuration support this feature.
495 \fBenable_autoconfig\fR enables the ability to autoconfigure the slot.
497 \fBdiable_autoconfig\fR disables the ability to autoconfigure the slot.
499 Autoconfiguration is done through the attention button on the PCI Express
500 platforms and through the injector/ejector latch on the CompactPCI platforms.
501 When autoconfiguration is disabled, the attention button or latch mechanism
502 cannot be used to configure the occupant of the slot.
506 .ne 2
508 \fBled=[\fIled_sub_arg\fR],mode=[\fImode_sub_arg\fR]\fR
510 .sp .6
511 .RS 4n
512 Without sub-arguments, print a list of the current LED settings. With
513 sub-arguments, set the mode of a specific LED for a slot.
515 Specify \fIled_sub_arg\fR as \fBfault\fR, \fBpower\fR, \fBattn\fR, or
516 \fBactive\fR.
518 Specify \fImode_sub_arg\fR as \fBon\fR, \fBoff\fR or \fBblink\fR.
520 For PCI Express, only the power and attn LEDs are valid and only the state of
521 the \fBattn\fR LED can be changed.
523 Changing the state of the LED does not change the state of the receptacle or
524 occupant. Normally, the LEDs are controlled by the hot plug controller, no user
525 intervention is necessary. Use this command for testing purposes.
527 \fBCaution:\fR Changing the state of the LED can misrepresent the state of
528 occupant or receptacle.
530 The following command prints the values of LEDs:
532 .in +2
534 example#  \fBcfgadm -x led pci0:hpc0_slot1\fR
535 Ap_Id             Led
536 pci0:hpc0_slot1   power=on,fault=off,active=off,attn=off
538 .in -2
541 The following command turns on the Fault LED:
543 .in +2
545 example# \fBcfgadm -x led=fault,mode=on pci0:hpc0_slot1\fR
547 .in -2
550 The following command turns off the Power LED:
552 .in +2
554 example# \fBcfgadm -x led=power,mode=off pci0:hpc0_slot0\fR
556 .in -2
559 The following command sets the \fBactive\fR LED to blink to indicate the
560 location of the slot:
562 .in +2
564 example# \fBcfgadm -x led=active,mode=on pci0:hpc0_slot3\fR
566 .in -2
573 .SH EXAMPLES
575 \fBExample 1 \fRPrinting out the Value of Each Slot
578 The following command prints out the values of each slot:
581 .in +2
583 example# \fBcfgadm -l\fR
584 Ap_Id            Type         Receptacle   Occupant       Condition
585 c0               scsi-bus     connected    configured     unknown
586 c1               scsi-bus     connected    unconfigured   unknown
587 c2               scsi-bus     connected    unconfigured   unknown
588 cpci_slot1       stpci/fhs    connected    configured     ok
589 cpci_slot2       unknown      empty        unconfigured   unknown
590 cpci_slot4       stpci/fhs    connected    configured     ok
591 cpci_slot5       stpci/fhs    connected    configured     ok
592 pcie7            etherne/hp   connected    configured     ok
593 pcie8            unknown      empty        unconfigured   unknown
594 pcie9            fibre/hp     connected    configured     ok
596 .in -2
600 \fBExample 2 \fRReplacing a Card
603 The following command lists all DR-capable attachment points:
606 .in +2
608 example# \fBcfgadm\fR
611 Type             Receptacle   Occupant     Condition
612 c0               scsi-bus     connected    configured     unknown
613 c1               scsi-bus     connected    unconfigured   unknown
614 c2               scsi-bus     connected    unconfigured   unknown
615 cpci_slot1       stpci/fhs    connected    configured     ok
616 cpci_slot2       unknown      empty        unconfigured   unknown
617 cpci_slot4       stpci/fhs    connected    configured     ok
618 cpci_slot5       stpci/fhs    connected    configured     ok
619 pcie7            etherne/hp   connected    configured     ok
620 pcie8            unknown      empty        unconfigured   unknown
621 pcie9            fibre/hp     connected    configured     ok
623 .in -2
628 The following command unconfigures and electrically disconnects the card:
631 .in +2
633 example# \fBcfgadm -c disconnect cpci_slot4\fR
635 .in -2
640 The change can be verified by entering the following command:
643 .in +2
645 example# \fBcfgadm cpci_slot4\fR
648 Ap_Id                   Type         Receptacle   Occupant     Condition
649 cpci_slot4              unknown      disconnected unconfigured unknown
651 .in -2
656 Now the card can be swapped. The following command electrically connects and
657 configures the card:
660 .in +2
662 example# \fBcfgadm -c configure cpci_slot4\fR
664 .in -2
669 The change can be verified by entering the following command:
672 .in +2
674 example# \fBcfgadm cpci_slot4\fR
677 Ap_Id                   Type         Receptacle   Occupant     Condition
678 cpci_slot4              stpcipci/fhs connected    configured   ok
680 .in -2
684 \fBExample 3 \fRInterpreting ApIds for devices in a PCI Express topology
687 The following command shows a listing for a topology with both PCI Express and
688 PCI attachment points in I/O expansion chassis connected to hotpluggable slots
689 at the host level:
692 .in +2
694 example# \fBcfgadm -s cols=ap_id:info\fR
697 Ap_Id                          Information
698 iou#0-pci#0                    Location: iou#0-pci#0
699 iou#0-pci#1                    Location: iou#0-pci#1
700 iou#0-pci#1:iob.pci3           Location: iou#0-pci#1/iob.pci3
701 iou#0-pci#1:iob.pci4           Location: iou#0-pci#1/iob.pci4
702 iou#0-pci#2                    Location: iou#0-pci#2
703 iou#0-pci#2:iob58071.pcie1     Location: iou#0-pci#2/iob58071.pcie1
704 iou#0-pci#2:iob58071.special   Location: iou#0-pci#2/iob58071.special
705 iou#0-pci#3                    Location: iou#0-pci#3
706 iou#0-pci#3:iobBADF.pcie1      Location: iou#0-pci#3/iobBADF.pcie1
707 iou#0-pci#3:iobBADF.pcie2      Location: iou#0-pci#3/iobBADF.pcie2
708 iou#0-pci#3:iobBADF.pcie3      Location: iou#0-pci#3/iobBADF.pcie3
709 iou#0-pci#3:iobBADF.pci1       Location: iou#0-pci#3/iobBADF.pci1
710 iou#0-pci#3:iobBADF.pci2       Location: iou#0-pci#3/iobBADF.pci2
712 .in -2
717 In this example, the "iou#0-pci#[0-3]" represents the top-most hotpluggable
718 slots in the system. Since the "iou#<n>-pci#<n>" form does not match any of the
719 forms stated in the grammar specification section described earilier, we can
720 infer that such a name for the base component in this hotplug topology is
721 derived from the platform through the "slot-names" property.
724 .ne 2
726 \fBSlot iou#0-pci#0\fR
728 .sp .6
729 .RS 4n
730 this slot is empty or its occupant is unconfigured
734 .ne 2
736 \fBSlot iou#0-pci#1\fR
738 .sp .6
739 .RS 4n
740 this slot contains an expansion chassis with two hotpluggable slots, "pci3" and
741 "pci4". "pci3" and "pci4" represent two PCI slots contained within that
742 expansion chassis with physical slot numbers 3 and 4 respectively. The
743 expansion chassis in this case does not have or exports a \fIserial-id\fR.
747 .ne 2
749 \fBSlot iou#0-pci#2\fR
751 .sp .6
752 .RS 4n
753 this slot contains a third party expansion chassis with a hexadecimal
754 \fIserial-id\fR of 58071. Within that expansion chassis are two hotpluggable
755 slots, "pcie1" and "special". "pcie1" represents a PCI Express slot with
756 physical slot number 1. The slot "special" has a label which is derived from
757 the platform, hardware or firmware.
761 .ne 2
763 \fBSlot iou#0-pci#3\fR
765 .sp .6
766 .RS 4n
767 this slot contains a Sun expansion chassis with an FRU identifier of "BADF".
768 This expansion chassis contains three PCI Express slots, "pcie1", "pcie2", and
769 "pcie3" with physical slot numbers 1, 2, and 3 respectively; and two PCI slots,
770 "pci1" and "pci2" with physical slot numbers 1 and 2, respectively.
775 The following command shows a listing for a topology with both PCI Express and
776 PCI attachment points in I/O expansion chassis connected hotpluggable and
777 non-hotpluggable host slots:
780 .in +2
782 example# \fBcfgadm -s cols=ap_id:info\fR
785 Ap_Id                          Information
786 Slot1                          Location: Slot1
787 Slot2:iob4ffa56.pcie1          Location: Slot2/iob4ffa56.pcie1
788 Slot2:iob4ffa56.pcie2          Location: Slot2/iob4ffa56.pcie2
789 Slot5:iob3901.pci1             Location: Slot2/iob3901.pci1
790 Slot5:iob3901.pci2             Location: Slot2/iob3901.pci2
792 .in -2
797 In this example, the host system only has one hotpluggable slot, "Slot1". We
798 can infer that "Slot2" and "Slot5" are not hotpluggable slots because they do
799 not appear as attachment points themselves in \fBcfgadm\fR. However, "Slot2"
800 and "Slot5" each contains a third party expansion chassis with hotpluggable
801 slots.
805 The following command shows a listing for a topology with attachment points
806 that are lacking in certain device properties:
809 .in +2
811 example# \fBcfgadm -s cols=ap_id:info\fR
813 Ap_Id                          Information
814 px_pci7.pcie0                  Location: px_pci7.pcie0
815 px_pci11.pcie0                 Location: px_pci11.pcie0
816 px_pci11.pcie0:iob.pcie1       Location: px_pci11.pcie0/iob.pcie1
817 px_pci11.pcie0:iob.pcie2       Location: px_pci11.pcie0/iob.pcie2
818 px_pci11.pcie0:iob.pcie3       Location: px_pci11.pcie0/iob.pcie3
820 .in -2
825 In this example, the host system contains two hotpluggable slots,
826 "px_pci7.pcie0" and "px_pci11.pcie0". In this case, it uses "slot-id form (3)"
827 ( the default form) for the base \fIslot-path\fR component in the
828 \fIabsolute-slot-path\fR because the framework could not obtain enough
829 information to produce other more descriptive forms of higher precedence.
833 Interpreting right-to-left, attachment point "px_pci7.pcie0" represents a PCI
834 Express slot with PCI device number 0 (which does not imply a physical slot
835 number of the same), bound to nexus driver "px_pci", instance 7. Likewise,
836 attachment point "px_pci11.pcie0" represents a PCI Express slot with PCI device
837 number 0 bound to driver instance 11 of px_pci.
841 Under "px_pci11.pcie0" is a third party expansion chassis without a
842 \fIserial-id\fR and with three hotpluggable PCI Express slots.
846 The following command shows a listing for a topology with attachment point
847 paths exceeding the \fIApId\fR field length limit:
850 .in +2
852 example# \fBcfgadm -s cols=ap_id:info\fR
854 Ap_Id                          Information
855 pcie4                          Location: pcie4
856 pcie4:iobSUNW.pcie1            Location: pcie4/iobSUNW.pcie1
857 pcie4:iobSUNW.pcie2            Location: pcie4/iobSUNW.pcie2
858 iob8879c3f3.pci1
859                    Location: pcie4/iobSUNW.pcie2/iob8879c3f3.pci1
860 iob8879c3f3.pci2
861                    Location: pcie4/iobSUNW.pcie2/iob8879c3f3.pci2
862 iob8879c3f3.pci3
863                    Location: pcie4/iobSUNW.pcie2/iob8879c3f3.pci3
865 .in -2
870 In this example, there is only one hotpluggable slot, "pcie4" in the host.
871 Connected under "pcie4" is a SUN expansion chassis with FRU identifier "SUNW".
872 Nested under PCI Express slot "pcie2" of that expansion chassis (ApId
873 pcie4:iobSUNW.pcie2) lies another expansion chassis with three hotpluggable PCI
874 slots.
878 Because the length of the \fIabsolute-slot-path\fR form of
879 "pcie4/iobSUNW.pcie2/iob8879c3f3.pci1...3" exceeds the \fIApId\fR field length
880 limit, and the leaf \fIslot-path\fR component is globally unique, "ap_id form
881 (2)" is used, where the leaf \fIslot-path\fR component in the
882 \fIabsolute-slot-path\fR is used as the final \fIApId\fR.
886 The following command shows a listing for a topology with attachment point
887 paths exceeding the \fIApId\fR field length limit and lacking enough
888 information to uniquely identify the leaf \fIslot-id\fR on its own (for
889 instance, missing the \fIserial-id\fR):
892 .in +2
894 example# \fBcfgadm -s cols=ap_id:info\fR
897 Ap_Id                          Information
898 pcie4                          Location: pcie4
899 pcie4:iob4567812345678.pcie3   Location: pcie4/iob4567812345678.pcie3
900 px_pci20.pcie0
901                    Location: pcie4/iob4567812345678.pcie3/iob.pcie1
902 px_pci21.pcie0
903                    Location: pcie4/iob4567812345678.pcie3/iob.pcie2
905 .in -2
910 In this example, there is only one hotpluggable slot, "pcie4" in the host.
911 Connected under "pcie4" is a third party expansion chassis with hexadecimal
912 \fIserial-id\fR 4567812345678. Nested under the PCI Express slot "pcie3" of
913 that expansion chassis (ApId pcie4:iob4567812345678.pcie3), lies another third
914 part expansion chassis without a \fIserial-id\fR and with two hotpluggable PCI
915 Express slots.
919 Because the length of the \fIabsolute-slot-path\fR form of
920 "pcie4/iob4567812345678.pcie3/iob.pcie1...2" exceeds the \fIApId\fR field
921 length limit, and the leaf \fIslot-path\fR component is not globally unique,
922 "ap_id form (3)" is used. "ap_id form (2)" is where \fIslot-id\fR form (3)
923 (default form) of the leaf \fIslot-path\fR component in the
924 \fIabsolute-slot-path\fR is used as the final \fIApId\fR.
928 The default form or "slot-id form (3)" of the leaf component
929 ".../iob.pcie1"represents a PCI Express slot with device number 0, bound to
930 driver instance 20 of "px_pci". Likewise, the default form of the leaf
931 component ".../iob.pcie2" represents a  PCI Express slot with device number 0,
932 bound to driver instance 21 of "px_pci"
934 .SH FILES
935 .ne 2
937 \fB/usr/lib/cfgadm/pci.so.1\fR
939 .sp .6
940 .RS 4n
941 Hardware specific library for PCI hot plugging.
944 .SH SEE ALSO
946 \fBcfgadm\fR(8), \fBconfig_admin\fR(3CFGADM), \fBlibcfgadm\fR(3LIB),
947 \fBattributes\fR(5)
950 \fI\fR