1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 04:57:45 +00:00

Kernel: Omit all actual code from the kernel on aarch64 for now

This commit is contained in:
Nico Weber 2021-08-28 13:43:55 -04:00 committed by Linus Groh
parent 9c5e947e0e
commit 585edb8cff
2 changed files with 36 additions and 14 deletions

View file

@ -0,0 +1,10 @@
/*
* Copyright (c) 2021, Nico Weber <thakis@chromium.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
// This is a temporary file to get a non-empty Kernel binary on aarch64.
// The prekernel currently never jumps to the kernel. This is dead code.
void dummy();
void dummy() { }

View file

@ -344,14 +344,21 @@ set(CRYPTO_SOURCES
../Userland/Libraries/LibCrypto/Hash/SHA2.cpp ../Userland/Libraries/LibCrypto/Hash/SHA2.cpp
) )
if (NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
set(SOURCES set(SOURCES
${KERNEL_SOURCES} ${KERNEL_SOURCES}
${SOURCES}
${AK_SOURCES} ${AK_SOURCES}
${ELF_SOURCES} ${ELF_SOURCES}
${VT_SOURCES} ${VT_SOURCES}
${KEYBOARD_SOURCES} ${KEYBOARD_SOURCES}
${CRYPTO_SOURCES} ${CRYPTO_SOURCES}
) )
else()
set(SOURCES
Arch/aarch64/dummy.cpp
)
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option -Wvla -Wnull-dereference") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-warning-option -Wvla -Wnull-dereference")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -ffreestanding -fbuiltin") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -ffreestanding -fbuiltin")
@ -450,7 +457,9 @@ if (USE_CLANG_TOOLCHAIN)
add_link_options(LINKER:--build-id=none) add_link_options(LINKER:--build-id=none)
endif() endif()
if (NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
add_library(kernel_heap STATIC ${KERNEL_HEAP_SOURCES}) add_library(kernel_heap STATIC ${KERNEL_HEAP_SOURCES})
endif()
if (${CMAKE_HOST_SYSTEM_NAME} MATCHES SerenityOS) if (${CMAKE_HOST_SYSTEM_NAME} MATCHES SerenityOS)
include_directories(/usr/local/include/c++/${GCC_VERSION}/) include_directories(/usr/local/include/c++/${GCC_VERSION}/)
@ -491,6 +500,7 @@ if (ENABLE_KERNEL_LTO)
set_property(TARGET Kernel PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) set_property(TARGET Kernel PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
endif() endif()
if (NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
if (USE_CLANG_TOOLCHAIN) if (USE_CLANG_TOOLCHAIN)
target_link_libraries(Kernel kernel_heap clang_rt.builtins-${SERENITY_CLANG_ARCH}) target_link_libraries(Kernel kernel_heap clang_rt.builtins-${SERENITY_CLANG_ARCH})
else() else()
@ -498,6 +508,8 @@ else()
endif() endif()
add_dependencies(Kernel kernel_heap) add_dependencies(Kernel kernel_heap)
endif()
add_custom_command( add_custom_command(
TARGET Kernel POST_BUILD TARGET Kernel POST_BUILD