1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * linux/lib/vsprintf.c
- *
- * Copyright (C) 1991, 1992 Linus Torvalds
- */
- /* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
- /*
- * Wirzenius wrote this portably, Torvalds fucked it up :-)
- */
- #include <common.h>
- #if !defined(CONFIG_PANIC_HANG)
- #include <command.h>
- #endif
- static void panic_finish(void) __attribute__ ((noreturn));
- static void panic_finish(void)
- {
- putc('\n');
- #if defined(CONFIG_PANIC_HANG)
- hang();
- #else
- udelay(100000); /* allow messages to go out */
- do_reset(NULL, 0, 0, NULL);
- #endif
- while (1)
- ;
- }
- void panic_str(const char *str)
- {
- puts(str);
- panic_finish();
- }
- void panic(const char *fmt, ...)
- {
- #if CONFIG_IS_ENABLED(PRINTF)
- va_list args;
- va_start(args, fmt);
- vprintf(fmt, args);
- va_end(args);
- #endif
- panic_finish();
- }
|