diff options
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r-- | kernel/kernel.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index 862425a..d817741 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -1,12 +1,29 @@ #include <comus/cpu.h> #include <comus/memory.h> +#include <comus/mboot.h> #include <lib.h> #include <stdio.h> +#include <stdlib.h> -void main(void) +struct memory_map mmap; + +void main(long magic, volatile void *mboot) { + (void) magic; // TODO: check multiboot magic + + // initalize idt and pic + // WARNING: must be done before anything else cpu_init(); - memory_init(NULL); + + // load memory map + mboot_load_mmap(mboot, &mmap); + + // initalize memory + memory_init(&mmap); + + char *a = malloc(3); + *a = 3; + + // halt printf("halting...\n"); - while(1); } |