diff options
| -rw-r--r-- | api/kernel/entry.h | 3 | ||||
| -rw-r--r-- | api/loader/data.h (renamed from api/boot/entry_efi.h) | 2 | ||||
| -rw-r--r-- | kernel/cpu.c | 1 | ||||
| -rw-r--r-- | kernel/entry_efi.c | 11 | ||||
| -rw-r--r-- | loader/loader_efi.c | 4 |
5 files changed, 12 insertions, 9 deletions
diff --git a/api/kernel/entry.h b/api/kernel/entry.h new file mode 100644 index 0000000..791d8b6 --- /dev/null +++ b/api/kernel/entry.h @@ -0,0 +1,3 @@ +#pragma once + +typedef void (*kernel_entry_func)(void *data); diff --git a/api/boot/entry_efi.h b/api/loader/data.h index 7f6b4a4..5bbf2a9 100644 --- a/api/boot/entry_efi.h +++ b/api/loader/data.h @@ -34,5 +34,3 @@ struct efi_boot_data void *acpi_rsdp; }; -typedef void (*kernel_entry_func)(struct efi_boot_data *data); - diff --git a/kernel/cpu.c b/kernel/cpu.c index d5c6675..db4108f 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -60,7 +60,6 @@ struct task64_segment uint16_t iomap_base; }; -// TODO: is 16 enough? static struct segment_descriptor gdt[GDT_ENTRIES]; static struct gate_descriptor idt[IDT_ENTRIES]; static struct task64_segment tss; diff --git a/kernel/entry_efi.c b/kernel/entry_efi.c index 4eaebc0..646c00d 100644 --- a/kernel/entry_efi.c +++ b/kernel/entry_efi.c @@ -1,4 +1,5 @@ -#include <boot/entry_efi.h> +#include <loader/data.h> +#include <kernel/entry.h> #include <stdbool.h> #include <stddef.h> @@ -11,7 +12,7 @@ #include "memory.h" static noreturn void hang(void); - +/* static void free_memory_descriptor(EFI_MEMORY_DESCRIPTOR *desc) { kputs("free_memory_descriptor() called\r\n"); @@ -48,13 +49,15 @@ static void parse_efi_memmap(struct efi_memory_map_data *map) } } } - +*/ noreturn void kernel_entry(struct efi_boot_data *data) { + (void)data; cpu_init(); serial_init(); + memory_init(); kputs("<hacker voice> i'm in\r\n"); - parse_efi_memmap(data->memory_map); + //parse_efi_memmap(data->memory_map); hang(); } diff --git a/loader/loader_efi.c b/loader/loader_efi.c index 98b5ad9..aa9da1d 100644 --- a/loader/loader_efi.c +++ b/loader/loader_efi.c @@ -1,7 +1,7 @@ #include "loader_efi.h" -#include <boot/entry_efi.h> - +#include <loader/data.h> +#include <kernel/entry.h> #include <kernel/memory/paging.h> #include <elf/elf64.h> |
