Luna/kernel/src/boot/Init.cpp
2022-11-19 17:59:49 +01:00

29 lines
577 B
C++

#include "boot/Init.h"
#include "arch/CPU.h"
#include "arch/Serial.h"
#include "boot/bootboot.h"
#include "memory/MemoryManager.h"
#include "video/Framebuffer.h"
#include <String.h>
extern BOOTBOOT bootboot;
void Init::check_magic()
{
if (memcmp(bootboot.magic, BOOTBOOT_MAGIC, 4))
{
Serial::println("ERROR: Invalid magic value from bootloader");
for (;;)
;
}
}
void Init::early_init()
{
Framebuffer::init();
MemoryManager::init();
CPU::platform_init();
check(MemoryManager::protect_kernel_sections().has_value());
}