From 8912c5921f15b918ff13a3dfea58f4c8ac1c9efd Mon Sep 17 00:00:00 2001 From: notsomeidiot123 Date: Thu, 14 Nov 2024 12:31:13 -0500 Subject: [PATCH] Fixed printf --- src/kernel/drivers/serial.c | 15 ++++++++------- src/kernel/kmain.c | 11 +---------- src/kernel/system/scheduler.c | 2 +- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/kernel/drivers/serial.c b/src/kernel/drivers/serial.c index c2d12d5..6cddafe 100644 --- a/src/kernel/drivers/serial.c +++ b/src/kernel/drivers/serial.c @@ -49,22 +49,23 @@ void printf(char *string, ...){ va_start(vars, string); while(*string){ if(*string == '%'){ + int32_t num = 0; + char numb[12]; switch(*(string + 1)){ case 'd': string += 2; - int32_t num = va_arg(vars, int32_t); - char numb[12]; + num = va_arg(vars, int32_t); itoa(num, numb, 10); debug_puts(numb); continue; case 'x': // debug_puts(":3"); string += 2; - int32_t hex = va_arg(vars, int32_t); - char hnumb[12]; - itoa(hex, hnumb, 16); - strpad(hnumb, '0', 8); - debug_puts(hnumb); + num = va_arg(vars, int32_t); + // char hnumb[12]; + itoa(num, numb, 16); + strpad(numb, '0', 8); + debug_puts(numb); continue; } } diff --git a/src/kernel/kmain.c b/src/kernel/kmain.c index 2192852..566738d 100644 --- a/src/kernel/kmain.c +++ b/src/kernel/kmain.c @@ -7,12 +7,6 @@ #include "drivers/cpuio.h" #include "system/scheduler.h" -void test(){ - printf("Hi from another thread!\n"); - // *((uint16_t*)0xb8000) = 0xf41; - for(;;); -} - extern void kmain(kernel_info_t *kernel_info){ init_serial(); pm_init(kernel_info); @@ -22,10 +16,7 @@ extern void kmain(kernel_info_t *kernel_info){ init_scheduler(); pic_setmask(0xfe, PIC1_DATA); enable_interrupts(); - // printf("done\n"); - thread_start(test, 0); - // printf("%x", test); - // void test(); + for(;;); return; } \ No newline at end of file diff --git a/src/kernel/system/scheduler.c b/src/kernel/system/scheduler.c index be59ccf..607b27f 100644 --- a/src/kernel/system/scheduler.c +++ b/src/kernel/system/scheduler.c @@ -6,7 +6,7 @@ process_t volatile processes[0x10000]; uint32_t volatile process_queue[0x10000]; -uint32_t active_processes; +uint32_t volatile active_processes; uint32_t volatile current_pid; uint32_t volatile queue_length; uint32_t volatile current_queue_index;