From d3b6201b405fb7a041b5e12001c2dee4de072ef5 Mon Sep 17 00:00:00 2001 From: James Mintram Date: Sat, 2 Apr 2022 23:48:04 +0100 Subject: [PATCH] Kernel: Make PageDirectory.cpp compile on aarch64 --- Kernel/Arch/{x86 => }/PageDirectory.h | 2 +- Kernel/Arch/{x86 => }/PageFault.h | 4 +--- Kernel/Arch/aarch64/Processor.h | 3 +++ Kernel/Arch/x86/Processor.h | 2 +- Kernel/Arch/x86/common/Interrupts.cpp | 2 +- Kernel/Memory/MemoryManager.cpp | 2 +- Kernel/Memory/PageDirectory.cpp | 2 ++ 7 files changed, 10 insertions(+), 7 deletions(-) rename Kernel/Arch/{x86 => }/PageDirectory.h (99%) rename Kernel/Arch/{x86 => }/PageFault.h (98%) diff --git a/Kernel/Arch/x86/PageDirectory.h b/Kernel/Arch/PageDirectory.h similarity index 99% rename from Kernel/Arch/x86/PageDirectory.h rename to Kernel/Arch/PageDirectory.h index 7c8e7e2cf9..1fddb0ad4f 100644 --- a/Kernel/Arch/x86/PageDirectory.h +++ b/Kernel/Arch/PageDirectory.h @@ -12,7 +12,6 @@ #include #include -VALIDATE_IS_X86() namespace Kernel { @@ -83,6 +82,7 @@ public: PhysicalPtr physical_page_base() const { return PhysicalAddress::physical_page_base(m_raw); } void set_physical_page_base(PhysicalPtr value) { + // FIXME: IS THIS PLATFORM SPECIFIC? m_raw &= 0x8000000000000fffULL; m_raw |= PhysicalAddress::physical_page_base(value); } diff --git a/Kernel/Arch/x86/PageFault.h b/Kernel/Arch/PageFault.h similarity index 98% rename from Kernel/Arch/x86/PageFault.h rename to Kernel/Arch/PageFault.h index a51c3e3874..1d939d8ea2 100644 --- a/Kernel/Arch/x86/PageFault.h +++ b/Kernel/Arch/PageFault.h @@ -6,12 +6,10 @@ #pragma once +#include #include #include -#include -VALIDATE_IS_X86() - namespace Kernel { struct PageFaultFlags { diff --git a/Kernel/Arch/aarch64/Processor.h b/Kernel/Arch/aarch64/Processor.h index 512c13da45..76d1e30788 100644 --- a/Kernel/Arch/aarch64/Processor.h +++ b/Kernel/Arch/aarch64/Processor.h @@ -33,6 +33,9 @@ public: ALWAYS_INLINE static void pause() { } ALWAYS_INLINE static void wait_check() { } + ALWAYS_INLINE u8 physical_address_bit_width() const { return 0; } + ALWAYS_INLINE u8 virtual_address_bit_width() const { return 0; } + ALWAYS_INLINE static bool is_initialized() { return false; diff --git a/Kernel/Arch/x86/Processor.h b/Kernel/Arch/x86/Processor.h index cd93b2bf37..05493f82e0 100644 --- a/Kernel/Arch/x86/Processor.h +++ b/Kernel/Arch/x86/Processor.h @@ -12,11 +12,11 @@ #include #include +#include #include #include #include #include -#include #include #include #include diff --git a/Kernel/Arch/x86/common/Interrupts.cpp b/Kernel/Arch/x86/common/Interrupts.cpp index e87601130d..a29c6ecdb4 100644 --- a/Kernel/Arch/x86/common/Interrupts.cpp +++ b/Kernel/Arch/x86/common/Interrupts.cpp @@ -23,10 +23,10 @@ #include +#include #include #include #include -#include #include #include diff --git a/Kernel/Memory/MemoryManager.cpp b/Kernel/Memory/MemoryManager.cpp index f5cdfbe825..b00fcbda91 100644 --- a/Kernel/Memory/MemoryManager.cpp +++ b/Kernel/Memory/MemoryManager.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Kernel/Memory/PageDirectory.cpp b/Kernel/Memory/PageDirectory.cpp index dc0a652860..b6030ee9bb 100644 --- a/Kernel/Memory/PageDirectory.cpp +++ b/Kernel/Memory/PageDirectory.cpp @@ -6,6 +6,8 @@ #include #include +#include +#include #include #include #include