diff options
Diffstat (limited to 'src/kernel/core/kmain.c')
-rw-r--r-- | src/kernel/core/kmain.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/kernel/core/kmain.c b/src/kernel/core/kmain.c index 6c9700e..8f14843 100644 --- a/src/kernel/core/kmain.c +++ b/src/kernel/core/kmain.c @@ -1,4 +1,6 @@ #include <types.h> +#include <config.h> + #include "multiboot.h" #include "monitor.h" #include "sys.h" @@ -24,7 +26,7 @@ void kmain(struct multiboot_info_t* mbd, int32_t magic) { size_t totalRam = 0; uint32_t i; - mem_placementAddr = (size_t)&end; + mem_placementAddr = ((size_t)&end & 0xFFFFF000) + 0x1000; mbd->cmdline += 0xE0000000; mbd->mods_addr += 0xE0000000; struct module_t *mods = (struct module_t*)mbd->mods_addr; for (i = 0; i < mbd->mods_count; i++) { @@ -35,7 +37,12 @@ void kmain(struct multiboot_info_t* mbd, int32_t magic) { mem_placementAddr = (mods[i].mod_end & 0xFFFFF000) + 0x1000; } - monitor_write("Grapes 0.0.4 'Cat in my heart' starting up :\n"); + monitor_write(K_OS_NAME); + monitor_write(" version "); + monitor_write(K_OS_VER); + monitor_write(" codename '"); + monitor_write(K_OS_CODENAME); + monitor_write("' starting up :\n"); idt_init(); @@ -47,6 +54,8 @@ void kmain(struct multiboot_info_t* mbd, int32_t magic) { kheap_init(); timer_init(30); tasking_init(); + + test_run(); monitor_write("\nLoading modules :\n"); for (i = 0; i < mbd->mods_count; i++) { @@ -64,8 +73,6 @@ void kmain(struct multiboot_info_t* mbd, int32_t magic) { } } - test_run(); - monitor_write("Modules now RULE THE WORLD !\n"); sti(); tasking_switch(); |