From 9b90f1fed5a81c52f006203ee2212f28bdc470d3 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Sat, 4 Dec 2021 09:11:10 +0100 Subject: [PATCH] Kernel: Do not do integer to pointer conversion in constexpr functions Creating pointers from arbitrary values is not a valid thing to do in constexpr functions. Furthermore, this functions is always called with runtime values anyways, so there's no use in having it be constexpr. Instead, make it ALWAYS_INLINE. --- Kernel/Prekernel/Arch/aarch64/PrekernelMMU.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kernel/Prekernel/Arch/aarch64/PrekernelMMU.cpp b/Kernel/Prekernel/Arch/aarch64/PrekernelMMU.cpp index 47ac13632d..7aa1c6593a 100644 --- a/Kernel/Prekernel/Arch/aarch64/PrekernelMMU.cpp +++ b/Kernel/Prekernel/Arch/aarch64/PrekernelMMU.cpp @@ -48,7 +48,7 @@ constexpr u32 INNER_SHAREABLE = (3 << 8); constexpr u32 NORMAL_MEMORY = (0 << 2); constexpr u32 DEVICE_MEMORY = (1 << 2); -constexpr u64* descriptor_to_pointer(FlatPtr descriptor) +ALWAYS_INLINE static u64* descriptor_to_pointer(FlatPtr descriptor) { return (u64*)(descriptor & DESCRIPTOR_MASK); }