As of Xenomai 3, there are two possible kernel configurations available: Cobalt and Mercury.
The Cobalt core configuration is the traditional co-kernel configuration and it the evolution of the Xenomai 2 architecture. The Linux kernel is patched to allow the Cobalt core to deal with real-time activities including interrupts and scheduling. The RTOS APIs provide an interface to the Cobalt core from user-space.
The Mercury core is a single kernel configuration that relies on the Linux kernel for the real-time capabilities. Typically this requires PREEMPT-RT support to be enabled in the kernel to meet timing requirements. The non-POSIX real-times APIs are emulated over a native threading library preferably NPTL.