The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency.
More...
The Cobalt core is a co-kernel which supplements the Linux kernel for delivering real-time services with very low latency.
It implements a set of generic RTOS building blocks, which the Cobalt/POSIX and Cobalt/RTDM APIs are based on. Cobalt has higher priority over the Linux kernel activities.
Dual kernel service tags
The Cobalt kernel services may be restricted to particular calling contexts, or entail specific side-effects.To describe this information, each service documented by this section bears a set of tags when applicable.The table below matches the tags used throughout the documentation with the description of their meaning for the caller.
- Context tags
Tag | Context on entry |
primary-only | Must be called from a Cobalt task in primary mode |
primary-timed | Requires a Cobalt task in primary mode if timed |
coreirq-only | Must be called from a Cobalt IRQ handler |
secondary-only | Must be called from a Cobalt task in secondary mode or regular Linux task |
rtdm-task | Must be called from a RTDM driver task |
mode-unrestricted | May be called from a Cobalt task in either primary or secondary mode |
task-unrestricted | May be called from a Cobalt or regular Linux task indifferently |
unrestricted | May be called from any context previously described |
atomic-entry | Caller must currently hold the big Cobalt kernel lock (nklock) |
- Possible side-effects
Tag | Description |
might-switch | The Cobalt kernel may switch context |