Linux 2.6: Linux Support Package (LSP) and Linux Host-to Linux IOP Messaging Driver
- Linux 2.6.10 Support Package (LSP) for XScale Based Intelligent I/O Controllers
- Linux Host-to-Linux IOP Messaging Driver (L2LM) for XScale Based Intelligent I/O Controllers
Cyclone Microsystems PCI Intelligent I/O controllers are ideally suited for embedded system architectures designed for high throughput applications. Cyclone has created a device driver which allows Cyclone's PCI Express Intelligent I/O controllers to be rapidly integrated into a host system executing the Linux 2.6.10 operating system. This device driver is specific to the Cyclone XScale-based PCI and PCI Express Intelligent I/O controller boards, and has been tested with Intel x86 based host computer systems running Linux 2.6.10.
The Cyclone Microsystems Messaging Driver allows DMA-driven data movement between an x86-based host processor running Linux version 2.6 and a Cyclone Microsystems XScale-based Intelligent I/O Processor (IOP) running Linux version 2.6. The Cyclone Messaging Driver follows a split driver model. In a split driver model, the driver has two components: a host driver, running on the host processor, and an IOP driver, running on the XScale processor.
The driver makes use of the XScale Messaging Unit (MU) which is contained within the Address Translation Unit (ATU) of the XScale processor. The MU provides a mechanism for data to be transferred between the host processor and the XScale core and notifies the respective processor of the arrival of new data through an interrupt.
The MU can be used to both send a receive messages. The Cyclone Messaging Driver makes use of Messaging Registers and the Circular Queues within the MU. The Messaging Registers are used to exchange information during driver initialization.
The Circular Queues are used to exchange messages (via message pointers) during driver operation. There are four queues in the MU. Two of the queues (Inbound Free and Inbound Post) are used to send messages from the host to the XScale core. The other two queues (Outbound Free and Outbound Post) are used to send messages from the XScale core to the host.