diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-01-01 08:24:38 -0500 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-01-01 08:24:38 -0500 |
commit | 9f5c5bc6cb88913af96da62f30cdb070f2c30df5 (patch) | |
tree | 43ebe6463da9439d3c3e6c5200252ae8a05b4fcf | |
parent | 9cd003e3f7ff4cea9945ea1f0330a3044235855a (diff) |
kernel: printk: Color output
The sender's name must be colorized in yellow, to make it easier to look
at the logs.
-rw-r--r-- | kernel/drivers/serial/serial.c | 4 | ||||
-rw-r--r-- | kernel/drivers/vga_text_buffer/vga_text_buffer.c | 13 | ||||
-rw-r--r-- | kernel/include/drivers/serial.h | 4 | ||||
-rw-r--r-- | kernel/include/drivers/vga_text_buffer.h | 6 | ||||
-rw-r--r-- | kernel/include/libk/io.h | 2 | ||||
-rw-r--r-- | kernel/kernel/halt.c | 2 | ||||
-rw-r--r-- | kernel/kernel/kernel.c | 2 | ||||
-rw-r--r-- | kernel/kernel/stack_smashing_protector.c | 2 | ||||
-rw-r--r-- | kernel/libk/printk.c | 7 |
9 files changed, 24 insertions, 18 deletions
diff --git a/kernel/drivers/serial/serial.c b/kernel/drivers/serial/serial.c index 122902b..06cbdbb 100644 --- a/kernel/drivers/serial/serial.c +++ b/kernel/drivers/serial/serial.c @@ -56,7 +56,7 @@ is_transmit_empty() } void -serial_write_char(char a) +serial_write_char(const char a) { while (is_transmit_empty() == 0) ; @@ -65,7 +65,7 @@ serial_write_char(char a) } void -serial_write_string(char *string) +serial_write_string(const char *string) { size_t size = strlen(string); for (size_t i = 0; i < size; i++) diff --git a/kernel/drivers/vga_text_buffer/vga_text_buffer.c b/kernel/drivers/vga_text_buffer/vga_text_buffer.c index df92b63..62c7ab8 100644 --- a/kernel/drivers/vga_text_buffer/vga_text_buffer.c +++ b/kernel/drivers/vga_text_buffer/vga_text_buffer.c @@ -30,7 +30,7 @@ uint8_t vga_text_buffer_color; uint16_t *vga_text_buffer_buffer; static uint8_t -vga_entry_color(vga_color fg, vga_color bg) +vga_entry_color(const vga_color fg, const vga_color bg) { /* * bg fg @@ -40,7 +40,7 @@ vga_entry_color(vga_color fg, vga_color bg) } static uint16_t -vga_entry(unsigned char character, uint8_t color) +vga_entry(const unsigned char character, const uint8_t color) { /* * color character @@ -50,7 +50,10 @@ vga_entry(unsigned char character, uint8_t color) } static void -vga_text_buffer_write_entry_at(char c, uint8_t color, uint8_t x, uint8_t y) +vga_text_buffer_write_entry_at(const char c, + const uint8_t color, + const uint8_t x, + const uint8_t y) { size_t index = y * VGA_WIDTH + x; vga_text_buffer_buffer[index] = vga_entry(c, color); @@ -71,7 +74,7 @@ vga_text_buffer_initialize(void) } void -vga_text_buffer_write_char(char c) +vga_text_buffer_write_char(const char c) { if (c == '\n') { vga_text_buffer_row++; @@ -89,7 +92,7 @@ vga_text_buffer_write_char(char c) } void -vga_text_buffer_write_string(char *string) +vga_text_buffer_write_string(const char *string) { size_t size = strlen(string); for (size_t i = 0; i < size; i++) diff --git a/kernel/include/drivers/serial.h b/kernel/include/drivers/serial.h index eef5e02..949b012 100644 --- a/kernel/include/drivers/serial.h +++ b/kernel/include/drivers/serial.h @@ -22,7 +22,7 @@ #define PORT 0x3f8 // COM1 void serial_initialize(void); -void serial_write_char(char); -void serial_write_string(char *); +void serial_write_char(const char); +void serial_write_string(const char *); #endif diff --git a/kernel/include/drivers/vga_text_buffer.h b/kernel/include/drivers/vga_text_buffer.h index 0362f17..9fd1ac3 100644 --- a/kernel/include/drivers/vga_text_buffer.h +++ b/kernel/include/drivers/vga_text_buffer.h @@ -24,8 +24,8 @@ * Implement scrolling */ -#include <stdint.h> #include <stdbool.h> +#include <stdint.h> #define VGA_WIDTH 80 #define VGA_HEIGHT 25 @@ -53,7 +53,7 @@ typedef enum { bool vga_text_buffer_is_initialized(void); void vga_text_buffer_initialize(void); -void vga_text_buffer_write_char(char); -void vga_text_buffer_write_string(char *); +void vga_text_buffer_write_char(const char); +void vga_text_buffer_write_string(const char *); #endif diff --git a/kernel/include/libk/io.h b/kernel/include/libk/io.h index 8757dd6..bf23bf1 100644 --- a/kernel/include/libk/io.h +++ b/kernel/include/libk/io.h @@ -19,6 +19,6 @@ #ifndef __libk_io_h #define __libk_io_h -void printk(char *); +void printk(const char *, const char *); #endif diff --git a/kernel/kernel/halt.c b/kernel/kernel/halt.c index 53d27e2..96bb62c 100644 --- a/kernel/kernel/halt.c +++ b/kernel/kernel/halt.c @@ -23,7 +23,7 @@ void halt(void) { - printk("kernel: halted."); + printk("kernel", "Halted."); for (;;) ; diff --git a/kernel/kernel/kernel.c b/kernel/kernel/kernel.c index 9d325d5..dbe0c8b 100644 --- a/kernel/kernel/kernel.c +++ b/kernel/kernel/kernel.c @@ -27,5 +27,5 @@ kernel_main(void) vga_text_buffer_initialize(); serial_initialize(); - printk("kernel_main: Started\n"); + printk("kernel_main", "Started."); } diff --git a/kernel/kernel/stack_smashing_protector.c b/kernel/kernel/stack_smashing_protector.c index 3cff7dc..f7842d8 100644 --- a/kernel/kernel/stack_smashing_protector.c +++ b/kernel/kernel/stack_smashing_protector.c @@ -13,6 +13,6 @@ void __stack_chk_fail(void) { /* TODO: Panic the kernel */ - printk("SSP: Stack smashing detected!\n"); + printk("Stack Smashing Protector", "Stack smashing detected!"); halt(); } diff --git a/kernel/libk/printk.c b/kernel/libk/printk.c index 1bde77f..bac3efe 100644 --- a/kernel/libk/printk.c +++ b/kernel/libk/printk.c @@ -22,8 +22,11 @@ #include <libk/io.h> void -printk(char *msg) +printk(const char *from, const char *msg) { - vga_text_buffer_write_string(msg); + serial_write_string("\033[33m"); + serial_write_string(from); + serial_write_string(":\033[0m "); serial_write_string(msg); + serial_write_string("\033[0m\n"); } |