From f90c075d5061b3a89316d6bf3d5b190d49049ccd Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Wed, 24 Mar 2021 15:42:20 -0500 Subject: renamed: kernel/include/acpi.h -> include/acpi.h renamed: kernel/include/libc.h -> include/libc.h renamed: kernel/include/paging.h -> include/paging.h renamed: kernel/include/printf.h -> include/printf.h renamed: kernel/include/serial.h -> include/serial.h renamed: kernel/include/video.h -> include/video.h new file: indigo_os renamed: kernel/libs/acpi.c -> kernel/acpi.c renamed: kernel/libs/drivers/serial.c -> kernel/drivers/serial.c renamed: kernel/libs/drivers/video.c -> kernel/drivers/video.c renamed: kernel/libs/libc.c -> kernel/libc.c renamed: kernel/libs/page.c -> kernel/page.c renamed: kernel/libs/printf.c -> kernel/printf.c renamed: kernel/libs/printf.h -> kernel/printf.h modified: makefile --- src/kernel/libs/acpi.c | 58 -------------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 src/kernel/libs/acpi.c (limited to 'src/kernel/libs/acpi.c') diff --git a/src/kernel/libs/acpi.c b/src/kernel/libs/acpi.c deleted file mode 100644 index 0c22fe4..0000000 --- a/src/kernel/libs/acpi.c +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include -#include - -static int RSDP_verify(void *rsdp_pointer) { - printf("Verifying potential RSDP at address 0x%p... ", rsdp_pointer); - union rsdp_t *rsdp = rsdp_pointer; - uint8_t checksum = 0; - char *rsdp_csm_ptr = rsdp_pointer; - int i; - if(checksum) return 0; - if(rsdp->v1.version) { - printf("APCI revision > 2.\n"); - checksum = 0; - printf("len : %i\n", rsdp->v2.len); - for(i = 0; i < rsdp->v2.len; i++) { - checksum += rsdp_csm_ptr[i]; - } - } - else { - printf("APCI revision 1.\n"); - for(i = 0; i <= 20; i++) { - checksum += rsdp_csm_ptr[i]; - } - } - if(checksum) { - return 0; - printf("Invalid, searching on.\n"); - } - printf("RSDP Verified!\n"); - return 1; -} - -rsdp_t *find_RSDP() { - const char sig[9] = "RSD PTR "; - uintptr_t *p = (void *)0x040e; - uintptr_t *ebda_unshifted = (void *)p; - - void *ebda = (void *)((uintptr_t)ebda_unshifted << (uintptr_t)4 & (uintptr_t)0xfffff); - - for(void *i = ebda; i <= ebda + 64000; i += 16) { - if(!(memcmp(sig, i, 8))) { - if(RSDP_verify(i)) { - return(i); - } - } - } - - for(void *i = (void *)0xe0000; i <= (void *)0xfffff; i += 16) { - if(!(memcmp(sig, i, 8))) { - if(RSDP_verify(i)) { - return(i); - } - } - } -} - - -- cgit v1.2.3