aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/kernel.c
blob: 383966d6bc04282fcadb857f9ceb79828b38abb8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "graphics/vesa.h"
#include "graphics/graphics.h"
#include "gdt/gdt.h"
#include "interrupts/interrupts.h"
#include "input/input.h"
#include "timer/timer.h"

void init() {
    gdt_install();
    idt_install();
    isrs_install();
    irq_install();
    asm volatile ("sti");
    timer_install();
    terminal_initialize();
    keyboard_install();
    // mouse_install();
}

void kernel_main(void) {
    // vbe_set_mode(0x11B);
    // set_optimal_resolution();
    init();
    keyboard_install();

    terminal_write_string("Melvix loaded successfully!\n");

    // __asm__  ("div %0" :: "r"(0)); // Exception testing x/0
    for (;;);
}