Xenomai
3.0.5
|
The Xenomai core deals with concurrent activities from two distinct kernels running side-by-side. More...
Macros | |
#define | splhigh(x) ((x) = ipipe_test_and_stall_head() & 1) |
Hard disable interrupts on the local processor, saving previous state. More... | |
#define | splexit(x) ipipe_restore_head(x & 1) |
Restore the saved hard interrupt state on the local processor. More... | |
#define | splmax() ipipe_stall_head() |
Hard disable interrupts on the local processor. | |
#define | splnone() ipipe_unstall_head() |
Hard enable interrupts on the local processor. | |
#define | spltest() ipipe_test_head() |
Test hard interrupt state on the local processor. More... | |
The Xenomai core deals with concurrent activities from two distinct kernels running side-by-side.
When interrupts are involved, the services from this section control the hard interrupt state exclusively, for protecting against processor-local or SMP concurrency.
#define splexit | ( | x | ) | ipipe_restore_head(x & 1) |
Restore the saved hard interrupt state on the local processor.
[in] | x | The context variable previously updated by splhigh() |
#define splhigh | ( | x | ) | ((x) = ipipe_test_and_stall_head() & 1) |
Hard disable interrupts on the local processor, saving previous state.
[out] | x | An unsigned long integer context variable |
#define spltest | ( | ) | ipipe_test_head() |
Test hard interrupt state on the local processor.
Referenced by rtdm_fd_select(), and rtdm_lock_get().