diff --git a/include/shim.h b/include/shim.h index f3835ba..9f80abc 100644 --- a/include/shim.h +++ b/include/shim.h @@ -6,6 +6,7 @@ struct boot_info { struct memory_map *map; + void *symbol_table; void *acpi_table; char cmdline[CMDLINE_MAX]; }; diff --git a/src/arch/amd64/mboot.c b/src/arch/amd64/mboot.c index 68c9383..89fb431 100644 --- a/src/arch/amd64/mboot.c +++ b/src/arch/amd64/mboot.c @@ -1,5 +1,4 @@ #include "mboot.h" -#include "serial.h" #include "shim.h" #include @@ -42,7 +41,7 @@ static uint32_t *read_tag(uint32_t *data, struct boot_info *shim_info) { read_memorymap(shim_info, size, data + 2); break; case MBOOT_SYMBOLS: - // TODO: + shim_info->symbol_table = (void *) (data + 2); break; case MBOOT_XSDP: read_xsdp(shim_info, (char *) (data + 2)); diff --git a/src/kmain.c b/src/kmain.c index a1a7e7c..6424b95 100644 --- a/src/kmain.c +++ b/src/kmain.c @@ -31,19 +31,13 @@ void print_memory() { void kmain(struct boot_info *info) { memory_init(info->map); - - int i = acpi_init(info->acpi_table); - char buf[20]; - ltoa(i, buf, 10); - serial_out_str("acpi: "); - serial_out_str(buf); - serial_out_str("\n"); + //acpi_init(info->acpi_table); + //fb_init(1024, 768); serial_out_str("entered kmain\n"); *(char*)(0xB8000 + 0x144) = 'h'; *(char*)(0xB8000 + 0x146) = 'i'; - //fb_init(1024, 768); - acpi_shutdown(); + while (1) { // loop so we dont halt // this allows interrupts to fire