2022-08-30 23:22:38 +02:00
|
|
|
# XT Kernel
|
|
|
|
PROJECT(XTOSKRNL)
|
|
|
|
|
|
|
|
# Specify include directories
|
|
|
|
include_directories(
|
2022-12-28 23:11:35 +01:00
|
|
|
${EXECTOS_SOURCE_DIR}/sdk/xtdk
|
|
|
|
${XTOSKRNL_SOURCE_DIR}/includes)
|
2022-08-30 23:22:38 +02:00
|
|
|
|
|
|
|
# Specify list of source code files
|
|
|
|
list(APPEND XTOSKRNL_SOURCE
|
2023-01-28 10:34:55 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/cpufunc.c
|
2023-01-29 00:45:17 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/globals.c
|
|
|
|
${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/procsup.c
|
2023-02-01 21:56:17 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/traps.c
|
2022-08-30 23:22:38 +02:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/hl/cport.c
|
2023-01-19 16:23:39 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/hl/efifb.c
|
2023-02-13 23:41:24 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/hl/globals.c
|
2023-01-28 10:34:55 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/hl/${ARCH}/ioport.c
|
2023-02-18 00:04:51 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/apc.c
|
2022-12-28 23:11:35 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/globals.c
|
2023-02-24 19:52:20 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/kprocess.c
|
2022-08-30 23:22:38 +02:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/krnlinit.c
|
2023-02-21 22:30:56 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/kthread.c
|
2023-02-16 19:29:30 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/semphore.c
|
2023-02-16 18:34:46 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/spinlock.c
|
2023-02-16 17:56:35 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/timer.c
|
2023-01-08 10:35:49 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/krnlinit.c
|
2023-02-23 20:11:21 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/kthread.c
|
2023-02-08 16:39:05 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/proc.c
|
2023-02-14 22:35:16 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/mm/kpools.c
|
2023-02-15 20:48:48 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/mm/${ARCH}/pages.c
|
2023-02-12 22:46:58 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/atomic.c
|
2023-02-08 16:33:57 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/byteswap.c
|
2022-08-30 23:22:38 +02:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/memory.c
|
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/plist.c
|
2022-10-25 23:45:12 +02:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/string.c
|
2023-02-15 20:12:58 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/widestr.c
|
2023-02-25 23:01:13 +01:00
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/${ARCH}/dispatch.c
|
|
|
|
${XTOSKRNL_SOURCE_DIR}/rtl/${ARCH}/exsup.c)
|
2022-08-30 23:22:38 +02:00
|
|
|
|
|
|
|
# Set module definition SPEC file
|
|
|
|
set_specfile(xtoskrnl.spec)
|
|
|
|
|
|
|
|
# Link static XTOS library
|
2022-09-17 00:14:09 +02:00
|
|
|
add_library(libxtos ${XTOSKRNL_SOURCE})
|
2022-08-30 23:22:38 +02:00
|
|
|
|
|
|
|
# Link kernel executable
|
|
|
|
add_executable(xtoskrnl
|
|
|
|
${XTOSKRNL_SOURCE}
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/xtoskrnl.def)
|
|
|
|
|
|
|
|
# Add linker libraries
|
|
|
|
target_link_libraries(xtoskrnl)
|
|
|
|
|
|
|
|
# Set instal target
|
2022-10-26 20:30:39 +02:00
|
|
|
set_install_target(xtoskrnl "exectos/boot")
|
2022-08-30 23:22:38 +02:00
|
|
|
|
|
|
|
# Set kernel entrypoint, imagebase address, ordinals and subsystem
|
|
|
|
set_entrypoint(xtoskrnl "KeStartXtSystem")
|
|
|
|
set_imagebase(xtoskrnl ${BASEADDRESS_XTOSKRNL})
|
|
|
|
set_ordinals(xtoskrnl TRUE)
|
2023-01-06 19:25:21 +01:00
|
|
|
set_subsystem(xtoskrnl native xt_native_kernel)
|