#include "common.h" #include "bus/uart.h" #include static void Puts(const char *str); static void PrintArgs(const char *fmt, va_list ap); void Print(const char *fmt, ...) { va_list ap; va_start(ap, fmt); PrintArgs(fmt, ap); va_end(ap); } void Info(const char *fmt, ...) { va_list ap; va_start(ap, fmt); Puts("[CORE] "); PrintArgs(fmt, ap); Puts("\r\n"); va_end(ap); } void Error(const char *fmt, ...) { va_list ap; va_start(ap, fmt); Puts("[CORE] Error: "); PrintArgs(fmt, ap); Puts("\r\n"); va_end(ap); // XXX: Force reset? } static void Puts(const char *str) { while (*str != '\0') { UART_Putc(*str++); } } static void PrintArgs(const char *fmt, va_list ap) { char msg[256]; vsnprintf(msg, sizeof(msg), fmt, ap); Puts(msg); }