aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/kapi
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-09-29 17:11:15 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-09-29 17:11:15 +0200
commita8f2e1a0edc37cd1c06447c42ff94f3370e8a6bc (patch)
tree982df6acd03b7a13d24a9eae665d7905376e54b3 /arch/x86_64/kapi
parentcf12e4c7f618029150fbec000f0ad7f780ff721a (diff)
downloadkernel-a8f2e1a0edc37cd1c06447c42ff94f3370e8a6bc.tar.xz
kernel-a8f2e1a0edc37cd1c06447c42ff94f3370e8a6bc.zip
x86_64: fix flag reading
Diffstat (limited to 'arch/x86_64/kapi')
-rw-r--r--arch/x86_64/kapi/interrupts.cpp9
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