#include "boucane.hpp" #include "core/idt.hpp" #include "boot/multiboot2.hpp" #include "core/paging.hpp" #include "core/apic.hpp" #include "drivers/acpi.hpp" #include "drivers/psf.hpp" #include "drivers/framebuffer.hpp" #include "libs/stdio.hpp" #include "core/asm.hpp" extern u32 MB_INFO; extern u64 res_binary_res_terminus_psf_start; extern "C" void boucane(){ // Init data structures LOAD_GDT(); paging_enable(); idt_enable_interrupt(); FRAMEBUFFER fb_info; if(mb2_find_framebuffer((u32*)&MB_INFO, &fb_info)){ if(fb_info.bpp>16){ FB_CFG conf; conf.depth=fb_info.bpp; conf.location=fb_info.addr; conf.pitch=fb_info.pitch; conf.width=fb_info.width; conf.height=fb_info.height; framebuffer_init(conf); psf_init((void*)&res_binary_res_terminus_psf_start); __putchar=psf_putchar; } } vga_t_init(); vga_t_clear(); printk("Booting Boucane v%d.%d.%d\n",VERSION_MAJOR,VERSION_MINOR, VERSION_PATH); while(1); }