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

/* 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