From 48cc6590a9eb94f4b00286d32daf8a7ff7d93ea3 Mon Sep 17 00:00:00 2001 From: Malo Lecomte Date: Wed, 14 Jul 2021 21:32:15 +0200 Subject: [PATCH] feat(idt): add load_idt instructions --- k/idt.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 k/idt.c diff --git a/k/idt.c b/k/idt.c new file mode 100644 index 0000000..510a626 --- /dev/null +++ b/k/idt.c @@ -0,0 +1,20 @@ +#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(); +}