9
0
Fork 0

printf: move panic() to common/misc.c

panic() is not really a printf like function, so move it to common/misc.c.
This is done because we want to have printf support in the PBL, but PBL
has it's own panic() implementation.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2014-12-08 10:11:04 +01:00
parent c20983fad5
commit ce5299b0bf
2 changed files with 22 additions and 21 deletions

View File

@ -22,6 +22,7 @@
#include <magicvar.h>
#include <globalvar.h>
#include <environment.h>
#include <led.h>
#include <of.h>
int errno;
@ -188,3 +189,24 @@ EXPORT_SYMBOL(barebox_get_hostname);
BAREBOX_MAGICVAR_NAMED(global_hostname, global.hostname,
"shortname of the board. Also used as hostname for DHCP requests");
void __noreturn panic(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
vprintf(fmt, args);
putchar('\n');
va_end(args);
dump_stack();
led_trigger(LED_TRIGGER_PANIC, TRIGGER_ENABLE);
if (IS_ENABLED(CONFIG_PANIC_HANG)) {
hang();
} else {
udelay(100000); /* allow messages to go out */
reset_cpu(0);
}
}
EXPORT_SYMBOL(panic);

View File

@ -680,24 +680,3 @@ char *asprintf(const char *fmt, ...)
return p;
}
EXPORT_SYMBOL(asprintf);
void __noreturn panic(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
vprintf(fmt, args);
putchar('\n');
va_end(args);
dump_stack();
led_trigger(LED_TRIGGER_PANIC, TRIGGER_ENABLE);
if (IS_ENABLED(CONFIG_PANIC_HANG)) {
hang();
} else {
udelay(100000); /* allow messages to go out */
reset_cpu(0);
}
}
EXPORT_SYMBOL(panic);