2017-11-01 04:37:39 -04:00
|
|
|
#include <kernelmq/multiboot.h>
|
|
|
|
|
2017-11-01 01:01:29 -04:00
|
|
|
#include "logger.h"
|
2017-11-01 01:26:22 -04:00
|
|
|
#include "gdt.h"
|
2017-11-01 02:07:03 -04:00
|
|
|
#include "idt.h"
|
2017-11-01 01:01:29 -04:00
|
|
|
|
2017-11-01 10:45:01 -04:00
|
|
|
void main(struct KernelMQ_Multiboot_Info multiboot_info)
|
2017-11-01 00:43:42 -04:00
|
|
|
{
|
2017-11-01 01:01:29 -04:00
|
|
|
logger_initialize();
|
2017-11-01 04:25:39 -04:00
|
|
|
|
2017-11-01 10:45:01 -04:00
|
|
|
print_multiboot_info(multiboot_info);
|
2017-11-01 04:25:39 -04:00
|
|
|
|
2017-11-01 01:01:29 -04:00
|
|
|
logger_info("Kernel initialization started.");
|
2017-11-01 01:26:22 -04:00
|
|
|
|
|
|
|
gdt_initialize();
|
2017-11-01 02:07:03 -04:00
|
|
|
idt_initialize();
|
|
|
|
|
|
|
|
asm volatile ("int $0x3");
|
|
|
|
asm volatile ("int $0x4");
|
2017-11-01 01:26:22 -04:00
|
|
|
|
2017-11-01 01:01:29 -04:00
|
|
|
logger_warn("Nothing to do.");
|
|
|
|
logger_fail("Halt.");
|
2017-11-01 00:43:42 -04:00
|
|
|
}
|