瀏覽代碼

Kernel: Don't directly include <Kernel/Arch/x86/TrapFrame.h>

This adds a new arch-independent header which in turn includes the
correct header for the build architecture.
Gunnar Beutner 2 年之前
父節點
當前提交
1e3edb3b76

+ 17 - 0
Kernel/Arch/TrapFrame.h

@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2022, Gunnar Beutner <gbeutner@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <AK/Platform.h>
+
+#if ARCH(X86_64) || ARCH(I386)
+#    include <Kernel/Arch/x86/TrapFrame.h>
+#elif ARCH(AARCH64)
+#    include <Kernel/Arch/aarch64/TrapFrame.h>
+#else
+#    error "Unknown architecture"
+#endif

+ 1 - 1
Kernel/Arch/x86/common/Interrupts.cpp

@@ -30,8 +30,8 @@
 #include <Kernel/Arch/Processor.h>
 #include <Kernel/Arch/RegisterState.h>
 #include <Kernel/Arch/SafeMem.h>
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Arch/x86/ISRStubs.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
 
 extern FlatPtr start_of_unmap_after_init;
 extern FlatPtr end_of_unmap_after_init;

+ 1 - 1
Kernel/Arch/x86/common/Processor.cpp

@@ -24,10 +24,10 @@
 #include <Kernel/Arch/Processor.h>
 #include <Kernel/Arch/SafeMem.h>
 #include <Kernel/Arch/ScopedCritical.h>
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Arch/x86/CPUID.h>
 #include <Kernel/Arch/x86/MSR.h>
 #include <Kernel/Arch/x86/ProcessorInfo.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
 
 #include <Kernel/Memory/PageDirectory.h>
 #include <Kernel/Memory/ScopedAddressSpaceSwitcher.h>

+ 1 - 1
Kernel/Arch/x86/i386/InterruptEntry.cpp

@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-2-Clause
  */
 
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Arch/x86/DescriptorTable.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
 
 // clang-format off
 asm(

+ 1 - 1
Kernel/Arch/x86/i386/Processor.cpp

@@ -6,7 +6,7 @@
 
 #include <AK/StdLibExtras.h>
 #include <Kernel/Arch/Processor.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Process.h>
 #include <Kernel/Random.h>
 #include <Kernel/Scheduler.h>

+ 1 - 1
Kernel/Arch/x86/x86_64/SyscallEntry.cpp

@@ -4,9 +4,9 @@
  * SPDX-License-Identifier: BSD-2-Clause
  */
 
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Arch/x86/DescriptorTable.h>
 #include <Kernel/Arch/x86/Processor.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
 
 extern "C" void syscall_entry();
 extern "C" [[gnu::naked]] void syscall_entry()

+ 1 - 1
Kernel/Scheduler.cpp

@@ -9,7 +9,7 @@
 #include <AK/Singleton.h>
 #include <AK/Time.h>
 #include <Kernel/Arch/InterruptDisabler.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Debug.h>
 #include <Kernel/Panic.h>
 #include <Kernel/PerformanceManager.h>

+ 1 - 1
Kernel/Syscall.cpp

@@ -6,8 +6,8 @@
  */
 
 #include <Kernel/API/Syscall.h>
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Arch/x86/Interrupts.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
 #include <Kernel/Memory/MemoryManager.h>
 #include <Kernel/Panic.h>
 #include <Kernel/PerformanceManager.h>

+ 1 - 1
Kernel/Thread.cpp

@@ -11,7 +11,7 @@
 #include <AK/Time.h>
 #include <Kernel/Arch/InterruptDisabler.h>
 #include <Kernel/Arch/SmapDisabler.h>
-#include <Kernel/Arch/x86/TrapFrame.h>
+#include <Kernel/Arch/TrapFrame.h>
 #include <Kernel/Debug.h>
 #include <Kernel/Devices/KCOVDevice.h>
 #include <Kernel/FileSystem/OpenFileDescription.h>