Zerosharp integration.
This commit is contained in:
parent
752f44852b
commit
b8deb0e477
|
@ -10,8 +10,6 @@ SET(CMAKE_CROSSCOMPILING 1)
|
||||||
|
|
||||||
project(chroma)
|
project(chroma)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SET(src_files
|
SET(src_files
|
||||||
${CMAKE_SOURCE_DIR}/src/kernel.c
|
${CMAKE_SOURCE_DIR}/src/kernel.c
|
||||||
${CMAKE_SOURCE_DIR}/src/video/draw.c
|
${CMAKE_SOURCE_DIR}/src/video/draw.c
|
||||||
|
@ -53,6 +51,8 @@ SET(src_preamble
|
||||||
set(src_epilogue
|
set(src_epilogue
|
||||||
${CMAKE_SOURCE_DIR}/src/global/crtend.o
|
${CMAKE_SOURCE_DIR}/src/global/crtend.o
|
||||||
${CMAKE_SOURCE_DIR}/src/global/crtn.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)
|
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)
|
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_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 -pedantic -fPIC -fno-exceptions -fno-omit-frame-pointer -mno-red-zone -fno-stack-protector -ggdb3)
|
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)
|
target_link_options(kernel PRIVATE -T linker.ld -ffreestanding -O2 -nostdlib -nostartfiles -lgcc)
|
||||||
|
|
|
@ -35,6 +35,8 @@ extern uint8_t fb;
|
||||||
extern volatile unsigned char _binary_src_assets_font_psf_start;
|
extern volatile unsigned char _binary_src_assets_font_psf_start;
|
||||||
extern volatile size_t* _kernel_text_start;
|
extern volatile size_t* _kernel_text_start;
|
||||||
|
|
||||||
|
extern int sharp_entryPoint();
|
||||||
|
|
||||||
extern address_space_t KernelAddressSpace;
|
extern address_space_t KernelAddressSpace;
|
||||||
|
|
||||||
extern e1000_device_t* E1000NIC;
|
extern e1000_device_t* E1000NIC;
|
||||||
|
|
BIN
src/assets/zerosharp.o
Normal file
BIN
src/assets/zerosharp.o
Normal file
Binary file not shown.
|
@ -125,8 +125,8 @@ void TrackInternalBuffer(KeyboardData data) {
|
||||||
UninstallKBCallback(InternalBufferID);
|
UninstallKBCallback(InternalBufferID);
|
||||||
StartEditor(CharPrinterCallbackID);
|
StartEditor(CharPrinterCallbackID);
|
||||||
} else if(strcmp(InternalBuffer, "zero")) {
|
} else if(strcmp(InternalBuffer, "zero")) {
|
||||||
/*entry entryPoint = (entry) ((size_t) _binary_zerosharp_obj_start + 0x20);
|
int returnVal = sharp_entryPoint();
|
||||||
entryPoint();*/ // TODO: Zerosharp integration, maybe?
|
SerialPrintf("Sharp returned %d\r\n", returnVal);
|
||||||
} else {
|
} else {
|
||||||
SerialPrintf("[ Kbd] No match for %s\r\n", InternalBuffer);
|
SerialPrintf("[ Kbd] No match for %s\r\n", InternalBuffer);
|
||||||
memset(InternalBuffer, 0, 4098);
|
memset(InternalBuffer, 0, 4098);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user