From 88c5873713a4eda47d299abd9cecaa49221ec9fe Mon Sep 17 00:00:00 2001 From: Miguel Date: Mon, 10 Sep 2018 00:54:35 +0200 Subject: physical memory manager review et al. --- kernel/kernel.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'kernel/kernel.c') diff --git a/kernel/kernel.c b/kernel/kernel.c index dfcab3f..2fdb09b 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -46,12 +46,13 @@ void kernel_main(uint32_t eax,uint32_t ebx) // -- DISABLE LEGACY PIC -- // klog("Remapping & Disabling Programmable Interrupt Controller (PIC) ..."); + fixme("io_wait & spurious interrupts"); asm_pic_setup(); // -- GET CONFIGS -- // klog("Read Multiboot Structures ..."); multiboot_information *cfg_multiboot; - cfg_multiboot=multiboot_read(eax, ebx); + cfg_multiboot=multiboot_read(eax, ebx,true); klog("Read Advanced Power Configuration Interface (ACPI) Structures ..."); acpi_information cfg_acpi; @@ -67,15 +68,21 @@ void kernel_main(uint32_t eax,uint32_t ebx) klog("Interrupt Vector Table (IVT) init ..."); interrupts_init(0x08); interrupts_install(); - fixme("register interrupt callback funcs"); + fixme("register interrupt callback funcs (instead hardcoded dispatcher)"); // -- MEMORY MANAGEMENT -- // klog("Memory init ... "); uint32_t kernel_blocks=mem_init(cfg_multiboot); klog("Vritual Memory / Paging init ... "); + fixme("do not disable anymore on context switching!"); + fixme("write convenneint management funcs as: mapCPU, mapKErnel, map USerspace.."); + pdirectory *dir=vmem_init(kernel_blocks,(uint32_t)cfg_multiboot->framebuffer_addr,cfg_acpi.local_apic_address,cfg_acpi.io_apic_address); + + fixme("move stack?"); + // -- RAM IMAGE -- // klog("Ram Filesystem init ... "); fs_mount(cfg_multiboot); -- cgit v1.2.3