Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
debug.c
Go to the documentation of this file.
1#include "debug.h"
2#include "type.h"
3#include <console/console.h>
4#include <libk/serial.h>
5
6extern void parse_multicore(__builtin_va_list args, const char* fmt);
7
8static char* get_debug_level_str(DEBUG_LEVEL level_) {
9 switch (level_) {
11 return "INFO";
12 break;
14 return "WARN";
15 break;
17 return "ERROR";
18 break;
20 return "DEBUG";
21 break;
22 case DEBUG_LEVEL_OK:
23 return "OK";
24 break;
25 default:
26 return "UNKNOWN";
27 break;
28 }
29}
30
31void kernel_debug_impl(const char* file_, uint16_t line_num_,
32 DEBUG_LEVEL level_, const char* message_, ...) {
33 UNUSED(file_);
34 UNUSED(line_num_);
35 __builtin_va_list args;
36 __builtin_va_start(args, message_);
37 console_printf("[");
38 switch (level_) {
40 console_chfg(0x2CC6DE);
41 break;
43 console_chfg(0x00FE00);
44 break;
46 console_chfg(0xED2641);
47 break;
48 case DEBUG_LEVEL_OK:
49 console_chfg(0x2CDE44);
50 break;
52 console_chfg(0xFFDE44);
53 break;
54 }
56 console_chfg(0xFFFFF0);
57 console_printf("]");
59 console_vaprintf(message_, args);
60 __builtin_va_end(args);
61}
62
63// void kernel_assert_impl(const char* file_, uint16_t line_num_) {
64// }
void console_chfg(uint32_t color)
Definition console.c:351
void console_add_space(int n)
Definition console.c:353
void console_vaprintf(const char *fmt, __builtin_va_list args)
Definition console.c:329
void console_printf(const char *fmt,...)
Definition console.c:315
void kernel_debug_impl(const char *file_, uint16_t line_num_, DEBUG_LEVEL level_, const char *message_,...)
Definition debug.c:31
static char * get_debug_level_str(DEBUG_LEVEL level_)
Definition debug.c:8
void parse_multicore(__builtin_va_list args, const char *fmt)
Definition serial.c:271
DEBUG_LEVEL
Definition debug.h:6
@ DEBUG_LEVEL_ERROR
Definition debug.h:10
@ DEBUG_LEVEL_WARN
Definition debug.h:9
@ DEBUG_LEVEL_DEBUG
Definition debug.h:7
@ DEBUG_LEVEL_OK
Definition debug.h:11
@ DEBUG_LEVEL_INFO
Definition debug.h:8
unsigned short uint16_t
Definition type.h:13
#define UNUSED(x)
Definition type.h:100