[CXP][RFC] pick POSIX/cobalt for the common user API

Philippe Gerum rpm at xenomai.org
Sun Dec 6 11:46:25 CET 2020

The common Xenomai platform specification is about defining the
commonalities among future Xenomai releases starting from 3.3, including
the Xenomai 4 series based on a next generation (EVL) core. A common API
available to applications for issuing requests to the real-time core is
part of this specification.

Implementing such interface would not preclude other APIs from
co-existing in particular releases. However, use of this common API
only would guarantee portability across releases.

Excluding the legacy RTOS emulators such as VxWorks and pSOS, Xenomai
3.x provides two main APIs, a POSIX-compliant one (libcobalt) and a
custom RTOS API aka Alchemy (libalchemy) on top of the Copperplate

PROPOSAL: Pick libcobalt as the common API defined by the CXP.

As a consequence, Xenomai 4 would provide two direct interfaces to the
underlying EVL core: via the libevl API [1] which is readily
available, and its own implementation of libcobalt as part of a CXP

      libalchemy            libevl libcobalt
           |                  |      |
           |                  |      |
      libcopperplate          |      |
           |                  |      |
           |                  |      |
       libcobalt              |      |
           |                  |      |
           v                  v      v
     (Cobalt core)           (EVL core)
      -----------            ---------
      Xenomai 3.x            Xenomai 4


[1] https://evlproject.org/core/user-api/


More information about the Xenomai mailing list