From fde8a1ab65d5e33d90123a3aaa9b5c15e249689f Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Thu, 29 Apr 2021 08:49:41 +0200 Subject: Debug, add memory print driver --- src/boucane.cc | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/boucane.cc') diff --git a/src/boucane.cc b/src/boucane.cc index b298e8a..5823a15 100644 --- a/src/boucane.cc +++ b/src/boucane.cc @@ -1,8 +1,12 @@ #include "boucane.hpp" +#include "core/paging.hpp" +#include "drivers/memtext.hpp" #include "core/idt.hpp" #include "boot/multiboot2.hpp" #include "drivers/framebuffer.hpp" -#include "drivers/psf.hpp" +#include "drivers/psftext.hpp" +#include "drivers/vgatext.hpp" +#include "libs/stdio.hpp" #include "libs/string.hpp" u64 kvar_kernel_vma; @@ -13,6 +17,8 @@ u64 kvar_bss_end; u64 kvar_terminus_psf_start; u64 kvar_terminus_psf_end; +void (*printk)(char *str,...)=printf; + extern "C" void boucane(u64 mb_info){ // Init linker variables asm volatile ("movq $__kernel_vma, %0":"=m"(kvar_kernel_vma)); @@ -26,11 +32,10 @@ extern "C" void boucane(u64 mb_info){ // Init data structures asm volatile ("call load_gdt"); paging_enable(); + memtext_init(); idt_enable_interrupt(); - + // Looking for framebuffer - vga_t_init(); - vga_t_clear(); FRAMEBUFFER fb_info; if(mb2_find_framebuffer((u32*)mb_info, &fb_info)){ if(fb_info.bpp>16){ @@ -41,8 +46,12 @@ extern "C" void boucane(u64 mb_info){ conf.width=fb_info.width; conf.height=fb_info.height; framebuffer_init(conf); - psf_init((void*)kvar_terminus_psf_start); - __putchar=psf_putchar; + psftext_init((void*)kvar_terminus_psf_start); + __putchar=psftext_putchar; + } + else{ + vgatext_init(); + __putchar=vgatext_putchar; } } -- cgit v1.2.3