diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-09-29 17:11:15 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-09-29 17:11:15 +0200 |
| commit | a8f2e1a0edc37cd1c06447c42ff94f3370e8a6bc (patch) | |
| tree | 982df6acd03b7a13d24a9eae665d7905376e54b3 /arch/x86_64/kapi/interrupts.cpp | |
| parent | cf12e4c7f618029150fbec000f0ad7f780ff721a (diff) | |
| download | kernel-a8f2e1a0edc37cd1c06447c42ff94f3370e8a6bc.tar.xz kernel-a8f2e1a0edc37cd1c06447c42ff94f3370e8a6bc.zip | |
x86_64: fix flag reading
Diffstat (limited to 'arch/x86_64/kapi/interrupts.cpp')
| -rw-r--r-- | arch/x86_64/kapi/interrupts.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/x86_64/kapi/interrupts.cpp b/arch/x86_64/kapi/interrupts.cpp index 8d863bad..37745122 100644 --- a/arch/x86_64/kapi/interrupts.cpp +++ b/arch/x86_64/kapi/interrupts.cpp @@ -1,16 +1,13 @@ #include <kapi/interrupts.hpp> +#include <arch/cpu/flags.hpp> + namespace kapi::interrupts { auto enabled() -> bool { - auto value = false; - asm volatile("pushfq\n" - "pop %0\n" - "and $0x200, %0" - : "=r"(value)); - return value; + return arch::cpu::check_flags<arch::cpu::flags::interrupt>(); } auto enabled(bool value) -> void |
