Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

kernel.c (1741B)


      1 #include <stdint.h>
      2 #include "../include/print.h"
      3 #include "../include/kernel.h"
      4 #include "../include/gdt.h"
      5 #include "../include/io.h"
      6 #include "../include/commands.h"
      7 #include "../include/keyboard.h"
      8 // #include "../include/idt.h"
      9 
     10 #define MODE "black"
     11 
     12 //extern void idt_handler_0();
     13 //extern void idt_handler_13();
     14 
     15 int isInit = -1;
     16 
     17 void kernel (uint32_t *f_base, uint64_t f_size, uint64_t pp_line, uint64_t maxX, uint64_t maxY) {
     18     load_gdt();
     19 
     20     k_init(MODE);
     21     uint64_t x = 0;
     22     uint64_t y = 0;
     23 
     24     k_print(MODE, " $$\\  $$\\          $$\\                  $$$$$$\\   $$$$$$\\ \n");
     25     k_print(MODE, " $$ | $$  |         $$ |                 $$  __$$\\ $$  __$$\\\n");
     26     k_print(MODE, " $$ |$$  / $$$$$$\\  $$ |  $$\\ $$$$$$\\  $$ /  $$ |$$ /  \\__|\n");
     27     k_print(MODE, " $$$$$  /  \\____$$\\ $$ | $$  |\\____$$\\ $$ |  $$ |\\$$$$$$\\  \n");
     28     k_print(MODE, " $$  $$<   $$$$$$$ |$$$$$$  / $$$$$$$ |$$ |  $$ | \\____$$\\ \n");
     29     k_print(MODE, " $$ |\\$$\\ $$  __$$ |$$  _$$< $$  __$$ |$$ |  $$ |$$\\   $$ |\n");
     30     k_print(MODE, " $$ | \\$$\\\\$$$$$$$ |$$ | \\$$\\\\$$$$$$$ | $$$$$$  |\\$$$$$$  |\n");
     31     k_print(MODE, " \\__|  \\__|\\_______|\\__|  \\__|\\_______| \\______/  \\______/ \n");
     32 
     33     k_print(MODE, "\n");
     34     k_print(MODE, "\n");
     35     k_print(MODE, "\n");
     36 
     37     k_print(MODE, "Welcome to KakaOS! \n");
     38     k_info(MODE, "[INFO] Loading GDT... \n");
     39     k_info(MODE, "[INFO] Loading kernel drivers... \n");
     40     k_info(MODE, "[INFO] Loading PS/2 driver... \n");
     41     k_warn(MODE, "[WARNING] You are currently in ring 0 kernel mode. You are solely responsible for any harm to your hardware. Operate at own risk. \n");
     42     k_print(MODE, "KakaOS > ");
     43 
     44     // __asm__ volatile("int $0");
     45 
     46      keyboard();
     47 }