Files
ksOS/Kernel/Source/KernelMain.c
T

23 lines
556 B
C

#include "../Common/bootinfo.h"
#include <Arch/DTB.h>
#include <VM/PMM.h>
#include <VM/VMM.h>
#include <VM/Heap.h>
#include <OS/Log.h>
#include <OS/Panic.h>
void KernelMain(Bootinfo* bootinfo) {
OSLog("Kernel started.\n");
if (bootinfo->magic != BOOTINFO_MAGIC) {
OSPanic("Invalid bootinfo magic");
}
VMBootMemoryMap bootMap = {0};
bootMap.reservedCount = 0;
DTBParse(bootinfo->dtb, &bootMap);
PMMInitialize(&bootMap);
VMMInitialize(&bootMap, bootinfo);
HeapInitialize();
OSLog("Kernel initialized.\n");
}