Kernel: IRQs are now working :)

This commit is contained in:
2022-12-07 02:41:18 +02:00
parent 343dda629c
commit 4202c999fa
15 changed files with 431 additions and 96 deletions

View File

@@ -3,8 +3,12 @@
#include <kernel/kmalloc.h>
#include <kernel/multiboot.h>
#include <kernel/panic.h>
#include <kernel/PIC.h>
#include <kernel/PIT.h>
#include <kernel/PS2.h>
#include <kernel/tty.h>
#include <kernel/kprint.h>
#include <kernel/IO.h>
#include <string.h>
#include <stdlib.h>
@@ -18,21 +22,30 @@ extern "C"
void kernel_main(multiboot_info_t* mbi, uint32_t magic)
{
DISABLE_INTERRUPTS();
if (magic != 0x2BADB002)
asm volatile("hlt");
s_multiboot_info = mbi;
if (magic != 0x2BADB002)
goto halt;
terminal_initialize();
kmalloc_initialize();
PIC::initialize();
gdt_initialize();
idt_initialize();
IDT::initialize();
PIT::initialize();
PS2::initialize();
kprint("Hello from the kernel!\n");
asm volatile("int $14");
ENABLE_INTERRUPTS();
halt:
for (;;)
{
asm("hlt");
}
}