继续拆分

This commit is contained in:
2026-04-23 20:52:35 +08:00
parent 702476b514
commit cfea7a9b5f
9 changed files with 287 additions and 231 deletions

View File

@@ -138,7 +138,6 @@ set(LIMINE_SETUP_STAMP "${LIMINE_DIR_ABS}/.cleonos-limine-setup.stamp")
set(LIMINE_BUILD_STAMP "${LIMINE_DIR_ABS}/.cleonos-limine-build.stamp") set(LIMINE_BUILD_STAMP "${LIMINE_DIR_ABS}/.cleonos-limine-build.stamp")
set(CLKS_ARCH "x86_64" CACHE STRING "Target CLKS arch") set(CLKS_ARCH "x86_64" CACHE STRING "Target CLKS arch")
set(LINKER_SCRIPT "${CMAKE_SOURCE_DIR}/clks/arch/${CLKS_ARCH}/linker.ld")
set(USER_LINKER_SCRIPT "${CMAKE_SOURCE_DIR}/cleonos/c/user.ld") set(USER_LINKER_SCRIPT "${CMAKE_SOURCE_DIR}/cleonos/c/user.ld")
set(KELF_LINKER_SCRIPT "${CMAKE_SOURCE_DIR}/cleonos/c/kelf.ld") set(KELF_LINKER_SCRIPT "${CMAKE_SOURCE_DIR}/cleonos/c/kelf.ld")
set(CLEONOS_MENUCONFIG_CMAKE "${CMAKE_SOURCE_DIR}/configs/menuconfig/config.cmake" CACHE FILEPATH "menuconfig generated CMake config") set(CLEONOS_MENUCONFIG_CMAKE "${CMAKE_SOURCE_DIR}/configs/menuconfig/config.cmake" CACHE FILEPATH "menuconfig generated CMake config")
@@ -148,231 +147,7 @@ if(EXISTS "${CLEONOS_MENUCONFIG_CMAKE}")
cl_log_info("menuconfig loaded from ${CLEONOS_MENUCONFIG_CMAKE}") cl_log_info("menuconfig loaded from ${CLEONOS_MENUCONFIG_CMAKE}")
endif() endif()
function(cl_set_bool_cache VAR_NAME DEFAULT_VALUE DOC_TEXT) # CLKS compile flags and feature-to-macro expansion now live in the CLKS submodule build system.
set(_raw_value "")
set(_has_value OFF)
if(DEFINED ${VAR_NAME})
set(_raw_value "${${VAR_NAME}}")
set(_has_value ON)
elseif(DEFINED ${VAR_NAME}_IS_ENABLED)
set(_raw_value "${${VAR_NAME}_IS_ENABLED}")
set(_has_value ON)
endif()
if(NOT _has_value)
set(${VAR_NAME} ${DEFAULT_VALUE} CACHE BOOL "${DOC_TEXT}")
else()
string(TOUPPER "${_raw_value}" _raw_upper)
if(_raw_upper STREQUAL "Y" OR _raw_upper STREQUAL "M" OR _raw_upper STREQUAL "ON" OR _raw_upper STREQUAL "TRUE" OR _raw_upper STREQUAL "1")
set(_bool_value ON)
else()
set(_bool_value OFF)
endif()
set(${VAR_NAME} ${_bool_value} CACHE BOOL "${DOC_TEXT}" FORCE)
endif()
endfunction()
function(cl_bool_to_int BOOL_VAR OUT_VAR)
if(${BOOL_VAR})
set(${OUT_VAR} 1 PARENT_SCOPE)
else()
set(${OUT_VAR} 0 PARENT_SCOPE)
endif()
endfunction()
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_AUDIO ON "Initialize kernel audio subsystem")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_MOUSE ON "Initialize kernel mouse subsystem")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_DESKTOP ON "Initialize desktop compositor subsystem")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_DRIVER_MANAGER ON "Initialize kernel driver manager")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KELF ON "Enable KELF app dispatcher")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USERLAND_AUTO_EXEC ON "Auto exec /shell/shell.elf on boot")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_HEAP_SELFTEST ON "Run heap selftest at boot")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_EXTERNAL_PSF ON "Load /system/tty.psf external font")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KEYBOARD ON "Initialize keyboard input subsystem")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_ELFRUNNER_PROBE ON "Run ELFRUNNER kernel ELF probe")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KLOGD_TASK ON "Enable scheduler klogd task")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KWORKER_TASK ON "Enable scheduler kworker task")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USRD_TASK ON "Enable scheduler usrd task")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_BOOT_VIDEO_LOG ON "Print boot framebuffer geometry logs")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_PMM_STATS_LOG ON "Print PMM stats logs")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_HEAP_STATS_LOG ON "Print heap stats logs")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_FS_ROOT_LOG ON "Print root children FS log")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_SYSTEM_DIR_CHECK ON "Require /system directory sanity check")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_ELFRUNNER_INIT ON "Initialize ELFRUNNER framework")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_SYSCALL_TICK_QUERY ON "Query syscall timer ticks at boot")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_TTY_READY_LOG ON "Print TTY ready logs")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_IDLE_DEBUG_LOG ON "Print idle loop debug log")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_PROCFS ON "Enable virtual /proc procfs syscall layer")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_EXEC_SERIAL_LOG ON "Enable EXEC info logs on serial output")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC ON "Enable UserSafeController dangerous syscall confirmations")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_FS_MKDIR ON "USC intercept policy: FS_MKDIR")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_FS_WRITE ON "USC intercept policy: FS_WRITE")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_FS_APPEND ON "USC intercept policy: FS_APPEND")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_FS_REMOVE ON "USC intercept policy: FS_REMOVE")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATH ON "USC intercept policy: EXEC_PATH")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV ON "USC intercept policy: EXEC_PATHV")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV_IO ON "USC intercept policy: EXEC_PATHV_IO")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATH ON "USC intercept policy: SPAWN_PATH")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATHV ON "USC intercept policy: SPAWN_PATHV")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_PROC_KILL ON "USC intercept policy: PROC_KILL")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_SHUTDOWN ON "USC intercept policy: SHUTDOWN")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USC_SC_RESTART ON "USC intercept policy: RESTART")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KBD_TTY_SWITCH_HOTKEY ON "Enable ALT+F1..F4 TTY switch hotkey")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KBD_CTRL_SHORTCUTS ON "Enable Ctrl+A/C/V keyboard shortcuts")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_KBD_FORCE_STOP_HOTKEY ON "Enable Ctrl+Alt+C force-stop hotkey")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USER_INIT_SCRIPT_PROBE ON "Probe /shell/init.cmd during userland init")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_USER_SYSTEM_APP_PROBE ON "Probe /system apps (elfrunner/memc) during userland init")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_SCHED_TASK_COUNT_LOG ON "Print scheduler task count during boot")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_INTERRUPT_READY_LOG ON "Print interrupt ready log after IDT/PIC init")
cl_set_bool_cache(CLEONOS_CLKS_ENABLE_SHELL_MODE_LOG ON "Print default shell mode log during boot")
if(NOT CLEONOS_ENABLE)
set(CLEONOS_CLKS_ENABLE_KELF OFF CACHE BOOL "Enable KELF app dispatcher" FORCE)
set(CLEONOS_CLKS_ENABLE_USERLAND_AUTO_EXEC OFF CACHE BOOL "Auto exec /shell/shell.elf on boot" FORCE)
set(CLEONOS_CLKS_ENABLE_USER_INIT_SCRIPT_PROBE OFF CACHE BOOL "Probe /shell/init.cmd during userland init" FORCE)
set(CLEONOS_CLKS_ENABLE_USER_SYSTEM_APP_PROBE OFF CACHE BOOL "Probe /system apps (elfrunner/memc) during userland init" FORCE)
endif()
cl_bool_to_int(CLEONOS_CLKS_ENABLE_AUDIO CLKS_CFG_AUDIO_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_MOUSE CLKS_CFG_MOUSE_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_DESKTOP CLKS_CFG_DESKTOP_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_DRIVER_MANAGER CLKS_CFG_DRIVER_MANAGER_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KELF CLKS_CFG_KELF_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USERLAND_AUTO_EXEC CLKS_CFG_USERLAND_AUTO_EXEC_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_HEAP_SELFTEST CLKS_CFG_HEAP_SELFTEST_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_EXTERNAL_PSF CLKS_CFG_EXTERNAL_PSF_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KEYBOARD CLKS_CFG_KEYBOARD_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_ELFRUNNER_PROBE CLKS_CFG_ELFRUNNER_PROBE_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KLOGD_TASK CLKS_CFG_KLOGD_TASK_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KWORKER_TASK CLKS_CFG_KWORKER_TASK_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USRD_TASK CLKS_CFG_USRD_TASK_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_BOOT_VIDEO_LOG CLKS_CFG_BOOT_VIDEO_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_PMM_STATS_LOG CLKS_CFG_PMM_STATS_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_HEAP_STATS_LOG CLKS_CFG_HEAP_STATS_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_FS_ROOT_LOG CLKS_CFG_FS_ROOT_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_SYSTEM_DIR_CHECK CLKS_CFG_SYSTEM_DIR_CHECK_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_ELFRUNNER_INIT CLKS_CFG_ELFRUNNER_INIT_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_SYSCALL_TICK_QUERY CLKS_CFG_SYSCALL_TICK_QUERY_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_TTY_READY_LOG CLKS_CFG_TTY_READY_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_IDLE_DEBUG_LOG CLKS_CFG_IDLE_DEBUG_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_PROCFS CLKS_CFG_PROCFS_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_EXEC_SERIAL_LOG CLKS_CFG_EXEC_SERIAL_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC CLKS_CFG_USC_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_FS_MKDIR CLKS_CFG_USC_SC_FS_MKDIR_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_FS_WRITE CLKS_CFG_USC_SC_FS_WRITE_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_FS_APPEND CLKS_CFG_USC_SC_FS_APPEND_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_FS_REMOVE CLKS_CFG_USC_SC_FS_REMOVE_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATH CLKS_CFG_USC_SC_EXEC_PATH_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV CLKS_CFG_USC_SC_EXEC_PATHV_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV_IO CLKS_CFG_USC_SC_EXEC_PATHV_IO_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATH CLKS_CFG_USC_SC_SPAWN_PATH_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATHV CLKS_CFG_USC_SC_SPAWN_PATHV_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_PROC_KILL CLKS_CFG_USC_SC_PROC_KILL_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_SHUTDOWN CLKS_CFG_USC_SC_SHUTDOWN_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USC_SC_RESTART CLKS_CFG_USC_SC_RESTART_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KBD_TTY_SWITCH_HOTKEY CLKS_CFG_KBD_TTY_SWITCH_HOTKEY_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KBD_CTRL_SHORTCUTS CLKS_CFG_KBD_CTRL_SHORTCUTS_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_KBD_FORCE_STOP_HOTKEY CLKS_CFG_KBD_FORCE_STOP_HOTKEY_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USER_INIT_SCRIPT_PROBE CLKS_CFG_USER_INIT_SCRIPT_PROBE_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_USER_SYSTEM_APP_PROBE CLKS_CFG_USER_SYSTEM_APP_PROBE_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_SCHED_TASK_COUNT_LOG CLKS_CFG_SCHED_TASK_COUNT_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_INTERRUPT_READY_LOG CLKS_CFG_INTERRUPT_READY_LOG_INT)
cl_bool_to_int(CLEONOS_CLKS_ENABLE_SHELL_MODE_LOG CLKS_CFG_SHELL_MODE_LOG_INT)
set(CFLAGS_COMMON
-std=c11
-ffreestanding
-fno-stack-protector
-fno-builtin
-g
-Wall
-Wextra
-Werror
"-I${CMAKE_SOURCE_DIR}/clks/include"
)
set(CXXFLAGS_COMMON
-std=c++17
-ffreestanding
-fno-stack-protector
-fno-builtin
-fno-exceptions
-fno-rtti
-fno-threadsafe-statics
-fno-use-cxa-atexit
-g
-Wall
-Wextra
-Werror
"-I${CMAKE_SOURCE_DIR}/clks/include"
)
set(ARCH_CFLAGS
-DCLKS_ARCH_X86_64=1
"-DCLKS_CFG_AUDIO=${CLKS_CFG_AUDIO_INT}"
"-DCLKS_CFG_MOUSE=${CLKS_CFG_MOUSE_INT}"
"-DCLKS_CFG_DESKTOP=${CLKS_CFG_DESKTOP_INT}"
"-DCLKS_CFG_DRIVER_MANAGER=${CLKS_CFG_DRIVER_MANAGER_INT}"
"-DCLKS_CFG_KELF=${CLKS_CFG_KELF_INT}"
"-DCLKS_CFG_USERLAND_AUTO_EXEC=${CLKS_CFG_USERLAND_AUTO_EXEC_INT}"
"-DCLKS_CFG_HEAP_SELFTEST=${CLKS_CFG_HEAP_SELFTEST_INT}"
"-DCLKS_CFG_EXTERNAL_PSF=${CLKS_CFG_EXTERNAL_PSF_INT}"
"-DCLKS_CFG_KEYBOARD=${CLKS_CFG_KEYBOARD_INT}"
"-DCLKS_CFG_ELFRUNNER_PROBE=${CLKS_CFG_ELFRUNNER_PROBE_INT}"
"-DCLKS_CFG_KLOGD_TASK=${CLKS_CFG_KLOGD_TASK_INT}"
"-DCLKS_CFG_KWORKER_TASK=${CLKS_CFG_KWORKER_TASK_INT}"
"-DCLKS_CFG_USRD_TASK=${CLKS_CFG_USRD_TASK_INT}"
"-DCLKS_CFG_BOOT_VIDEO_LOG=${CLKS_CFG_BOOT_VIDEO_LOG_INT}"
"-DCLKS_CFG_PMM_STATS_LOG=${CLKS_CFG_PMM_STATS_LOG_INT}"
"-DCLKS_CFG_HEAP_STATS_LOG=${CLKS_CFG_HEAP_STATS_LOG_INT}"
"-DCLKS_CFG_FS_ROOT_LOG=${CLKS_CFG_FS_ROOT_LOG_INT}"
"-DCLKS_CFG_SYSTEM_DIR_CHECK=${CLKS_CFG_SYSTEM_DIR_CHECK_INT}"
"-DCLKS_CFG_ELFRUNNER_INIT=${CLKS_CFG_ELFRUNNER_INIT_INT}"
"-DCLKS_CFG_SYSCALL_TICK_QUERY=${CLKS_CFG_SYSCALL_TICK_QUERY_INT}"
"-DCLKS_CFG_TTY_READY_LOG=${CLKS_CFG_TTY_READY_LOG_INT}"
"-DCLKS_CFG_IDLE_DEBUG_LOG=${CLKS_CFG_IDLE_DEBUG_LOG_INT}"
"-DCLKS_CFG_PROCFS=${CLKS_CFG_PROCFS_INT}"
"-DCLKS_CFG_EXEC_SERIAL_LOG=${CLKS_CFG_EXEC_SERIAL_LOG_INT}"
"-DCLKS_CFG_USC=${CLKS_CFG_USC_INT}"
"-DCLKS_CFG_USC_SC_FS_MKDIR=${CLKS_CFG_USC_SC_FS_MKDIR_INT}"
"-DCLKS_CFG_USC_SC_FS_WRITE=${CLKS_CFG_USC_SC_FS_WRITE_INT}"
"-DCLKS_CFG_USC_SC_FS_APPEND=${CLKS_CFG_USC_SC_FS_APPEND_INT}"
"-DCLKS_CFG_USC_SC_FS_REMOVE=${CLKS_CFG_USC_SC_FS_REMOVE_INT}"
"-DCLKS_CFG_USC_SC_EXEC_PATH=${CLKS_CFG_USC_SC_EXEC_PATH_INT}"
"-DCLKS_CFG_USC_SC_EXEC_PATHV=${CLKS_CFG_USC_SC_EXEC_PATHV_INT}"
"-DCLKS_CFG_USC_SC_EXEC_PATHV_IO=${CLKS_CFG_USC_SC_EXEC_PATHV_IO_INT}"
"-DCLKS_CFG_USC_SC_SPAWN_PATH=${CLKS_CFG_USC_SC_SPAWN_PATH_INT}"
"-DCLKS_CFG_USC_SC_SPAWN_PATHV=${CLKS_CFG_USC_SC_SPAWN_PATHV_INT}"
"-DCLKS_CFG_USC_SC_PROC_KILL=${CLKS_CFG_USC_SC_PROC_KILL_INT}"
"-DCLKS_CFG_USC_SC_SHUTDOWN=${CLKS_CFG_USC_SC_SHUTDOWN_INT}"
"-DCLKS_CFG_USC_SC_RESTART=${CLKS_CFG_USC_SC_RESTART_INT}"
"-DCLKS_CFG_KBD_TTY_SWITCH_HOTKEY=${CLKS_CFG_KBD_TTY_SWITCH_HOTKEY_INT}"
"-DCLKS_CFG_KBD_CTRL_SHORTCUTS=${CLKS_CFG_KBD_CTRL_SHORTCUTS_INT}"
"-DCLKS_CFG_KBD_FORCE_STOP_HOTKEY=${CLKS_CFG_KBD_FORCE_STOP_HOTKEY_INT}"
"-DCLKS_CFG_USER_INIT_SCRIPT_PROBE=${CLKS_CFG_USER_INIT_SCRIPT_PROBE_INT}"
"-DCLKS_CFG_USER_SYSTEM_APP_PROBE=${CLKS_CFG_USER_SYSTEM_APP_PROBE_INT}"
"-DCLKS_CFG_SCHED_TASK_COUNT_LOG=${CLKS_CFG_SCHED_TASK_COUNT_LOG_INT}"
"-DCLKS_CFG_INTERRUPT_READY_LOG=${CLKS_CFG_INTERRUPT_READY_LOG_INT}"
"-DCLKS_CFG_SHELL_MODE_LOG=${CLKS_CFG_SHELL_MODE_LOG_INT}"
-m64
-mno-red-zone
-mcmodel=kernel
-fno-pic
-fno-pie
)
set(ASFLAGS_COMMON
-ffreestanding
"-I${CMAKE_SOURCE_DIR}/clks/include"
)
set(LDFLAGS_COMMON
-nostdlib
-z
max-page-size=0x1000
)
set(USER_CFLAGS set(USER_CFLAGS
-std=c11 -std=c11
-ffreestanding -ffreestanding
@@ -422,7 +197,41 @@ if(NOT CLKS_ARCH STREQUAL "x86_64")
cl_log_error("CLKS_ARCH=${CLKS_ARCH} is not supported by this CMake build yet; use x86_64") cl_log_error("CLKS_ARCH=${CLKS_ARCH} is not supported by this CMake build yet; use x86_64")
endif() endif()
include("${CMAKE_SOURCE_DIR}/clks/CMakeLists.txt") set(CLKS_SOURCE_DIR "${CMAKE_SOURCE_DIR}/clks")
set(CLKS_CMAKE_BUILD_DIR "${CMAKE_BINARY_DIR}/clks-cmake")
if(NOT EXISTS "${CLKS_SOURCE_DIR}/CMakeLists.txt")
cl_log_error("missing CLKS submodule CMakeLists: ${CLKS_SOURCE_DIR}/CMakeLists.txt")
endif()
set(CLKS_SUBMODULE_CMAKE_ARGS
"-DNO_COLOR=${NO_COLOR}"
"-DCLKS_ARCH=${CLKS_ARCH}"
"-DCLKS_BUILD_ROOT=${BUILD_ROOT}"
"-DCLKS_MENUCONFIG_CMAKE=${CMAKE_SOURCE_DIR}/configs/menuconfig/config.cmake"
"-DCC=${CC}"
"-DKERNEL_CXX=${KERNEL_CXX}"
"-DLD=${LD}"
"-DRUSTC=${RUSTC}"
"-DNM=${NM}"
"-DADDR2LINE=${ADDR2LINE}"
"-DOBJCOPY_FOR_TARGET=${OBJCOPY_FOR_TARGET}"
"-DOBJDUMP_FOR_TARGET=${OBJDUMP_FOR_TARGET}"
"-DREADELF_FOR_TARGET=${READELF_FOR_TARGET}"
)
add_custom_target(kernel
COMMAND ${CMAKE_COMMAND} -S "${CLKS_SOURCE_DIR}" -B "${CLKS_CMAKE_BUILD_DIR}" ${CLKS_SUBMODULE_CMAKE_ARGS}
COMMAND ${CMAKE_COMMAND} --build "${CLKS_CMAKE_BUILD_DIR}" --target kernel
USES_TERMINAL
)
add_custom_target(kernel-symbols
COMMAND ${CMAKE_COMMAND} -S "${CLKS_SOURCE_DIR}" -B "${CLKS_CMAKE_BUILD_DIR}" ${CLKS_SUBMODULE_CMAKE_ARGS}
COMMAND ${CMAKE_COMMAND} --build "${CLKS_CMAKE_BUILD_DIR}" --target kernel-symbols
USES_TERMINAL
)
add_dependencies(kernel-symbols kernel)
if(CLEONOS_ENABLE) if(CLEONOS_ENABLE)
include("${CMAKE_SOURCE_DIR}/cleonos/CMakeLists.txt") include("${CMAKE_SOURCE_DIR}/cleonos/CMakeLists.txt")
endif() endif()

View File

@@ -20,7 +20,7 @@ Experimental x86_64 operating system project with a C kernel, Rust-assisted runt
```text ```text
. .
|- clks/ # Kernel sources (arch, drivers, scheduler, tty, syscall, ...) |- clks/ # CLKS kernel submodule (standalone kernel repository)
|- cleonos/ # Userland runtime, libc-like layer, user apps, Rust user library |- cleonos/ # Userland runtime, libc-like layer, user apps, Rust user library
|- ramdisk/ # Static files copied into runtime ramdisk |- ramdisk/ # Static files copied into runtime ramdisk
|- configs/ # Boot configuration (Limine) |- configs/ # Boot configuration (Limine)

View File

@@ -20,7 +20,7 @@
```text ```text
. .
|- clks/ # 内核源码架构、驱动、调度、TTY、syscall 等 |- clks/ # CLKS 内核子模块(独立内核仓库
|- cleonos/ # 用户态运行时、基础库、用户应用、Rust 用户库 |- cleonos/ # 用户态运行时、基础库、用户应用、Rust 用户库
|- ramdisk/ # 运行时 ramdisk 的静态文件 |- ramdisk/ # 运行时 ramdisk 的静态文件
|- configs/ # 启动配置Limine |- configs/ # 启动配置Limine

View File

@@ -311,12 +311,13 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E copy "${KERNEL_SYMBOLS_FILE}" "${RAMDISK_ROOT}/system/kernel.sym" COMMAND ${CMAKE_COMMAND} -E copy "${KERNEL_SYMBOLS_FILE}" "${RAMDISK_ROOT}/system/kernel.sym"
${RAMDISK_COPY_COMMANDS} ${RAMDISK_COPY_COMMANDS}
COMMAND ${CMAKE_COMMAND} -E touch "${RAMDISK_ROOT_STAMP}" COMMAND ${CMAKE_COMMAND} -E touch "${RAMDISK_ROOT_STAMP}"
DEPENDS ${RAMDISK_FILES} ${USER_APP_OUTPUTS} "${KERNEL_SYMBOLS_FILE}" DEPENDS ${RAMDISK_FILES} ${USER_APP_OUTPUTS} kernel-symbols
VERBATIM VERBATIM
) )
add_custom_target(ramdisk-root DEPENDS "${RAMDISK_ROOT_STAMP}") add_custom_target(ramdisk-root DEPENDS "${RAMDISK_ROOT_STAMP}")
add_dependencies(ramdisk-root userapps) add_dependencies(ramdisk-root userapps)
add_dependencies(ramdisk-root kernel-symbols)
add_custom_command( add_custom_command(
OUTPUT "${RAMDISK_IMAGE}" OUTPUT "${RAMDISK_IMAGE}"

2
clks

Submodule clks updated: 6a7f0cbdef...6bc15d6aba

View File

@@ -0,0 +1,70 @@
{
"CLEONOS_USER_APP_ANSI": true,
"CLEONOS_USER_APP_ANSITEST": true,
"CLEONOS_USER_APP_APPEND": true,
"CLEONOS_USER_APP_ARGS": true,
"CLEONOS_USER_APP_BG": true,
"CLEONOS_USER_APP_BMPVIEW": true,
"CLEONOS_USER_APP_CAT": true,
"CLEONOS_USER_APP_CD": true,
"CLEONOS_USER_APP_CLEAR": true,
"CLEONOS_USER_APP_CP": true,
"CLEONOS_USER_APP_CUT": true,
"CLEONOS_USER_APP_DISKINFO": true,
"CLEONOS_USER_APP_DLTEST": true,
"CLEONOS_USER_APP_DMESG": true,
"CLEONOS_USER_APP_DOOM": true,
"CLEONOS_USER_APP_ELFRUNNER": true,
"CLEONOS_USER_APP_EXEC": true,
"CLEONOS_USER_APP_EXIT": true,
"CLEONOS_USER_APP_FASTFETCH": true,
"CLEONOS_USER_APP_FG": true,
"CLEONOS_USER_APP_FSSTAT": true,
"CLEONOS_USER_APP_GREP": true,
"CLEONOS_USER_APP_HEAD": true,
"CLEONOS_USER_APP_HELLO": true,
"CLEONOS_USER_APP_HELP": true,
"CLEONOS_USER_APP_JOBS": true,
"CLEONOS_USER_APP_KBDSTAT": true,
"CLEONOS_USER_APP_KDBG": true,
"CLEONOS_USER_APP_KILL": true,
"CLEONOS_USER_APP_LIBCTEST": true,
"CLEONOS_USER_APP_LIBDEMO": true,
"CLEONOS_USER_APP_LS": true,
"CLEONOS_USER_APP_MEMC": true,
"CLEONOS_USER_APP_MEMSTAT": true,
"CLEONOS_USER_APP_MKDIR": true,
"CLEONOS_USER_APP_MKFSFAT32": true,
"CLEONOS_USER_APP_MOUNT": true,
"CLEONOS_USER_APP_MV": true,
"CLEONOS_USER_APP_PARTCTL": true,
"CLEONOS_USER_APP_PID": true,
"CLEONOS_USER_APP_PROCSTAT": true,
"CLEONOS_USER_APP_PS": true,
"CLEONOS_USER_APP_PWD": true,
"CLEONOS_USER_APP_QRCODE": true,
"CLEONOS_USER_APP_RESTART": true,
"CLEONOS_USER_APP_RM": true,
"CLEONOS_USER_APP_SHELL": true,
"CLEONOS_USER_APP_SHSTAT": true,
"CLEONOS_USER_APP_SHUTDOWN": true,
"CLEONOS_USER_APP_SLEEP": true,
"CLEONOS_USER_APP_SORT": true,
"CLEONOS_USER_APP_SPAWN": true,
"CLEONOS_USER_APP_SPIN": true,
"CLEONOS_USER_APP_STATS": true,
"CLEONOS_USER_APP_SYSSTAT": true,
"CLEONOS_USER_APP_TAIL": true,
"CLEONOS_USER_APP_TASKSTAT": true,
"CLEONOS_USER_APP_TOP": true,
"CLEONOS_USER_APP_TOUCH": true,
"CLEONOS_USER_APP_TTY": true,
"CLEONOS_USER_APP_TTYDRV": true,
"CLEONOS_USER_APP_UNIQ": true,
"CLEONOS_USER_APP_USERSTAT": true,
"CLEONOS_USER_APP_WAIT": true,
"CLEONOS_USER_APP_WAVPLAY": true,
"CLEONOS_USER_APP_WC": true,
"CLEONOS_USER_APP_WRITE": true,
"CLEONOS_USER_APP_YIELD": true
}

View File

@@ -0,0 +1,47 @@
{
"CLEONOS_CLKS_ENABLE_AUDIO": true,
"CLEONOS_CLKS_ENABLE_BOOT_VIDEO_LOG": "m",
"CLEONOS_CLKS_ENABLE_DESKTOP": true,
"CLEONOS_CLKS_ENABLE_DRIVER_MANAGER": true,
"CLEONOS_CLKS_ENABLE_ELFRUNNER_INIT": true,
"CLEONOS_CLKS_ENABLE_ELFRUNNER_PROBE": true,
"CLEONOS_CLKS_ENABLE_EXEC_SERIAL_LOG": "m",
"CLEONOS_CLKS_ENABLE_EXTERNAL_PSF": true,
"CLEONOS_CLKS_ENABLE_FS_ROOT_LOG": "m",
"CLEONOS_CLKS_ENABLE_HEAP_SELFTEST": true,
"CLEONOS_CLKS_ENABLE_HEAP_STATS_LOG": "m",
"CLEONOS_CLKS_ENABLE_IDLE_DEBUG_LOG": "m",
"CLEONOS_CLKS_ENABLE_INTERRUPT_READY_LOG": "m",
"CLEONOS_CLKS_ENABLE_KBD_CTRL_SHORTCUTS": true,
"CLEONOS_CLKS_ENABLE_KBD_FORCE_STOP_HOTKEY": true,
"CLEONOS_CLKS_ENABLE_KBD_TTY_SWITCH_HOTKEY": true,
"CLEONOS_CLKS_ENABLE_KELF": true,
"CLEONOS_CLKS_ENABLE_KEYBOARD": true,
"CLEONOS_CLKS_ENABLE_KLOGD_TASK": true,
"CLEONOS_CLKS_ENABLE_KWORKER_TASK": true,
"CLEONOS_CLKS_ENABLE_MOUSE": true,
"CLEONOS_CLKS_ENABLE_PMM_STATS_LOG": "m",
"CLEONOS_CLKS_ENABLE_PROCFS": true,
"CLEONOS_CLKS_ENABLE_SCHED_TASK_COUNT_LOG": "y",
"CLEONOS_CLKS_ENABLE_SHELL_MODE_LOG": "m",
"CLEONOS_CLKS_ENABLE_SYSCALL_TICK_QUERY": true,
"CLEONOS_CLKS_ENABLE_SYSTEM_DIR_CHECK": true,
"CLEONOS_CLKS_ENABLE_TTY_READY_LOG": "m",
"CLEONOS_CLKS_ENABLE_USC": true,
"CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATH": true,
"CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV": true,
"CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV_IO": false,
"CLEONOS_CLKS_ENABLE_USC_SC_FS_APPEND": false,
"CLEONOS_CLKS_ENABLE_USC_SC_FS_MKDIR": false,
"CLEONOS_CLKS_ENABLE_USC_SC_FS_REMOVE": false,
"CLEONOS_CLKS_ENABLE_USC_SC_FS_WRITE": false,
"CLEONOS_CLKS_ENABLE_USC_SC_PROC_KILL": true,
"CLEONOS_CLKS_ENABLE_USC_SC_RESTART": true,
"CLEONOS_CLKS_ENABLE_USC_SC_SHUTDOWN": true,
"CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATH": true,
"CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATHV": true,
"CLEONOS_CLKS_ENABLE_USERLAND_AUTO_EXEC": true,
"CLEONOS_CLKS_ENABLE_USER_INIT_SCRIPT_PROBE": true,
"CLEONOS_CLKS_ENABLE_USER_SYSTEM_APP_PROBE": true,
"CLEONOS_CLKS_ENABLE_USRD_TASK": true
}

View File

@@ -0,0 +1,71 @@
# Auto-generated by scripts/menuconfig.py
# Do not edit manually unless you know what you are doing.
set(CLEONOS_MENUCONFIG_CLEONOS_LOADED ON CACHE BOOL "CLeonOS menuconfig loaded" FORCE)
set(CLEONOS_USER_APP_TTYDRV ON CACHE BOOL "ttydrv.elf [driver]" FORCE)
set(CLEONOS_USER_APP_HELLO ON CACHE BOOL "hello.elf [root]" FORCE)
set(CLEONOS_USER_APP_ANSI ON CACHE BOOL "ansi.elf [shell]" FORCE)
set(CLEONOS_USER_APP_ANSITEST ON CACHE BOOL "ansitest.elf [shell]" FORCE)
set(CLEONOS_USER_APP_APPEND ON CACHE BOOL "append.elf [shell]" FORCE)
set(CLEONOS_USER_APP_ARGS ON CACHE BOOL "args.elf [shell]" FORCE)
set(CLEONOS_USER_APP_BG ON CACHE BOOL "bg.elf [shell]" FORCE)
set(CLEONOS_USER_APP_BMPVIEW ON CACHE BOOL "bmpview.elf [shell]" FORCE)
set(CLEONOS_USER_APP_CAT ON CACHE BOOL "cat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_CD ON CACHE BOOL "cd.elf [shell]" FORCE)
set(CLEONOS_USER_APP_CLEAR ON CACHE BOOL "clear.elf [shell]" FORCE)
set(CLEONOS_USER_APP_CP ON CACHE BOOL "cp.elf [shell]" FORCE)
set(CLEONOS_USER_APP_CUT ON CACHE BOOL "cut.elf [shell]" FORCE)
set(CLEONOS_USER_APP_DISKINFO ON CACHE BOOL "diskinfo.elf [shell]" FORCE)
set(CLEONOS_USER_APP_DLTEST ON CACHE BOOL "dltest.elf [shell]" FORCE)
set(CLEONOS_USER_APP_DMESG ON CACHE BOOL "dmesg.elf [shell]" FORCE)
set(CLEONOS_USER_APP_DOOM ON CACHE BOOL "doom.elf [shell]" FORCE)
set(CLEONOS_USER_APP_EXEC ON CACHE BOOL "exec.elf [shell]" FORCE)
set(CLEONOS_USER_APP_EXIT ON CACHE BOOL "exit.elf [shell]" FORCE)
set(CLEONOS_USER_APP_FASTFETCH ON CACHE BOOL "fastfetch.elf [shell]" FORCE)
set(CLEONOS_USER_APP_FG ON CACHE BOOL "fg.elf [shell]" FORCE)
set(CLEONOS_USER_APP_FSSTAT ON CACHE BOOL "fsstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_GREP ON CACHE BOOL "grep.elf [shell]" FORCE)
set(CLEONOS_USER_APP_HEAD ON CACHE BOOL "head.elf [shell]" FORCE)
set(CLEONOS_USER_APP_HELP ON CACHE BOOL "help.elf [shell]" FORCE)
set(CLEONOS_USER_APP_JOBS ON CACHE BOOL "jobs.elf [shell]" FORCE)
set(CLEONOS_USER_APP_KBDSTAT ON CACHE BOOL "kbdstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_KDBG ON CACHE BOOL "kdbg.elf [shell]" FORCE)
set(CLEONOS_USER_APP_KILL ON CACHE BOOL "kill.elf [shell]" FORCE)
set(CLEONOS_USER_APP_LIBCTEST ON CACHE BOOL "libctest.elf [shell]" FORCE)
set(CLEONOS_USER_APP_LIBDEMO ON CACHE BOOL "libdemo.elf [shell]" FORCE)
set(CLEONOS_USER_APP_LS ON CACHE BOOL "ls.elf [shell]" FORCE)
set(CLEONOS_USER_APP_MEMSTAT ON CACHE BOOL "memstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_MKDIR ON CACHE BOOL "mkdir.elf [shell]" FORCE)
set(CLEONOS_USER_APP_MKFSFAT32 ON CACHE BOOL "mkfsfat32.elf [shell]" FORCE)
set(CLEONOS_USER_APP_MOUNT ON CACHE BOOL "mount.elf [shell]" FORCE)
set(CLEONOS_USER_APP_MV ON CACHE BOOL "mv.elf [shell]" FORCE)
set(CLEONOS_USER_APP_PARTCTL ON CACHE BOOL "partctl.elf [shell]" FORCE)
set(CLEONOS_USER_APP_PID ON CACHE BOOL "pid.elf [shell]" FORCE)
set(CLEONOS_USER_APP_PROCSTAT ON CACHE BOOL "procstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_PS ON CACHE BOOL "ps.elf [shell]" FORCE)
set(CLEONOS_USER_APP_PWD ON CACHE BOOL "pwd.elf [shell]" FORCE)
set(CLEONOS_USER_APP_QRCODE ON CACHE BOOL "qrcode.elf [shell]" FORCE)
set(CLEONOS_USER_APP_RESTART ON CACHE BOOL "restart.elf [shell]" FORCE)
set(CLEONOS_USER_APP_RM ON CACHE BOOL "rm.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SHELL ON CACHE BOOL "shell.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SHSTAT ON CACHE BOOL "shstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SHUTDOWN ON CACHE BOOL "shutdown.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SLEEP ON CACHE BOOL "sleep.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SORT ON CACHE BOOL "sort.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SPAWN ON CACHE BOOL "spawn.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SPIN ON CACHE BOOL "spin.elf [shell]" FORCE)
set(CLEONOS_USER_APP_STATS ON CACHE BOOL "stats.elf [shell]" FORCE)
set(CLEONOS_USER_APP_SYSSTAT ON CACHE BOOL "sysstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_TAIL ON CACHE BOOL "tail.elf [shell]" FORCE)
set(CLEONOS_USER_APP_TASKSTAT ON CACHE BOOL "taskstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_TOP ON CACHE BOOL "top.elf [shell]" FORCE)
set(CLEONOS_USER_APP_TOUCH ON CACHE BOOL "touch.elf [shell]" FORCE)
set(CLEONOS_USER_APP_TTY ON CACHE BOOL "tty.elf [shell]" FORCE)
set(CLEONOS_USER_APP_UNIQ ON CACHE BOOL "uniq.elf [shell]" FORCE)
set(CLEONOS_USER_APP_USERSTAT ON CACHE BOOL "userstat.elf [shell]" FORCE)
set(CLEONOS_USER_APP_WAIT ON CACHE BOOL "wait.elf [shell]" FORCE)
set(CLEONOS_USER_APP_WAVPLAY ON CACHE BOOL "wavplay.elf [shell]" FORCE)
set(CLEONOS_USER_APP_WC ON CACHE BOOL "wc.elf [shell]" FORCE)
set(CLEONOS_USER_APP_WRITE ON CACHE BOOL "write.elf [shell]" FORCE)
set(CLEONOS_USER_APP_YIELD ON CACHE BOOL "yield.elf [shell]" FORCE)
set(CLEONOS_USER_APP_ELFRUNNER ON CACHE BOOL "elfrunner.elf [system]" FORCE)
set(CLEONOS_USER_APP_MEMC ON CACHE BOOL "memc.elf [system]" FORCE)

View File

@@ -0,0 +1,58 @@
# Auto-generated by scripts/menuconfig.py
# Do not edit manually unless you know what you are doing.
set(CLEONOS_MENUCONFIG_CLKS_LOADED ON CACHE BOOL "CLeonOS menuconfig loaded" FORCE)
set(CLEONOS_CLKS_ENABLE_AUDIO ON CACHE BOOL "Audio Driver Init" FORCE)
set(CLEONOS_CLKS_ENABLE_MOUSE ON CACHE BOOL "PS/2 Mouse Input" FORCE)
set(CLEONOS_CLKS_ENABLE_DESKTOP ON CACHE BOOL "TTY2 Desktop" FORCE)
set(CLEONOS_CLKS_ENABLE_DRIVER_MANAGER ON CACHE BOOL "Driver Manager" FORCE)
set(CLEONOS_CLKS_ENABLE_KELF ON CACHE BOOL "KELF Executor" FORCE)
set(CLEONOS_CLKS_ENABLE_USERLAND_AUTO_EXEC ON CACHE BOOL "Auto Enter User Shell" FORCE)
set(CLEONOS_CLKS_ENABLE_HEAP_SELFTEST ON CACHE BOOL "Heap Selftest" FORCE)
set(CLEONOS_CLKS_ENABLE_EXTERNAL_PSF ON CACHE BOOL "Load External PSF Font" FORCE)
set(CLEONOS_CLKS_ENABLE_KEYBOARD ON CACHE BOOL "PS/2 Keyboard Input" FORCE)
set(CLEONOS_CLKS_ENABLE_ELFRUNNER_PROBE ON CACHE BOOL "ELFRUNNER Probe" FORCE)
set(CLEONOS_CLKS_ENABLE_KLOGD_TASK ON CACHE BOOL "Scheduler Task: klogd" FORCE)
set(CLEONOS_CLKS_ENABLE_KWORKER_TASK ON CACHE BOOL "Scheduler Task: kworker" FORCE)
set(CLEONOS_CLKS_ENABLE_USRD_TASK ON CACHE BOOL "Scheduler Task: usrd" FORCE)
set(CLEONOS_CLKS_ENABLE_BOOT_VIDEO_LOG "M" CACHE STRING "Boot Video Geometry Logs" FORCE)
set(CLEONOS_CLKS_ENABLE_BOOT_VIDEO_LOG_IS_ENABLED ON CACHE BOOL "Boot Video Geometry Logs enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_PMM_STATS_LOG "M" CACHE STRING "PMM Stats Logs" FORCE)
set(CLEONOS_CLKS_ENABLE_PMM_STATS_LOG_IS_ENABLED ON CACHE BOOL "PMM Stats Logs enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_HEAP_STATS_LOG "M" CACHE STRING "Heap Stats Logs" FORCE)
set(CLEONOS_CLKS_ENABLE_HEAP_STATS_LOG_IS_ENABLED ON CACHE BOOL "Heap Stats Logs enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_FS_ROOT_LOG "M" CACHE STRING "FS Root Children Log" FORCE)
set(CLEONOS_CLKS_ENABLE_FS_ROOT_LOG_IS_ENABLED ON CACHE BOOL "FS Root Children Log enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_SYSTEM_DIR_CHECK ON CACHE BOOL "FS /SYSTEM Sanity Check" FORCE)
set(CLEONOS_CLKS_ENABLE_ELFRUNNER_INIT ON CACHE BOOL "ELFRUNNER Init" FORCE)
set(CLEONOS_CLKS_ENABLE_SYSCALL_TICK_QUERY ON CACHE BOOL "SYSCALL Tick Query" FORCE)
set(CLEONOS_CLKS_ENABLE_TTY_READY_LOG "M" CACHE STRING "TTY Ready Logs" FORCE)
set(CLEONOS_CLKS_ENABLE_TTY_READY_LOG_IS_ENABLED ON CACHE BOOL "TTY Ready Logs enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_IDLE_DEBUG_LOG "M" CACHE STRING "Idle Loop Debug Log" FORCE)
set(CLEONOS_CLKS_ENABLE_IDLE_DEBUG_LOG_IS_ENABLED ON CACHE BOOL "Idle Loop Debug Log enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_PROCFS ON CACHE BOOL "Virtual /proc" FORCE)
set(CLEONOS_CLKS_ENABLE_EXEC_SERIAL_LOG "M" CACHE STRING "EXEC Serial Logs" FORCE)
set(CLEONOS_CLKS_ENABLE_EXEC_SERIAL_LOG_IS_ENABLED ON CACHE BOOL "EXEC Serial Logs enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_USC ON CACHE BOOL "UserSafeController (USC)" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_FS_MKDIR OFF CACHE BOOL "Intercept FS_MKDIR" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_FS_WRITE OFF CACHE BOOL "Intercept FS_WRITE" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_FS_APPEND OFF CACHE BOOL "Intercept FS_APPEND" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_FS_REMOVE OFF CACHE BOOL "Intercept FS_REMOVE" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATH ON CACHE BOOL "Intercept EXEC_PATH" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV ON CACHE BOOL "Intercept EXEC_PATHV" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_EXEC_PATHV_IO OFF CACHE BOOL "Intercept EXEC_PATHV_IO" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATH ON CACHE BOOL "Intercept SPAWN_PATH" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_SPAWN_PATHV ON CACHE BOOL "Intercept SPAWN_PATHV" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_PROC_KILL ON CACHE BOOL "Intercept PROC_KILL" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_SHUTDOWN ON CACHE BOOL "Intercept SHUTDOWN" FORCE)
set(CLEONOS_CLKS_ENABLE_USC_SC_RESTART ON CACHE BOOL "Intercept RESTART" FORCE)
set(CLEONOS_CLKS_ENABLE_KBD_TTY_SWITCH_HOTKEY ON CACHE BOOL "Keyboard TTY Switch Hotkey" FORCE)
set(CLEONOS_CLKS_ENABLE_KBD_CTRL_SHORTCUTS ON CACHE BOOL "Keyboard Ctrl Shortcuts" FORCE)
set(CLEONOS_CLKS_ENABLE_KBD_FORCE_STOP_HOTKEY ON CACHE BOOL "Keyboard Force-Stop Hotkey" FORCE)
set(CLEONOS_CLKS_ENABLE_USER_INIT_SCRIPT_PROBE ON CACHE BOOL "User Init Script Probe" FORCE)
set(CLEONOS_CLKS_ENABLE_USER_SYSTEM_APP_PROBE ON CACHE BOOL "User System App Probe" FORCE)
set(CLEONOS_CLKS_ENABLE_SCHED_TASK_COUNT_LOG "Y" CACHE STRING "Scheduler Task Count Log" FORCE)
set(CLEONOS_CLKS_ENABLE_SCHED_TASK_COUNT_LOG_IS_ENABLED ON CACHE BOOL "Scheduler Task Count Log enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_INTERRUPT_READY_LOG "M" CACHE STRING "Interrupt Ready Log" FORCE)
set(CLEONOS_CLKS_ENABLE_INTERRUPT_READY_LOG_IS_ENABLED ON CACHE BOOL "Interrupt Ready Log enabled(y|m)" FORCE)
set(CLEONOS_CLKS_ENABLE_SHELL_MODE_LOG "M" CACHE STRING "Shell Mode Log" FORCE)
set(CLEONOS_CLKS_ENABLE_SHELL_MODE_LOG_IS_ENABLED ON CACHE BOOL "Shell Mode Log enabled(y|m)" FORCE)