The following steps help you avoid misconfiguring the PCIe endpoint assignments. For platform-specific information about installing and removing specific hardware, see the documentation for your platform.
No action is required if you are installing a PCIe card into an empty slot. This PCIe card is automatically owned by the domain that owns the PCIe bus.
To assign the new PCIe card to an I/O domain, use the ldm remove-io command to first remove the card from the root domain. Then, use the ldm add-io command to assign the card to an I/O domain.
No action is required if a PCIe card is removed from the system and assigned to the root domain.
To remove a PCIe card that is assigned to an I/O domain, first remove the device from the I/O domain. Then, add the device to the root domain before you physically remove the device from the system.
To replace a PCIe card that is assigned to an I/O domain, verify that the new card is supported by the DIO feature.
If so, no action is required to automatically assign the new card to the current I/O domain.
If not, first remove that PCIe card from the I/O domain by using the ldm remove-io command. Next, use the ldm add-io command to reassign that PCIe card to the root domain. Then, physically replace the PCIe card you assigned to the root domain with a different PCIe card. These steps enable you to avoid a configuration that is unsupported by the DIO feature.
While you remove or replace a PCIe card from a system that runs the Oracle VM Server for SPARC software, the domains that depend on this hardware are unavailable. To minimize such guest domain outages, you must prepare your system to use the hotplug capabilities to physically remove the card.
This procedure enables you to avoid an outage to a guest domain that does not have direct I/O or SR-IOV device assigned to it and that has multiple paths configured. Note that this procedure requires two reboots of the primary domain.
primary# ldm stop domain-name
primary# ldm remove-io PCIe-slot domain-name
primary# ldm stop domain-name
primary# ldm start-reconf primary
primary# ldm add-io PCIe-slot domain-name
primary# shutdown -i6 -g0 -y
For information about Oracle Solaris OS hotplug capabilities, see Chapter 2, Dynamically Configuring Devices in Managing Devices in Oracle Solaris 11.3.
primary# ldm start-reconf primary
primary# ldm remove-io PCIe-slot domain-name
primary# shutdown -i6 -g0 -y
primary# ldm add-io PCIe-slot domain-name
primary# ldm start-domain domain-name