arch/all: simpler _SysFatalErrorHandler()
- does not pull in printk(), for potential footprint gain - does not pull in k_thread_abort(), for single-threaded systems Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com> Change-Id: Ibc6a198b81a6cd73117d1e85aa05b92a4501a34d
This commit is contained in:
parent
a2098393fa
commit
48db0b3443
5 changed files with 35 additions and 0 deletions
|
@ -54,6 +54,7 @@ FUNC_NORETURN void _SysFatalErrorHandler(unsigned int reason,
|
|||
ARG_UNUSED(reason);
|
||||
ARG_UNUSED(pEsf);
|
||||
|
||||
#if !defined(CONFIG_SIMPLE_FATAL_ERROR_HANDLER)
|
||||
if (k_is_in_isr() || _is_thread_essential()) {
|
||||
printk("Fatal fault in %s! Spinning...\n",
|
||||
k_is_in_isr() ? "ISR" : "essential thread");
|
||||
|
@ -63,5 +64,11 @@ FUNC_NORETURN void _SysFatalErrorHandler(unsigned int reason,
|
|||
printk("Fatal fault in thread %p! Aborting.\n", _current);
|
||||
k_thread_abort(_current);
|
||||
|
||||
#else
|
||||
for (;;) {
|
||||
k_cpu_idle();
|
||||
}
|
||||
#endif
|
||||
|
||||
CODE_UNREACHABLE;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue