32 lines
575 B
C
32 lines
575 B
C
#include "console.h"
|
|
#include "interrupts/idt.h"
|
|
#include "interrupts/irq.h"
|
|
#include "kernel.h"
|
|
#include "mem/pmm.h"
|
|
#include "mem/vmm.h"
|
|
#include "panic.h"
|
|
#include "util.h"
|
|
|
|
void x86_64_main(u32 magic, multiboot_info_t* info, u32 kernel_page_count)
|
|
{
|
|
console_clear();
|
|
|
|
if (magic != 0x2BADB002)
|
|
{
|
|
panic("Multiboot magic does not match\n");
|
|
}
|
|
|
|
if (info == NULL)
|
|
{
|
|
panic("Multiboot info is NULL\n");
|
|
}
|
|
|
|
idt_init();
|
|
remap_pic();
|
|
|
|
pmm_init(kernel_page_count, info);
|
|
vmm_init(kernel_page_count);
|
|
|
|
kernel_main();
|
|
}
|