The
iop driver provides support for PCI I/O processors conforming to the I2O specification, revision 1.5 and above.
I2O is a specification that defines a software interface for communicating with a number of device types. In its basic form, I2O provides the following:
•
A vendor-neutral interface for communicating with an I/O processor (IOP) and a number of types of peripherals. In order to achieve this, hardware-specific device drivers run on the IOP, and hardware-neutral device drivers run on the host.
•
Reduced I/O overhead for the host. All communication between the host and the IOP is performed using a high level protocol. The specification also provides for batching of requests and replies between the host and IOP.
•
An optional vendor-neutral configuration interface. Data from HTTP GET and POST operations can be channeled to individual devices, and HTML pages returned.
Five types of devices are well defined by the specification. These are:
•
Random block storage devices (disks).
•
Sequential storage devices (tapes).
•
LAN interfaces, including Ethernet, FDDI, and Token Ring.
The
iop driver's role is to initialize and monitor the IOP, provide a conduit for messages and replies to and from devices, and provide other common services for peripheral drivers, such as DMA mapping.