#include "descriptor_tables.h"
#include "io.h"
#include "log.h"
#include "timer.h"
#include "vga.h"
#include "paging.h"

int kmain(void *mboot)
{
	vga_clear();
	vga_set_color(LIGHT_BLUE, BLACK);
	vga_write("Hello!\nWelcome to Bluejay OS\n");
	vga_set_color(WHITE, BLACK);

	init_descriptor_tables();

	vga_set_color(LIGHT_GREEN, BLACK);
	vga_write("Setup complete!\n");
	vga_set_color(WHITE, BLACK);

	init_timer(20);

	initialize_paging();
	asm volatile("sti");


#ifdef TEST_PAGE_FAULT
	kprintf("Causing page fault:\n");

	volatile uint *ptr = (uint *) 0xa0000000;
	volatile uint cause_page_fault = *ptr;

	kprintf("Should have caused page fault: %d...\n", cause_page_fault);
#endif

	while (true)
		asm volatile("hlt");

	return 0xCAFEBABE;
}
