kern/cmake/config.cmake
fef 5c0fa715a4
kmalloc: add actual memory allocator
Now that memory allocation finally kind of works,
we can finally start focusing on the core system
architecture.  This commit also fixes some bugs in
get_page() and friends, as well as performance
improvements because the page map is addressed as
unsigned longs rather than individual bytes.
2021-09-29 01:10:41 +02:00

31 lines
1.2 KiB
CMake

# See the end of this file for copyright and license terms.
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(KERNEL_ORIGIN "0x100000" CACHE STRING "Physical address where the kernel is loaded (don't touch this)")
set(KERNEL_RELOCATE "0xc0000000" CACHE STRING "Virtual address the kernel is mapped to (don't touch this)")
set(CFG_POISON_PAGES "Poison pages after allocate and free" ON)
set(CFG_POISON_HEAP "Poison heap memory after kmalloc() and kfree()" ON)
set(SCHED_MAX_TASKS "128" CACHE STRING "Maximum number of tasks")
# This file is part of GayBSD.
# Copyright (c) 2021 fef <owo@fef.moe>.
#
# GayBSD is nonviolent software: you may only use, redistribute, and/or
# modify it under the terms of the Cooperative Nonviolent Public License
# (CNPL) as found in the LICENSE file in the source code root directory
# or at <https://git.pixie.town/thufie/npl-builder>; either version 7
# of the license, or (at your option) any later version.
#
# GayBSD comes with ABSOLUTELY NO WARRANTY, to the extent
# permitted by applicable law. See the CNPL for details.