Some applications have a use case for a tiny MULTITHREADING=n build (which lacks most of the kernel) but still want special-purpose drivers in that mode that might need to handle interupts. This creates a chicken and egg problem, as arch code (for obvious reasons) runs _Cstart() with interrupts disabled, and enables them only on switching into a newly created thread context. Zephyr does not have a "turn interrupts on now, please" API at the architecture level. So this creates one as an arch-specific wrapper around _arch_irq_unlock(). It's implemented as an optional macro the arch can define to enable this behavior, falling back to the previous scheme (and printing a helpful message) if it doesn't find it defined. Only ARM and x86 are enabled in this patch. Fixes #8393 Signed-off-by: Andy Ross <andrew.j.ross@intel.com> |
||
|---|---|---|
| .. | ||
| arc | ||
| arm | ||
| nios2 | ||
| posix | ||
| riscv32 | ||
| x86 | ||
| xtensa | ||
| cpu.h | ||
| syscall.h | ||