21 lines
309 B
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();
|
||
|
}
|