You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.4 KiB
CMake

# Copyright (C) 2021,2022 fef <owo@fef.moe>. All rights reserved.
option(DEBUG "Enable debugging" ON)
set(ARCH "x86" CACHE STRING "Target architecture")
set_property(CACHE ARCH PROPERTY STRINGS
"x86"
)
include("${CMAKE_CURRENT_LIST_DIR}/config-${ARCH}.cmake")
set(CFG_KERN_ORIGIN "0x00400000" CACHE STRING "Physical address where the kernel is loaded (don't touch this)")
option(CFG_POISON_PAGES "Poison pages after allocate and free" ON)
option(CFG_POISON_SLABS "Poison slab allocations (kmalloc() and friends)" ON)
set(CFG_PAGE_EMERG_DENOM "16" CACHE STRING "Denominator for the fraction of pages kept in emergency reserves")
set(CFG_PAGE_EMERG_MAX "1024" CACHE STRING "Absolute maximum number of pages kept in emergency reserves")
option(CFG_SMP "Enable Symmetric Multiprocessing" ON)
set(CFG_MAX_CPU "64" CACHE STRING "Maximum number of logical processors")
option(CFG_DEBUG_IRQ "Debug IRQs" ${DEBUG})
option(CFG_DEBUG_MTX "Debug mutexes" ${DEBUG})
option(CFG_DEBUG_CLIST "Sanitize clist operations" ${DEBUG})
option(CFG_DEBUG_PAGE_ALLOCS "Debug page frame allocations" OFF)
option(CFG_DEBUG_PAGE_ALLOCS_NOISY "Debug page frame allocations in full detail (VERY noisy)" OFF)
option(CFG_DEBUG_PGADDRS "Sanitize page frame addresses" OFF)
option(CFG_DEBUG_SLAB_ALLOCS "Debug slab allocations" OFF)
option(CFG_DEBUG_SLAB_ALLOCS_NOISY "Debug slab allocations in full detail (VERY noisy)" OFF)