Browse Source

Kernel: Separate NonMaskableInterruptDisabler into its own file

This is for the upcoming change to make InterruptDisabler class work for
the aarch64 build.
Timon Kruiper 3 years ago
parent
commit
ea9cf8b6ab

+ 0 - 13
Kernel/Arch/x86/InterruptDisabler.h

@@ -35,17 +35,4 @@ private:
     u32 m_flags;
 };
 
-class NonMaskableInterruptDisabler {
-public:
-    NonMaskableInterruptDisabler()
-    {
-        IO::out8(0x70, IO::in8(0x70) | 0x80);
-    }
-
-    ~NonMaskableInterruptDisabler()
-    {
-        IO::out8(0x70, IO::in8(0x70) & 0x7F);
-    }
-};
-
 }

+ 28 - 0
Kernel/Arch/x86/NonMaskableInterruptDisabler.h

@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <AK/Types.h>
+
+#include <Kernel/Arch/x86/IO.h>
+
+namespace Kernel {
+
+class NonMaskableInterruptDisabler {
+public:
+    NonMaskableInterruptDisabler()
+    {
+        IO::out8(0x70, IO::in8(0x70) | 0x80);
+    }
+
+    ~NonMaskableInterruptDisabler()
+    {
+        IO::out8(0x70, IO::in8(0x70) & 0x7F);
+    }
+};
+
+}

+ 1 - 0
Kernel/Time/RTC.cpp

@@ -6,6 +6,7 @@
 
 #include <Kernel/Arch/x86/IO.h>
 #include <Kernel/Arch/x86/InterruptDisabler.h>
+#include <Kernel/Arch/x86/NonMaskableInterruptDisabler.h>
 #include <Kernel/CMOS.h>
 #include <Kernel/Time/RTC.h>
 #include <Kernel/Time/TimeManagement.h>