diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-03-24 17:44:21 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-03-27 07:02:35 +0100 |
| commit | 42895684b631380c8aca94f82209297ac0c0e5f2 (patch) | |
| tree | efac91c2f9431ed66c7616da906dd93859127c1f /arch | |
| parent | 3888a111be2e6b2a53b10752de36d58f18fc8874 (diff) | |
| download | teachos-42895684b631380c8aca94f82209297ac0c0e5f2.tar.xz teachos-42895684b631380c8aca94f82209297ac0c0e5f2.zip | |
kapi: extract interrupt enablement
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/x86_64/include/arch/cpu/interrupts.hpp | 3 | ||||
| -rw-r--r-- | arch/x86_64/kapi/cpu.cpp | 12 | ||||
| -rw-r--r-- | arch/x86_64/src/cpu/interrupts.cpp | 10 |
3 files changed, 10 insertions, 15 deletions
diff --git a/arch/x86_64/include/arch/cpu/interrupts.hpp b/arch/x86_64/include/arch/cpu/interrupts.hpp index 08ecd9c..b9adb6e 100644 --- a/arch/x86_64/include/arch/cpu/interrupts.hpp +++ b/arch/x86_64/include/arch/cpu/interrupts.hpp @@ -111,9 +111,6 @@ namespace arch::cpu auto static read() -> interrupt_descriptor_table_register; }; - auto enable_interrupts() -> void; - auto disable_interrupts() -> void; - } // namespace arch::cpu #endif
\ No newline at end of file diff --git a/arch/x86_64/kapi/cpu.cpp b/arch/x86_64/kapi/cpu.cpp index 693d328..8ca3847 100644 --- a/arch/x86_64/kapi/cpu.cpp +++ b/arch/x86_64/kapi/cpu.cpp @@ -3,7 +3,6 @@ #include "kapi/system.hpp" #include "arch/cpu/initialization.hpp" -#include "arch/cpu/interrupts.hpp" #include <atomic> @@ -21,7 +20,6 @@ namespace kapi::cpu arch::cpu::initialize_descriptors(); arch::cpu::initialize_legacy_interrupts(); - arch::cpu::enable_interrupts(); } auto halt() -> void @@ -30,4 +28,14 @@ namespace kapi::cpu __builtin_unreachable(); } + auto enable_interrupts() -> void + { + asm volatile("sti"); + } + + auto disable_interrupts() -> void + { + asm volatile("cli"); + } + } // namespace kapi::cpu diff --git a/arch/x86_64/src/cpu/interrupts.cpp b/arch/x86_64/src/cpu/interrupts.cpp index 6f66bbd..dc236e6 100644 --- a/arch/x86_64/src/cpu/interrupts.cpp +++ b/arch/x86_64/src/cpu/interrupts.cpp @@ -168,14 +168,4 @@ namespace arch::cpu return idtr; } - auto enable_interrupts() -> void - { - asm volatile("sti"); - } - - auto disable_interrupts() -> void - { - asm volatile("cli"); - } - } // namespace arch::cpu
\ No newline at end of file |
