A Generic AMP/IPC Framework For Linux

Posted by Michael Larabel on June 28, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Wayland's Weston Gets Output Scaling Support
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. Intel Ultrabook Performance Is Faster With Mesa 9.2
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Phoronix Test Suite 4.6.0 "Utsira" Released
  7. New Intel X.Org Driver Supports All Of Haswell
  8. SQLite Now Faster With Memory Mapped I/O
  9. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  10. Qt For Tizen Launches, Based On Qt 5.1
  11. KTAP Released For Linux Kernel Dynamic Tracing
Latest Forum Talk
  1. Debian GNU/Hurd 2013 Release Brings New Packages
  2. Wayland's Weston Gets Output Scaling Support
  3. Richard Stallman is right yet, again.
  4. Raspberry Pi Gets New Wayland Weston Renderer
  5. Linux's "Ondemand" Governor Is No...
  6. Humble Indie Bundle Finally Sells Out
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite