Skip to main content

3.3.2 How to Check Whether PCI Hot Plug (PHP) Can be Used


3.3.2 How to Check Whether PCI Hot Plug (PHP) Can be Used
Using PHP, maintenance for the PCIe card mounted on the PCI expansion unit or the link card mounted on the server can be performed during Oracle Solaris operation.
This section enables you to check whether the PCIe card or link card requiring maintenance can use PHP.
Note - Some PCIe cards do not support PHP. For details, see "Appendix B Cards That Support PCI Hot Plug and Dynamic Reconfiguration" in the Fujitsu SPARC M12 PCI Card Installation Guide or "Appendix A Cards That Support PCI Hot Plug and Dynamic Reconfiguration" in the Fujitsu M10/SPARC M10 Systems PCI Card Installation Guide.
Note - If the setting of the direct I/O function is enabled, the link card cannot use PHP.
The following is an example for the SPARC M10.
  1. Log in to the XSCF shell.
  2. Execute the showlogs command to identify the PCIe card requiring maintenance.
XSCF> showlogs error
  1. For details, see "Checking Log Information."
  2. Check the hardware and software configurations.
    For details, see "Confirming the System Configuration" in the Service Manual for your server.
  3. Execute the ldm list-io -l command to check the logical domain to which the PCIe card requiring maintenance is assigned and the logical domain to which the PCIe root complex to which that PCIe card belongs is assigned.
# ldm list-io -l
NAME TYPE BUS DOMAIN STATUS
---- ---- --- ------ ------

PCIE0 BUS PCIE0 primary
[pci@8000]
PCIE1 BUS PCIE1 primary  <--(*1)
[pci@8100]
PCIE2 BUS PCIE2 primary IOV <--(*2)
[pci@8200]
PCIE3 BUS PCIE3 rootdom <--(*3)
[pci@8300]
PCIE4 BUS PCIE4 primary
[pci@8400]
PCIE5 BUS PCIE5 primary IOV
[pci@8500]
PCIE6 BUS PCIE6 rootdom IOV <--(*4)
[pci@8600]
PCIE7 BUS PCIE7 primary IOV
[pci@8700]
/BB0/CMUL/NET0 PCIE PCIE0 primary OCC
[pci@8000/pci@4/pci@0/pci@9]
network@0
network@0,1
/BB0/CMUL/SASHBA PCIE PCIE0 primary OCC
[pci@8000/pci@4/pci@0/pci@0]
scsi@0/iport@f/disk@w50000393a82368b2,0
scsi@0/iport@f/smp@w500000e0e06d03bf
scsi@0/iport@f/enclosure@w500000e0e06d03bd,0
scsi@0/iport@v0
/BB0/PCI0 PCIE PCIE1 primary OCC <--(*5)
[pci@8100/pci@4/pci@0/pci@0]
/BB0/PCI3 PCIE PCIE2 primary EMP
[pci@8200/pci@4/pci@0/pci@0]
/BB0/PCI4 PCIE PCIE2 iodom1 OCC <--(*6)
[pci@8200/pci@4/pci@0/pci@8]
/BB0/PCI7 PCIE PCIE3 rootdom EMP
[pci@8300/pci@4/pci@0/pci@0]
/BB0/PCI8 PCIE PCIE3 rootdom EMP <--(*7)
[pci@8300/pci@4/pci@0/pci@8]
/BB0/CMUL/NET2 PCIE PCIE4 primary OCC
[pci@8400/pci@4/pci@0/pci@a]
network@0
network@0,1
/BB0/PCI1 PCIE PCIE5 rootdom EMP
[pci@8500/pci@4/pci@0/pci@8]
/BB0/PCI2 PCIE PCIE5 rootdom OCC
[pci@8500/pci@4/pci@0/pci@9]
/BB0/PCI5 PCIE PCIE6 iodom2 OCC <--(*8)
[pci@8600/pci@4/pci@0/pci@9]
/BB0/PCI6 PCIE PCIE6 rootdom OCC
[pci@8600/pci@4/pci@0/pci@11]
/BB0/PCI9 PCIE PCIE7 primary OCC
[pci@8700/pci@4/pci@0/pci@9]
/BB0/PCI10 PCIE PCIE7 primary OCC
[pci@8700/pci@4/pci@0/pci@11]
  1. - Logical domain to which the PCIe card is assigned
    The name indicated in [DOMAIN] of the slot (line where [NAME] indicates "/BBX/PCIx") of the PCIe card requiring maintenance indicates the logical domain to which that PCIe card is assigned. (*5 to *8 in the execution example)
    *5 Assignment of both /BB0/PCI0 and PCIE1 to primary
    *6 Assignment of /BB0/PCI4 to iodom1 and PCIE2 to primary
    *7 Assignment of both /BB0/PCI8 and PCIE3 to rootdom
    *8 Assignment of /BB0/PCI5 to iodom2 and PCIE6 to rootdom

    - Logical domain to which the PCIe root complex to which the PCIe card belongs is assigned
    Name "PCIEx" indicated in [BUS] in the line confirmed above indicates the name of the PCIe root complex to which the PCIe card belongs. The name indicated in [DOMAIN] of the same PCIe root complex (line where [NAME] indicates "PCIEx") indicates the logical domain to which the PCIe root complex to which the PCIe card belongs is assigned. (*1 to *4 in the execution example)
    *1 Assignment of PCIE1 to primary
    *2 Assignment of PCIE2 to primary
    *3 Assignment of PCIE3 to rootdom
    *4 Assignment of PCIE6 to rootdom
  1. Based on the check results in step 4, determine whether PHP can be used, according to the combination of above two pieces of information.
  1. Suppose that the logical domains to which the PCIe slot and PCIe root complex are assigned are both control domains (primary). Active/Hot maintenance can be performed using PHP from the control domains. (See *5 in the execution example of the ldm list-io -l command)
  2. Suppose that the logical domains to which the PCIe slot and PCIe root complex are assigned are not control domains and are the same logical domains (root domains). Active/Hot maintenance can be performed using PHP from the root domain. (See *7 in the execution example of the ldm list-io -l command)
  3. Other than the above (when the assignment to the I/O domain is made using direct I/O), active/hot maintenance can be performed using PHP after the PCIe slot is returned from the I/O domain to the control domain or root, using the dynamic reconfiguration function for PCIe end point devices. (See *6 and *8 in the execution example of the ldm list-io -l command)
    However, this is supported only by Oracle VM Server for SPARC 3.1.1.1 or later.