The wrsm driver is a nexus driver that manages Sun Fire Link devices and wrsm controllers.
A WCI device on a Sun Fire Link board is attached directly to the host system bus and provides clustering communication between Solaris instances that are memory transaction-based. The WCI 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 physical 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 [email protected],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 configure 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 wrsmstat(1M) command.
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 [email protected],0:admin appears in the device tree
ELF kernel module
Writing Device Drivers
The messages described below may appear on the system console 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 WCI device.
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 inaccessible.
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 wrsm controller.
register_controller of wrsm%d failed with error %d
The wrsm controller could not register with the Sun proprietary protocol framework. Communication is not possible 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 indicates 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.