From 37ee2ca85d0534d3cadfdf412f1233b52f1425fe Mon Sep 17 00:00:00 2001 From: pointer-to-bios Date: Thu, 4 Apr 2024 22:47:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E8=AE=BE=E7=BD=AE=E4=B8=AD=E6=96=AD?= =?UTF-8?q?=E4=B9=8B=E5=89=8D=E5=B0=86=E6=89=80=E6=9C=89=E7=9A=84=E4=B8=AD?= =?UTF-8?q?=E6=96=AD=E6=8F=8F=E8=BF=B0=E7=AC=A6=E5=AE=9A=E5=90=91=E5=88=B0?= =?UTF-8?q?unsupported=E5=A4=84=E7=90=86=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/kernel/arch/x86_64/interrupt_x86_64.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/kernel/arch/x86_64/interrupt_x86_64.c b/src/kernel/arch/x86_64/interrupt_x86_64.c index 98f7b00..6879f22 100644 --- a/src/kernel/arch/x86_64/interrupt_x86_64.c +++ b/src/kernel/arch/x86_64/interrupt_x86_64.c @@ -4,8 +4,14 @@ #include void interrupt_init() -{ +{ gate_descriptor_t gate; + trap_gate_generate(gate, interrupt_entry_sym(UNSUPPORTED)); + for (usize i = 4; i < 256; i++) + { + interrupt_register_gate(gate, i); + } + trap_gate_generate(gate, interrupt_entry_sym(DE)); interrupt_register_gate(gate, 0); trap_gate_generate(gate, interrupt_entry_sym(UNSUPPORTED)); @@ -14,5 +20,6 @@ void interrupt_init() interrupt_register_gate(gate, 2); trap_gate_generate(gate, interrupt_entry_sym(BP)); interrupt_register_gate(gate, 3); + interrupt_open(); }