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> |
||
|---|---|---|
| .. | ||
| cortex_m | ||
| arch.h | ||
| syscall.h | ||