#include "types.h" #ifdef ARCH_X86_64 #include "arch/x86_64/utils.h" #endif #ifdef ARCH_X86 #include "arch/i386/utils.h" #include "arch/i386/gdt.h" #include "arch/i386/interrupt/idt.h" #endif #ifdef CONFIG_VGA #include "graphics/vga.h" #endif void kstart() { #ifdef CONFIG_VGA vga_driver.init(); vga_driver.write_string(0, 0, "hello there", vga_color(VGA_BLACK, VGA_PURE_WHITE)); vga_driver.write_string(0, 1, "gcc apparently sucks idk lol", vga_color(VGA_BLACK, VGA_RED)); #endif vga_driver.write_string(0, 0, "initializing GDT", vga_color(VGA_BLACK, VGA_PURE_WHITE)); setup_gdt(); setup_idt(); vga_driver.write_string(0, 0, "initialized IDT, now going to run some simple tests", vga_color(VGA_BLACK, VGA_PURE_WHITE)); __asm__ __volatile__ ("int $0x20"); vga_driver.write_string(0, 1, "should've ran int 0x20", vga_color(VGA_BLACK, VGA_PURE_WHITE)); /* always run khalt for now */ /* khalt(); */ }