From 472a220b406afbfa650e43537fa8dd5d6db635e7 Mon Sep 17 00:00:00 2001 From: g1n Date: Wed, 9 Feb 2022 19:33:06 +0200 Subject: [PATCH] Add functions for WARNING, ERROR and FIXME debug outputs --- src/early_kernel.c | 1 + src/include/serial.h | 3 +++ src/kernel.c | 3 +++ src/serial.c | 30 ++++++++++++++++++++++++++++++ 4 files changed, 37 insertions(+) diff --git a/src/early_kernel.c b/src/early_kernel.c index febf8ca..43d728b 100644 --- a/src/early_kernel.c +++ b/src/early_kernel.c @@ -3,6 +3,7 @@ #include #include #include +#include void early_kernel_main() { serial_init(); diff --git a/src/include/serial.h b/src/include/serial.h index d3326e8..717aa35 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -9,5 +9,8 @@ int serial_init(); int dbg_putchar(int c); int vdbgf(const char *restrict format, va_list ap); int dbgf(const char *restrict format, ...); +int warn(const char *restrict format, ...); +int error(const char *restrict format, ...); +int fixme(const char *restrict format, ...); #endif diff --git a/src/kernel.c b/src/kernel.c index 46d3c21..4ede7ba 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -6,4 +6,7 @@ void kernel_main() { kprintf("Hello, World!\n"); dbgf("Hello serial World!\n"); + warn("test warning debug %d\n", 42); + error("test error debug %d\n", 42); + fixme("test fixme debug %d\n", 42); } diff --git a/src/serial.c b/src/serial.c index ea6c425..80b3901 100644 --- a/src/serial.c +++ b/src/serial.c @@ -53,3 +53,33 @@ int dbgf(const char *restrict format, ...) { va_end(ap); return size; } + +int warn(const char *restrict format, ...) { + int size; + va_list ap; + va_start(ap, format); + dbgf("WARNING: "); + size = vdbgf(format, ap); + va_end(ap); + return size; +} + +int error(const char *restrict format, ...) { + int size; + va_list ap; + va_start(ap, format); + dbgf("ERROR: "); + size = vdbgf(format, ap); + va_end(ap); + return size; +} + +int fixme(const char *restrict format, ...) { + int size; + va_list ap; + va_start(ap, format); + dbgf("FIXME: "); + size = vdbgf(format, ap); + va_end(ap); + return size; +}