diff options
Diffstat (limited to 'src/boucane.cc')
| -rw-r--r-- | src/boucane.cc | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/boucane.cc b/src/boucane.cc index 5f8c851..060f9cd 100644 --- a/src/boucane.cc +++ b/src/boucane.cc @@ -8,6 +8,7 @@ #include "drivers/vgatext.hpp" #include "libs/stdio.hpp" #include "libs/string.hpp" +#include "drivers/bmp.hpp" u64 kvar_kernel_vma; u64 kvar_stack_pma; @@ -16,6 +17,8 @@ u64 kvar_bss_start; u64 kvar_bss_end; u64 kvar_terminus_psf_start; u64 kvar_terminus_psf_end; +u64 kvar_logo_bmp_start; +u64 kvar_logo_bmp_end; void (*printk)(char *str,...)=printf; @@ -28,6 +31,8 @@ extern "C" void boucane(u64 mb_info){ asm volatile ("movq $__bss_end, %0":"=m"(kvar_bss_end)); asm volatile ("movq $res_binary_res_terminus_psf_start, %0":"=m"(kvar_terminus_psf_start)); asm volatile ("movq $res_binary_res_terminus_psf_end, %0":"=m"(kvar_terminus_psf_end)); + asm volatile ("movq $res_binary_res_logo_bmp_start, %0":"=m"(kvar_logo_bmp_start)); + asm volatile ("movq $res_binary_res_logo_bmp_end, %0":"=m"(kvar_logo_bmp_end)); // Init data structures asm volatile ("call load_gdt"); @@ -54,9 +59,20 @@ extern "C" void boucane(u64 mb_info){ __putchar=vgatext_putchar; } } - + // Booting! printk("Booting Boucane v%d.%d.%d\n",VERSION_MAJOR,VERSION_MINOR, VERSION_PATH); + char bootloader[20]; + if(mb2_find_bootloader_name((u32*)mb_info,bootloader)){ + printk("System informations -- BOOT:%s ", bootloader); + } + + MEM_INFO mem_infos; + if(mb2_find_mem((u32*)mb_info,&mem_infos)){ + u64 mem=mem_infos.mem_upper-mem_infos.mem_lower; + mem/=1024; + printk("RAM:%dMB\n", mem); + } while(1); }
\ No newline at end of file |
