From 50f57237330205a4f4865f959be2acf760d22bc1 Mon Sep 17 00:00:00 2001 From: Nicholas Orlowsky Date: Sun, 2 Feb 2025 12:44:18 -0500 Subject: [PATCH] not sure what these changes were --- CMakeLists.txt | 4 ++-- kernel/kernel.c | 4 ++++ kernel/memory.c | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ac4eaa..11b8e8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,6 +41,6 @@ add_custom_command(OUTPUT os.iso ) # Run & Debug targets -add_custom_target(run COMMAND qemu-system-i386 -boot d -cdrom os.iso -m 512 -machine type=pc-i440fx-3.1 -monitor stdio DEPENDS os.iso) -add_custom_target(debug COMMAND ./debug.sh DEPENDS os.iso) +add_custom_target(run COMMAND qemu-system-i386 -boot d -cdrom os.iso -m 512 -machine type=pc-i440fx-3.1 -monitor stdio -drive id=disk,file=/dev/null,if=none -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 DEPENDS os.iso) +add_custom_target(debug COMMAND ../debug.sh DEPENDS os.iso) diff --git a/kernel/kernel.c b/kernel/kernel.c index d12b817..d8efc81 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -1,5 +1,6 @@ #include "./scheduler.c" #include "./vga.c" +#include "./rsdp.c" #include #include "./test_processes.c" @@ -13,7 +14,10 @@ int kernel_main() { outb(0x3D4, 0x0A); outb(0x3D5, 0x20); + + find_rsdp(); + for(;;){} clear_screen(); interrupt_disable(); diff --git a/kernel/memory.c b/kernel/memory.c index d89bdd3..0ac4413 100644 --- a/kernel/memory.c +++ b/kernel/memory.c @@ -2,6 +2,31 @@ #include +// Below doesn't work! +//uint8_t streq(char *ptr, char* ptr2) { +// while (1 == 1) { +// if (*ptr != *ptr2) { +// return 0; +// } +// +// if (*ptr == '\0') { +// return 1; +// } +// +// ptr++; +// ptr2++; +// } +//} + +uint8_t memseq(char *ptr, char *ptr2, uint32_t len) { + for (uint32_t i = 0; i < len; i++) { + if (ptr[i] != ptr2[i]) { + return 0; + } + } + return 1; +} + void memset(char *ptr, char data, uint32_t len) { for (uint32_t i = 0; i < len; i++) { ptr[i] = data;