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

@@ -2,26 +2,12 @@
#include <stdint.h>
union GateDescriptor
constexpr uint8_t IRQ_VECTOR_BASE = 0x50;
namespace IDT
{
struct
{
uint16_t offset_lo;
uint16_t selector;
uint8_t reserved;
uint8_t type : 4;
uint8_t zero : 1;
uint8_t dpl : 2;
uint8_t present : 1;
uint16_t offset_hi;
};
struct
{
uint32_t low;
uint32_t high;
};
} __attribute__((packed));
void initialize();
void register_irq_handler(uint8_t irq, void (*f)());
void idt_initialize();
}