k-chow/k/idt.c

21 lines
309 B
C

#include "idt.h"
static struct idt idt = { 0 };
static void load_idt()
{
struct idt_r idtr;
idtr.addr = (uint32_t)&idt;
idtr.limit = IDT_SIZE - 1;
asm volatile("lidt %0\n"
:
: "m" (idtr)
: "memory");
}
void init_idt()
{
load_idt();
}