Porting Xenomai dual kernel to a new ARM SoC

This document will try and guide you through the task of porting the I-pipe core to a new ARM SoC. This is all that is necessary to get Xenomai dual kernel to run on this SoC. If you have questions, suggestions or other comments, please use the xenomai mailing list. …

Xenomai White paper

Note This paper was written back in 2001 to present the mission statement of the nascent Xenomai project. The situation has changed and improved a lot since then in the Linux ecosystem, and many questions have found answers, particularly in the real-time field. However, the motivations for developing Xenomai remained …

Configuring for x86-based dual kernels

On a non-x86 embedded platform, configuring the Linux kernel is usually easy: there is a default configuration file for the SoC where you should just start from, set the Xenomai options as you see fit, possibly tweak a few bits here and there, and you are done. Configuring x86 kernels …

What if Xenomai and Linux devices share the same IRQ?

Caution IRQ sharing between RT (Xenomai kernel) and non-RT (Linux) domains is fragile regardless of the CPU architecture, can easily destroy determinism on the RT side, and should therefore be avoided whenever possible. Sharing IRQs between RT devices is not problematic, but still comes with additional overhead compared to dedicated …

Dealing with x86 SMI troubles

Why are SMIs a problem? System Management Interrupts or SMIs are special interrupts at the highest priority causing the x86 CPU to enter the System Management Mode, a variant of the flat real mode for executing some handler implemented by the BIOS. SMIs don’t go through the interrupt controller, they …

Life with Adeos

Caution Portions of this paper discussing the Adeos API are outdated, and do not reflect the changes introduced with the I-pipe core series. The presentation of the general design and concepts underlying the interrupt and event pipelines is still relevant though. What is Adeos Adeos is a resource virtualization layer …

Using The I-Pipe Tracer

Features Traces events with high-resolution timestamp, a user-provided value, and the current I-pipe domain states Supported events are kernel function entries entry and exit of a critical section (with separate longest-path evaluation) PID + current process priority user-provided event IDs Comes with instrumentation for hard IRQs-off tracing Kernel and user-space …