2020-02-06 20:20:58 +00:00
|
|
|
#include <kernel/chroma.h>
|
|
|
|
|
2020-04-11 21:59:39 +00:00
|
|
|
size_t KernelAddr = (size_t) &LoadAddr;
|
|
|
|
size_t KernelEnd = (size_t) &end;
|
|
|
|
|
2020-02-06 20:20:58 +00:00
|
|
|
|
|
|
|
void _start(void) {
|
|
|
|
|
2020-04-11 21:59:39 +00:00
|
|
|
|
2020-02-06 20:20:58 +00:00
|
|
|
SerialPrintf("\r\nBooting Chroma..\r\n");
|
2020-04-11 21:59:39 +00:00
|
|
|
SerialPrintf("Kernel loaded at 0x%p, ends at 0x%p, is %d bytes long.\r\n", KernelAddr, KernelEnd, KernelEnd - KernelAddr);
|
|
|
|
|
|
|
|
ListMemoryMap();
|
|
|
|
|
2020-02-06 20:20:58 +00:00
|
|
|
InitPrint();
|
|
|
|
|
2020-04-11 21:59:39 +00:00
|
|
|
WriteStringWithFont("Initty Testing");
|
|
|
|
|
2020-02-06 20:20:58 +00:00
|
|
|
SetupInitialGDT();
|
|
|
|
SetupIDT();
|
|
|
|
InitInterrupts();
|
|
|
|
|
|
|
|
InitMemoryManager();
|
|
|
|
MemoryTest();
|
|
|
|
|
|
|
|
InitPaging();
|
|
|
|
|
2020-04-11 21:59:39 +00:00
|
|
|
|
2020-02-06 20:20:58 +00:00
|
|
|
for(;;) { }
|
|
|
|
|
|
|
|
}
|