diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-03-25 18:37:55 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-03-27 07:02:35 +0100 |
| commit | 953768ed7af8692818f742566864bfd264a824a2 (patch) | |
| tree | 4250ddcbba8f32f4e66cd4ded7682b5ddbe3c8b5 /arch/x86_64/src | |
| parent | a82416648d148152338dc612c25bf8dff428e773 (diff) | |
| download | teachos-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.cpp | 2 |
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 = |
