wrsm - WCI Remote Shared Memory (WRSM) device driver
The wrsm driver is a nexus driver that manages WCI devices
and wrsm controllers.
A WCI device on a WCI Interface Board (WIB) sits directly on
the host backplane and provides clustering communication
between Solaris instances that are memory transaction-based.
The WCI replaces a schizo or CPU in Sun Fire servers and
acts as a memory controller on the system backplane. The
wrsm driver programs registers on the WCI to accept network
read/write requests on certain exported cluster addresses
from incoming links. The registers translate the requests
into local read/write bus transactions that use local physi-
cal memory ranges that you specify. The driver programs
additional WCI registers to forward local system backplane
read/write transactions within a particular physical address
range to a remote WCI. A WCI device in the format
wci@slot,0:wrsm appears in the device tree.
A wrsm controller is a pseudo device that manages a set of
WCIs. A device entry in the format wrsm@<instance>:ctrl
appears in the device tree. A wrsm controller presents a
Sun proprietary protocol to clients, enabling them to set up
the network and to communicate through the WCIs. To config-
ure a wrsm controller, you download a configuration into the
driver using the wrsmconf(1M) command or through other
external WCI network management software. Status information
on each WCI and wrsm controller is available by using the
The wrsm admin device is used internally by the driver to
manage the I/O addresses associated with remote memory. A
device entry in the format wrsm@ffff,0:admin appears in the
ELF kernel module
Writing Device Drivers
The messages described below may appear on the system con-
sole as well as being logged. These messages generally
include the string wrsm%d, where %d is the instance number
of the wrsm device. The message context indicates whether
the device is a WCI or a wrsm controller. Some messages
include the string wci %a, where %a is the bus slot of the
wrsm%d: unable to map register set %d
Driver was unable to map device registers; check for bad
hardware. Driver did not attach device, device will be inac-
wrsm_detach:cf_remove_controller failed for wrsm%d
Driver did not detach device; device is inaccessible.
wrsm_detach:cf_remove_wci failed for wrsm%d
Driver did not detach device. This WCI is the last WCI in
register_controller of wrsm%d failed with error %d
The wrsm controller could not register with the Sun
proprietary protocol framework. Communication is not possi-
ble through this controller.
wrsm%d, wci %a, SRAM CE ERROR, at address: 0x%x, syndrome: 0x%x
There was a correctable error in the WCI's SRAM. This indi-
cates that the memory on this WCI module should be replaced.
wrsm%d, wci %a, SRAM UE ERROR, at address: 0x%x, syndrome: 0x%x
There was an uncorrectable error in the WCI's SRAM. This
indicates that the memory on this WCI module should be
replaced. In addition, attempts to access local memory from
remote nodes may fail.
Man(1) output converted with