summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2021-04-07 11:16:11 +0000
committerAda Christine <adachristine18@gmail.com>2021-04-07 11:16:11 +0000
commit382ee1b11be7e01d2797efe4ccd97ad7c5a4cf72 (patch)
tree854464f37cb19e97f55ebad1c3260d699eb599a5
parent6d4fefae4f0afff412117133ee5e2178c3c5a1a1 (diff)
moved headers around a bit
-rw-r--r--api/kernel/entry.h3
-rw-r--r--api/loader/data.h (renamed from api/boot/entry_efi.h)2
-rw-r--r--kernel/cpu.c1
-rw-r--r--kernel/entry_efi.c11
-rw-r--r--loader/loader_efi.c4
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>