[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Kernel Extensions and Device Support Programming Concepts

Serial Optical Link Device Handler Overview

The serial optical link (SOL) device handler is a component of the communication I/O subsystem. The device handler can support one to four serial optical ports. An optical port consists of two separate pieces. The serial link adapter is on the system planar and is packaged with two to four adapters in a single chip. The serial optical channel converter plugs into a slot on the system planar and provides two separate optical ports.

Special Files

There are two separate interfaces to the serial optical link device handler. The special file /dev/ops0 provides access to the optical port subsystem. An application that opens this special file has access to all the ports, but it does not need to be aware of the number of ports available. Each write operation includes a destination processor ID. The device handler sends the data out the correct port to reach that processor. In case of a link failure, the device handler uses any link that is available.

The /dev/op0, /dev/op1, ..., /dev/opn special files provide a diagnostic interface to the serial link adapters and the serial optical channel converters. Each special file corresponds to a single optical port that can only be opened in Diagnostic mode. A diagnostic open allows the diagnostic ioctls to be used, but normal reads and writes are not allowed. A port that is open in this manner cannot be opened with the /dev/ops0 special file. In addition, if the port has already been opened with the /dev/ops0 special file, attempting to open a /dev/opx special file will fail unless a forced diagnostic open is used.

Entry Points

The SOL device handler interface consists of the following entry points:

sol_close Resets the device to a known state and frees system resources.
sol_config Provides functions to initialize and terminate the device handler, and query the vital product data (VPD).
sol_fastwrt Provides the means for kernel-mode users to transmit data to the SOL device driver.
sol_ioctl Provides various functions for controlling the device. The valid sol_ioctl operations are:
Gets attributes needed for the sol_fastwrt entry point.
Gets the device status.
Halts the device.
Queries device statistics.
Starts the device.
Provides I/O character information.
Checks whether a processor ID is connected.
Gets connected processor IDs.
sol_mpx Provides allocation and deallocation of a channel.
sol_open Initializes the device handler and allocates the required system resources.
sol_read Provides the means for receiving data.
sol_select Determines if a specified event has occurred on the device.
sol_write Provides the means for transmitting data.

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]