BBB with Xenomai-2.6 - master

I’d like to announce that some preliminary, but (somehow already) working
Xenomai support was laid over current Angstrom distro kernel.

!!! THIS WAS NOT CAREFULLY TESTED, SO YOUR MILAGE MAY VARY !!!

The software is accessible from
git://github.com/t-szczyrba/kernel-3.8.13-bbb-xenomai.git

Please excuse me somehow ugly output of the work (especially git repo concept
with beaglebone patches already applied), but I am definitely not the experienced git user.

The kernel comes from 3.8.13 series pulled from repo with applied patches
(head master branch)
git://github.com/beagleboard/meta-beagleboard.git

with I-pipe patch & drivers from:
git://git.xenomai.org/xenomai-2.6.git (head master branch)

Only a few ( and mostly cosmetic ) changes were required to apply I-pipe patches, compile & run it.
Please be careful about compile-time configuration and manually copying
required TI blob.

I currently install the compiled kernel ‘by hand’, but want to make some (very

rough) receipt at least to lay xenomai enabled kernel parallel to the
one from series.

Some caveats:

  • a couple of section mismatches are reported during compilation
  • mutex-torture-native test fails with mutex_trylock: not supported deny_stealing
  • I don’t include am335x-pm-firmware.bin in repo ( do I need
    special permission from TI to include it ?).
  • The kernel was only (and somehow) tested under two scenarios:
    a) I-pipe disabled with std config
    b) I-pipe enabled with my config included in bbb subdirectory

And result…
< 100us max latency ( avg. 40us, 70us max ) with IRQ & arith load ( system
load over 6.0 ) in BBB running at 1000MHz.

Also don’t want to keep my repo running updated for longer time… With current
layout one has to pull patches from beaglebone upstream repo and apply it

manually all the time - not quite reasonable approach.

I see it would be much better to include at least I-pipe patch in Beaglebone
kernel repos together with a receipt to build something like
virtual/kernel-xenomai parallel to current 3.8 kernel.