summaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-10 00:54:35 +0200
committerMiguel <m.i@gmx.at>2018-09-10 00:54:35 +0200
commit88c5873713a4eda47d299abd9cecaa49221ec9fe (patch)
tree0eeb21f69824ddbef5e3076704fc099d65848244 /kernel/kernel.c
parent074490c63dd09fc941b1162f62af1985ee9576d3 (diff)
physical memory manager review et al.
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c11
1 files changed, 9 insertions, 2 deletions
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);