From b8deb0e4779e9bad348c743b9b03a9a1e703fb5d Mon Sep 17 00:00:00 2001 From: Curle Date: Sat, 19 Jun 2021 18:53:59 +0100 Subject: [PATCH] Zerosharp integration. --- CMakeLists.txt | 8 ++++---- inc/kernel/chroma.h | 2 ++ src/assets/zerosharp.o | Bin 0 -> 10080 bytes src/kernel.c | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 src/assets/zerosharp.o diff --git a/CMakeLists.txt b/CMakeLists.txt index d8a0f47..ef1a762 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,8 +10,6 @@ SET(CMAKE_CROSSCOMPILING 1) project(chroma) - - SET(src_files ${CMAKE_SOURCE_DIR}/src/kernel.c ${CMAKE_SOURCE_DIR}/src/video/draw.c @@ -53,6 +51,8 @@ SET(src_preamble set(src_epilogue ${CMAKE_SOURCE_DIR}/src/global/crtend.o ${CMAKE_SOURCE_DIR}/src/global/crtn.o + ${CMAKE_SOURCE_DIR}/src/assets/font.o + ${CMAKE_SOURCE_DIR}/src/assets/zerosharp.o ) set_property(SOURCE ${src_no_sse} PROPERTY COMPILE_FLAGS -mgeneral-regs-only) @@ -61,6 +61,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) add_executable(kernel) -target_sources(kernel PUBLIC ${src_preamble} PUBLIC ${src_files} PUBLIC ${src_no_sse} PUBLIC ${lib_files} PUBLIC ${CMAKE_SOURCE_DIR}/src/assets/font.o PUBLIC ${src_epilogue}) -target_compile_options(kernel PRIVATE -ffreestanding -O0 -Wall -Wextra -Wall -Werror -pedantic -fPIC -fno-exceptions -fno-omit-frame-pointer -mno-red-zone -fno-stack-protector -ggdb3) +target_sources(kernel PUBLIC ${src_preamble} PUBLIC ${src_files} PUBLIC ${src_no_sse} PUBLIC ${lib_files} PUBLIC ${src_epilogue}) +target_compile_options(kernel PRIVATE -ffreestanding -O0 -Wall -Wextra -Wall -Werror -fPIC -fno-exceptions -fno-omit-frame-pointer -mno-red-zone -fno-stack-protector -ggdb3) target_link_options(kernel PRIVATE -T linker.ld -ffreestanding -O2 -nostdlib -nostartfiles -lgcc) diff --git a/inc/kernel/chroma.h b/inc/kernel/chroma.h index 2b3c286..accbd3f 100644 --- a/inc/kernel/chroma.h +++ b/inc/kernel/chroma.h @@ -35,6 +35,8 @@ extern uint8_t fb; extern volatile unsigned char _binary_src_assets_font_psf_start; extern volatile size_t* _kernel_text_start; +extern int sharp_entryPoint(); + extern address_space_t KernelAddressSpace; extern e1000_device_t* E1000NIC; diff --git a/src/assets/zerosharp.o b/src/assets/zerosharp.o new file mode 100644 index 0000000000000000000000000000000000000000..e85d8474ab15809e7b5c57a056836fdb3a28a07c GIT binary patch literal 10080 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