Files
nub-os/src/arch/x86_64/entry.c
nub31 0b8ee325aa ...
2025-09-03 17:20:00 +02:00

44 lines
766 B
C

#include "../../kernel/kernel.h"
#include "../arch.h"
#include "interrupts/idt.h"
#include "interrupts/irq.h"
#include "mmap.h"
#include "multiboot.h"
#include "util.h"
#include "vga.h"
#include <stdint.h>
#include <stdio.h>
void entry(uint32_t magic, multiboot_info_t* info)
{
if (magic != 0x2BADB002)
{
printf("Multiboot magic does not match\n");
panic();
}
if (info == NULL)
{
printf("Multiboot info is NULL\n");
panic();
}
vga_clear();
idt_init();
remap_pic();
map_memory(info);
enable_interrupts();
main();
}
void panic()
{
printf("Kernel panic!\n");
disable_interrupts();
halt();
}
void put_char(char character)
{
vga_put_char(character, VGA_DEFAULT_COLOR);
}