summaryrefslogtreecommitdiff
path: root/Kernel/Arch/i386/CPU.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/Arch/i386/CPU.cpp')
-rw-r--r--Kernel/Arch/i386/CPU.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/Kernel/Arch/i386/CPU.cpp b/Kernel/Arch/i386/CPU.cpp
index cf4d2259ab..69e4b1db53 100644
--- a/Kernel/Arch/i386/CPU.cpp
+++ b/Kernel/Arch/i386/CPU.cpp
@@ -39,6 +39,7 @@
#include <Kernel/KSyms.h>
#include <Kernel/Process.h>
#include <Kernel/VM/MemoryManager.h>
+#include <LibBareMetal/IO.h>
#include <LibC/mallocdefs.h>
//#define PAGE_FAULT_DEBUG
@@ -833,3 +834,13 @@ void __assertion_failed(const char* msg, const char* file, unsigned line, const
;
}
#endif
+
+NonMaskableInterruptDisabler::NonMaskableInterruptDisabler()
+{
+ IO::out8(0x70, IO::in8(0x70) | 0x80);
+}
+
+NonMaskableInterruptDisabler::~NonMaskableInterruptDisabler()
+{
+ IO::out8(0x70, IO::in8(0x70) & 0x7F);
+}