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.
69 lines
2.0 KiB
C
69 lines
2.0 KiB
C
/* Copyright (C) 2021,2022 fef <owo@fef.moe>. All rights reserved. */
|
|
|
|
/**
|
|
* @file include/gay/config.h
|
|
* @brief Kernel configuration header.
|
|
* This header file contains all architecture independent configuration options
|
|
* for GayBSD, as defined in `cmake/config.cmake`.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#cmakedefine DEBUG
|
|
|
|
#define GAY_VERSION_MAJOR @gaybsd_VERSION_MAJOR@
|
|
#define GAY_VERSION_MINOR @gaybsd_VERSION_MINOR@
|
|
#define GAY_VERSION_PATCH @gaybsd_VERSION_PATCH@
|
|
#define GAY_VERSION ( \
|
|
(unsigned long)GAY_VERSION_MAJOR << 24 | \
|
|
(unsigned long)GAY_VERSION_MINOR << 16 | \
|
|
(unsigned long)GAY_VERSION_PATCH \
|
|
)
|
|
#define GAY_VERSION_STR \
|
|
"@gaybsd_VERSION_MAJOR@.@gaybsd_VERSION_MINOR@.@gaybsd_VERSION_PATCH@@gaybsd_VERSION_SUFFIX@"
|
|
|
|
/** @brief Physical address where the kernel is loaded */
|
|
#define CFG_KERN_ORIGIN @CFG_KERN_ORIGIN@
|
|
|
|
/** @brief Poison dynamic pages when allocating and freeing them */
|
|
#cmakedefine01 CFG_POISON_PAGES
|
|
|
|
/** @brief Poison slab allocations (`kmalloc()` and friends) */
|
|
#cmakedefine01 CFG_POISON_SLABS
|
|
|
|
/** @brief Denominator for the fraction of pages kept in emergency reserves */
|
|
#define CFG_PAGE_EMERG_DENOM @CFG_PAGE_EMERG_DENOM@
|
|
|
|
/** @brief Absolute maximum number of pages kept in emergency reserves */
|
|
#define CFG_PAGE_EMERG_MAX @CFG_PAGE_EMERG_MAX@
|
|
|
|
/** @brief Enable Symmetric Multiprocessing */
|
|
#cmakedefine01 CFG_SMP
|
|
|
|
/** @brief Maximum number of logical processors */
|
|
#define CFG_MAX_CPU @CFG_MAX_CPU@
|
|
|
|
/** @brief Debug IRQs */
|
|
#cmakedefine01 CFG_DEBUG_IRQ
|
|
|
|
/** @brief Debug mutexes */
|
|
#cmakedefine01 CFG_DEBUG_MTX
|
|
|
|
/** @brief Sanitize clist operations */
|
|
#cmakedefine01 CFG_DEBUG_CLIST
|
|
|
|
/** @brief Debug page frame allocations */
|
|
#cmakedefine01 CFG_DEBUG_PAGE_ALLOCS
|
|
|
|
/** @brief Spit out the full details of page allocations */
|
|
#cmakedefine01 CFG_DEBUG_PAGE_ALLOCS_NOISY
|
|
|
|
/** @brief Sanitize page frame addresses */
|
|
#cmakedefine01 CFG_DEBUG_PGADDRS
|
|
|
|
/** @brief Debug slab allocations */
|
|
#cmakedefine01 CFG_DEBUG_SLAB_ALLOCS
|
|
|
|
/** @brief Spit out the full details of slab allocations */
|
|
#cmakedefine01 CFG_DEBUG_SLAB_ALLOCS_NOISY
|