Getting the I-pipe patch

Xenomai 2 and Xenomai 3 over the Cobalt core (i.e. dual kernel mode) both need special kernel support to deliver fast and deterministic response time to external interrupts, and services seamlessly integrated with the standard Linux kernel.

This support is provided by the interrupt pipeline (aka I-pipe) in the form of a kernel patch you have to apply against a vanilla kernel tree, before the Xenomai co-kernel can be built into Linux.


GIT kernel tree

The Xenomai project maintains the git://git.xenomai.org/ipipe.git kernel tree, which includes the interrupt pipeline code, based on the mainline Linux tree available from kernel.org.

The I-pipe tree contains the following branches:

  • for all CPU architectures supported by the Cobalt core. Such branch is rebased over stable mainline releases over time.
  • legacy/core-X.Y is there mainly for archiving purpose, with the early implementation of the I-pipe core series for kernel vX.Y.
  • legacy/ipipe-<kver>-<arch> contains the older pipeline implementation for the given kernel version and architecture, which predates the I-pipe core series. Xenomai 2.6 can run over any of these legacy releases. However, Xenomai 3/Cobalt can run over the current I-pipe core series only, and therefore won’t run over the legacy I-pipe releases.
  • raw/ipipe-<kver> may appear from time to time. These are unstable branches exchanged between the I-pipe maintainers as they collaborate to port the pipeline to a newer kernel version. You most likely don’t want to use such very early material, which may not even compile for you.
  • vendor/* branches contain ports of the interrupt pipeline to vendor-specific kernel trees. Unlike maintenance branches, a vendor-oriented branch is usually not actively maintained, but rather represents a snapshot of a working I-pipe implementation targeting a specific SoC, based on a particular release of a vendor kernel.

Download area

We issue self-contained patches adding the pipeline support to a given mainline kernel version for a particular CPU architecture.

You can fetch them from this download area.