diff --git a/build/kernel.ld b/build/kernel.ld index bcc86e2..7604bd8 100644 --- a/build/kernel.ld +++ b/build/kernel.ld @@ -75,3 +75,4 @@ SECTIONS { kernelEnd = .; } + diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index cee2d63..73e26d3 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -62,21 +62,19 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg) // Memory MmInitMemoryMap(); - MmInitPaging(); - MmInitHeap(); MmInitGdt(); + MmInitHeap(); + MmInitPaging(); - // Basics for interrupts + // IDT KeSetupIDT(); KeEnableIRQs(); + + // Interrupt handlers + MmActivatePageHandler(); KeEnableRTC(); KeEnablePIT(); KeGetCpuInfos(); - - // Memory (2) - MmActivatePageHandler(); - - // Drivers IoEnableKeyb(); // Command line (kernel mode) diff --git a/kaleid/kernel/mm/paging.c b/kaleid/kernel/mm/paging.c index 1b7ff74..98864f7 100644 --- a/kaleid/kernel/mm/paging.c +++ b/kaleid/kernel/mm/paging.c @@ -22,6 +22,7 @@ enum #define RAM_MAX 32 #define NB_4K 150 // * 2 MB +#define USERSPACE 0x40000000 //-----------