44 lines
766 B
C
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);
|
|
} |