示例#1
0
/*!	This works only after console_init() was called.
*/
extern "C" void
panic(const char* format, ...)
{
	const char hint[] = "*** PANIC ***";
	char buffer[512];
	va_list list;
	int length;

	platform_switch_to_text_mode();

	serial_puts(hint, sizeof(hint));
	serial_puts("\n", 1);
	//fprintf(stderr, "%s", hint);
	puts(hint);

	va_start(list, format);
	length = vsnprintf(buffer, sizeof(buffer), format, list);
	va_end(list);

	if (length >= (int)sizeof(buffer))
		length = sizeof(buffer) - 1;

	serial_puts(buffer, length);
	//fprintf(stderr, "%s", buffer);
	puts(buffer);

	puts("\nPress key to reboot.");

	clear_key_buffer();
	wait_for_key();
	platform_exit();
}
示例#2
0
/*!	This works only after console_init() was called.
*/
extern "C" void
panic(const char* format, ...)
{
	va_list list;

	platform_switch_to_text_mode();

	puts("*** PANIC ***");

	va_start(list, format);
	vprintf(format, list);
	va_end(list);

	puts("\nPress key to reboot.");

	clear_key_buffer();
	wait_for_key();
	platform_exit();
}