* Copyright 2008-2010, FranΓ§ois Revol, revol@free.fr. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#include "keyboard.h"
#include "toscalls.h"
#include <boot/stage2.h>
#include <boot/platform.h>
#include <boot/stdio.h>
#include <stdarg.h>
#include <Errors.h>
*/
void
panic(const char *format, ...)
{
const char greetings[] = "\n*** PANIC ***";
char buffer[512];
va_list list;
Bconputs(DEV_CONSOLE, greetings);
nat_feat_debugprintf(greetings);
nat_feat_debugprintf("\n");
va_start(list, format);
vsnprintf(buffer, sizeof(buffer), format, list);
va_end(list);
Bconputs(DEV_CONSOLE, buffer);
nat_feat_debugprintf(buffer);
nat_feat_debugprintf("\n");
Bconputs(DEV_CONSOLE, "\nPress key to reboot.");
clear_key_buffer();
wait_for_key();
platform_exit();
}
void
dprintf(const char *format, ...)
{
char buffer[512];
va_list list;
va_start(list, format);
vsnprintf(buffer, sizeof(buffer), format, list);
va_end(list);
Bconput(DEV_AUX, buffer);
nat_feat_debugprintf(buffer);
if (!gKernelArgs.frame_buffer.enabled)
Bconput(DEV_CONSOLE, buffer);
}
char*
platform_debug_get_log_buffer(size_t* _size)
{
return NULL;
}