Managing Direct I/O Devices on Non-primary Root Domains

The following example shows how to manage direct I/O devices on non-primary root domains.

The following command produces an error because it attempts to remove a slot from the root domain while it is still active:

primary# ldm remove-io /SYS/MB/PCIE7 ldg1
Dynamic I/O operations on PCIe slots are not supported.
Use start-reconf command to trigger delayed reconfiguration and make I/O
changes statically.

The following command shows the correct method of removing a slot by first initiating a delayed reconfiguration on the root domain.

primary# ldm start-reconf ldg1
Initiating a delayed reconfiguration operation on the ldg1 domain.
All configuration changes for other domains are disabled until the ldg1
domain reboots, at which time the new configuration for the ldg1 domain
will also take effect.
primary# ldm remove-io /SYS/MB/PCIE7 ldg1
------------------------------------------------------------------------------
Notice: The ldg1 domain is in the process of a delayed reconfiguration.
Any changes made to the ldg1 domain will only take effect after it reboots.
------------------------------------------------------------------------------
primary# ldm stop-domain -r ldg1

The following ldm list-io command verifies that the /SYS/MB/PCIE7 slot is no longer on the root domain.

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN   STATUS   
----                                      ----   ---      ------   ------   
/SYS/PM0/CMP0/PXE                         BUS    pci_0    primary
/SYS/PM0/CMP1/PXE                         BUS    pci_1    primary
/SYS/PM0/CMP0/NIU_CORE                    NIU    niu_0    primary
/SYS/PM0/CMP1/NIU_CORE                    NIU    niu_1    primary
/SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP      
/SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP      
/SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC      
/SYS/MB/NET0                              PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE1                             PCIE   pci_1    ldg1     OCC      
/SYS/MB/PCIE3                             PCIE   pci_1    ldg1     OCC      
/SYS/MB/PCIE5                             PCIE   pci_1    ldg1     OCC      
/SYS/MB/PCIE7                             PCIE   pci_1             OCC
/SYS/MB/PCIE9                             PCIE   pci_1    ldg1     EMP      
/SYS/MB/NET2                              PCIE   pci_1    ldg1     OCC      
/SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary           
/SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary           
/SYS/MB/PCIE5/IOVNET.PF0                  PF     pci_1    ldg1              
/SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    ldg1              
/SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    ldg1              
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    ldg1

The following commands assign the /SYS/MB/PCIE7 slot to the ldg2 domain. The ldm start-domain command starts the ldg2 domain.

primary# ldm add-io /SYS/MB/PCIE7 ldg2
primary# ldm start-domain ldg2
LDom ldg2 started