cfgadm_sysctrl - EXX00 system board administration


/usr/sbin/cfgadm -c function [-f]
[-o disable-at-boot | enable-at-boot] [-n | -y] sysctrl0:slot# ...

/usr/sbin/cfgadm -x quiesce-test sysctrl0:slot#

/usr/sbin/cfgadm -x insert-test | remove-test sysctrl0:slot# ...

/usr/sbin/cfgadm -x set-condition-test=# sysctrl0:slot# ...

/usr/sbin/cfgadm [-l]
-o disable-at-boot | enable-at-boot sysctrl0:slot# ...


The sysctrl hardware specific library
/usr/platform/sun4u/lib/cfgadm/ provides dynamic
reconfiguration functionality for configuring and disconnecting system
boards on E6X00, E5X00, E4X00, and E3X00 systems. You can insert both I/O
and CPU boards into a slot on a running system that is configured for
Solaris without rebooting. You can also disconnect and remove both types
of boards from a running system without rebooting.

System slots appear as attachment points in the device tree, one
attachment point for each actual slot in the system chassis. If a board
is not in a slot, the receptacle state is empty. If a board is powered-
off and ready to remove, the receptacle state is disconnected. If a board
is powered-on and is connected to the system bus, the receptacle state is

The occupant state is unconfigured when the receptacle state is empty or
disconnected. The occupant state is either unconfigured or configured
when the receptacle state is connected.

In the configured state the devices on a board are available for use by
Solaris. In the unconfigured state, the devices on the board are not.

Inserting a board changes the receptacle state from empty to
disconnected. Removing a board changes the receptacle state from
disconnected to empty. Removing a board that is in the connected state
crashes the operating system and can result in permanent damage to the


Refer to cfgadm(1M) for a more complete description options.

The following options are supported:

-c function

Perform the state change function. Specify function as connect,
disconnect, configure or unconfigure.

Change the occupant state to configure.

If the receptacle state is disconnected, the configure
function first attempts to connect the receptacle. The
configure function walks the OBP device tree created
as part of the connect function and creates the
Solaris device tree nodes, attaching devices as
required. For CPU/Memory boards, configure adds CPUs
to the CPU list in the powered-off state. These are
visible to the psrinfo(1M) and psradm(1M) commands.
Two memory attachment points are published for
CPU/memory boards. Use mount(1M) and ifconfig(1M) to
use I/O devices on the new board. To use CPUs, use
psradm -n to on-line the new processors. Use
cfgadm_ac(1M) to test and configure the memory banks.

Change the receptacle state to connected.

Changing the receptacle state requires that the system
bus be frozen while the bus signals are connected and
the board tested. The bus is frozen by running a
quiesce operation which stops all process activity and
suspends all drivers. Because the quiesce operation
and the subsequent resume can be time consuming, and
are not supported by all drivers, the -x quiesce-test
is provided. While the system bus is frozen, the board
being connected is tested by firmware. This operation
takes a short time for I/O boards and a significant
time for CPU/Memory boards due to CPU external cache
testing. This does not provide memory testing. The
user is prompted for confirmation before proceeding
with the quiesce. Use the -y or -n option to override
the prompt. The connect operation is refused if the
board is marked as disabled-at-boot, unless either the
force flag, -f, or the enable at boot flag, -o enable-
at-boot, is given. See -l.

Change the receptacle state to disconnected.

If the occupant state is configure, the disconnect
function first attempts to unconfigure the occupant.
The disconnect operation does not require a quiesce
operation and operates quickly. The board is powered-
off ready for removal.

Change the occupant state to unconfigureed.

Devices on the board are made invisible to Solaris
during this process. The I/O devices on an I/O board
are removed from the Solaris device tree. Any device
that is still in use stops the unconfigure process and
be reported as in use. The unconfigure operation must
be retried after the device is made non-busy. For
CPU/Memory boards, the memory must have been changed
to the unconfigured state prior to issuing the board
unconfigure operation. The CPUs on the board are off-
lined, powered off and removed from the Solaris CPU
list. CPUs that have processes bound to them cannot be
off-lined. See psradm(1M), psrinfo(1M), pbind(1M), and
p_online(2) for more information on off-lining CPUs.


Force a block on connecting a board marked as disabled-at-boot in
the non-volatile disabled-board-list variable. See Platform Notes:Sun
Enterprise 6x00/5x00/4x00/3x00 Systems


List options. Supported as described in cfgadm(1M)cfgadm(1M).

The type field can be one of cpu/mem, mem, dual-sbus, sbus-upa, dual-
pci, soc+sbus, soc+upa, disk or unknown.

The hardware-specific info field is set as follows: [disabled at
boot] [non-detachable] [100 MHz capable]

For sbus-upa and soc+upa type boards, the following additional
information appears first: [single buffered ffb|double buffered
ffb|no ffb installed] For disk type boards, the following additional
information appears first: {target: # | no disk} {target: # | no

-o disable-at-boot | enable-at-boot

Modify the state of the non--volatile disabled-board-list variable.
Use this the -o option in conjunction with the -c function or -l

Use -o enable-at-boot with the -c connect to override a block on
connecting a disabled-at-boot board.

-x insert-test | remove-test

Perform a test.

Specify remove-test to change the driver state for the specified
slot from disconnected to empty without the need for physically
removing the board during automated test sequences.

Specify insert-test to change the driver state of a slot made to
appear empty using the remove-test command to the disconnected state
as if it had been inserted.

-x quiesce-test sysctrl0:slot1

Perform a test.

Allows the quiesce operation required for board connect operations to
be exercised. The execution of this test confirms that, with the
current software and hardware configuration, it is possible to
quiesce the system. If a device or process cannot be quiesced, its
name is printed in an error message. Any valid board attachment point
can be used with this command, but since all systems have a slot1 the
given form is recommended.

-x set-condition-test=#

Perform a test.

Allows the condition of a system board attachment point to be set for
testing the policy logic for state change commands. The new setting
is given as a number indicating one of the following condition

0 unknown
1 ok
2 failing
3 failed
4 unusable


The following operand is supported:

The attachment points for boards on EXX00
systems are published by instance 0 of the
sysctrl driver (sysctrl0). The names of the
attachment points are numbered from slot0
through slot15. Specify # as a number between
0 and 15, indicating the slot number. This
form conforms to the logical ap_id
specification given in cfgadm(1M). The
corresponding physical ap_ids are listed in
the FILES section.



Hardware specific library


Attachment Points


cfgadm(1M), cfgadm_ac(1M), ifconfig(1M), mount(1M), pbind(1M),
psradm(1M), , psrinfo(1M), config_admin(3CFGADM), attributes(5)

Sun Enterprise 6x00, 5x00, 4x00 and 3x00 Systems Dynamic Reconfiguration
User's Guide

Platform Notes:Sun Enterprise 6x00/5x00/4x00/3x00 Systems


Refer to the Sun Enterprise 6x00, 5x00, 4x00 and 3x00 Systems Dynamic
Reconfiguration User's Guide for additional details regarding dynamic
reconfiguration of EXX00 system CPU/Memory boards.

March 10, 1999 CFGADM_SYSCTRL(1M)