summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index ccc7446..ad09360 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -27,6 +27,7 @@
#include "smp.h"
#include "fs/fs.h"
+#include "fs/elf.h"
#include "kmalloc.h"
#include "driver/vesa.h"
#include "asm_pit.h"
@@ -59,9 +60,11 @@ void kernel_main(uint32_t eax,uint32_t ebx)
klog("Read Advanced Power Configuration Interface (ACPI) Structures ...");
acpi_information cfg_acpi;
bool acpi_found=acpi_fill(&cfg_acpi);
- fixme("try to read (legacy) multiprocessor mp strucutres (see: xxx/mp.c)");
+ fixme("Try to read (legacy) multiprocessor mp strucutres as well (see: xxx/mp.c)");
if(!acpi_found) kpanic("We Currently rely on ACPI Structures Sorry!");
+ elf_multiboot_read(cfg_multiboot);
+
// -- GDT -- //
klog("Global Descriptor Table (GDT) init ...");
gdt_init();
@@ -88,10 +91,7 @@ void kernel_main(uint32_t eax,uint32_t ebx)
fixme("write convenneint management funcs as: mapCPU, mapKErnel, map USerspace..");
fixme("move stack and guard with empty pages!");
- vmem_init(0, // this is hardcoded to first 32megs anyway
- (uint32_t)cfg_multiboot->framebuffer_addr,
- cfg_acpi.local_apic_address,
- cfg_acpi.io_apic_address);
+ vmem_init(cfg_multiboot,&cfg_acpi);
struct pdirectory_struct *dir=vmem_kernel_dir();
x86_set_page_directory(dir);