A Generic AMP/IPC Framework For Linux
Being proposed by Ohad Ben-Cohen for integration into the mainline Linux kernel is a generic AMP/IPC framework. This a-symmetric multi-processing (AMP) framework with inter-process communication (IPC) integration makes it possible to control remote processors and communicate messages with these remote processors. This work is the primary target of modern SoC devices.
Modern SoC designs have a main SMP application processor that's usually running Linux, but then connected to them are often a-symmetric multi-processing processors, which may be running Linux or a different operating system entirely. These other processors are often for handling a specific task such as multi-media hardware acceleration. With this generic AMP/IPC framework, it's possible to control these remote AMP processors (power on, power off, boot) and to communicate (send/receive) messages to the remote units.
This generic framework introduces rpmsg, which is a VirtIO-based messaging bus for communicating between the Linux kernel and remote processors. The actual drivers of this framework then need to expose the user-space interface. The other part of the equation is remoteproc, which is a generic driver for maintaining the state of remote processors. Hardware differences are abstracted by this driver with the initial support being the OMAP4 Cortex-M3 and the Davinci DSP, from the Panda Board and Hawk Board, respectively.
For those interested in this new framework that could potentially be integrated into the mainline Linux 3.1 kernel, see the kernel mailing list announcement.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions