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; +}