aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/src
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-03-25 18:37:55 +0100
committerFelix Morgner <felix.morgner@ost.ch>2026-03-27 07:02:35 +0100
commit953768ed7af8692818f742566864bfd264a824a2 (patch)
tree4250ddcbba8f32f4e66cd4ded7682b5ddbe3c8b5 /arch/x86_64/src
parenta82416648d148152338dc612c25bf8dff428e773 (diff)
downloadteachos-953768ed7af8692818f742566864bfd264a824a2.tar.xz
teachos-953768ed7af8692818f742566864bfd264a824a2.zip
x86_64/cpu: fix interrupt gate types
Diffstat (limited to 'arch/x86_64/src')
-rw-r--r--arch/x86_64/src/cpu/interrupts.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86_64/src/cpu/interrupts.cpp b/arch/x86_64/src/cpu/interrupts.cpp
index 1f65336..1f12898 100644
--- a/arch/x86_64/src/cpu/interrupts.cpp
+++ b/arch/x86_64/src/cpu/interrupts.cpp
@@ -135,7 +135,7 @@ namespace arch::cpu
.offset_low = static_cast<std::uint16_t>(isr_stub_table[i] & 0xffff), // NOLINT(readability-magic-numbers)
.m_code_segment = segment_selector{0, false, 1},
.interrupt_stack_table_selector = 0,
- .gate_type = gate_type::interrupt_gate,
+ .gate_type = (i < 32 && i != 2) ? gate_type::trap_gate : gate_type::interrupt_gate,
.descriptor_privilege_level = 0,
.present = true,
.offset_middle =