OS kernel.
More...
OS kernel.
The kernel of PatchworkOS.
◆ CONFIG_INTERRUPT_STACK_PAGES
| #define CONFIG_INTERRUPT_STACK_PAGES 4 |
Interrupt stack configuration.
The CONFIG_INTERRUPT_STACK_PAGES constant defines the amount of pages that are allocated for the per-CPU interrupt, exception and doubleFault stacks.
The interrupt stack can be much much smaller than regular kernel stacks as all interrupt handlers should be as short as possible and allocate as little memory as possible to reduce the amount of time while preemptions are disabled.
Definition at line 14 of file config.h.
◆ CONFIG_LOAD_BALANCE_BIAS
| #define CONFIG_LOAD_BALANCE_BIAS 2 |
Load balance bias configuration.
The CONFIG_LOAD_BALANCE_BIAS constant defines the bias used the minimum inbalance required for load balancing to occur.
Definition at line 143 of file config.h.
◆ CONFIG_LOG_SERIAL
| #define CONFIG_LOG_SERIAL true |
Serial logging configuration.
The CONFIG_LOG_SERIAL constant defines if to output logged strings via serial.
Definition at line 57 of file config.h.
◆ CONFIG_MAX_ARGC
| #define CONFIG_MAX_ARGC 512 |
Maximum argument vector configuration.
The CONFIG_MAX_ARGC constant defines the maximum amount of arguments that can be passed to a process via its argument vector. Used to avoid vulnerabilities where extremely large argument vectors are passed to processes.
Definition at line 79 of file config.h.
◆ CONFIG_MAX_FD
Maximum file descriptor configuration.
The CONFIG_MAX_FD constant defines the maximum amount of file descriptors that a process is allowed to have open.
Definition at line 47 of file config.h.
◆ CONFIG_MAX_KERNEL_STACK_PAGES
| #define CONFIG_MAX_KERNEL_STACK_PAGES 100 |
Kernel stack configuration.
The CONFIG_MAX_KERNEL_STACK_PAGES constant defines the maximum amount of pages that are allowed to be allocated for a threads kernel stack, the kernel stack is used while the thread is in kernel space and NOT handling an exception/interrupt.
Definition at line 26 of file config.h.
◆ CONFIG_MAX_NOTES
| #define CONFIG_MAX_NOTES 8 |
Maximum note queue configuration.
The CONFIG_MAX_NOTES constant defines the maximum length of a threads note queue. If a thread is unable to receive the notes in time before the queue fills up, then notes will be discarded, unless they are flagged as NOTE_CRITICAL.
Definition at line 68 of file config.h.
◆ CONFIG_MAX_PRIORITY_BOOST
| #define CONFIG_MAX_PRIORITY_BOOST 8 |
Maximum priority boost configuration.
The CONFIG_MAX_PRIORITY_BOOST constant defines the maximum priority boost a thread can receive from being I/O bound.
Definition at line 121 of file config.h.
◆ CONFIG_MAX_PRIORITY_PENALTY
| #define CONFIG_MAX_PRIORITY_PENALTY 8 |
Maximum priority penalty configuration.
The CONFIG_MAX_PRIORITY_PENALTY constant defines the maximum priority penalty a thread can receive from being CPU bound.
Definition at line 132 of file config.h.
◆ CONFIG_MAX_RECENT_BLOCK_TIME
Maximum recent block time configuration.
The CONFIG_MAX_RECENT_BLOCK_TIME constant defines the length of time considered when deciding if a thread is I/O or CPU bound.
Definition at line 110 of file config.h.
◆ CONFIG_MAX_TIME_SLICE
Maximum time slice configuration.
The CONFIG_MAX_TIME_SLICE constant defines the maximum time slice a thread can have based on its priority.
Definition at line 89 of file config.h.
◆ CONFIG_MAX_USER_STACK_PAGES
| #define CONFIG_MAX_USER_STACK_PAGES 100 |
User stack configuration.
The CONFIG_MAX_USER_STACK_PAGES constant defines the maximum amount of pages that are allowed to be allocated for a threads user stack, the user stack is used while the thread is in user space.
Definition at line 37 of file config.h.
◆ CONFIG_MIN_TIME_SLICE
Minimum time slice configuration.
The CONFIG_MIN_TIME_SLICE constant defines the minimum time slice a thread can have based on its priority.
Definition at line 99 of file config.h.
◆ CONFIG_MUTEX_MAX_SLOW_SPIN
| #define CONFIG_MUTEX_MAX_SLOW_SPIN 1000 |
Maximum mutex slow spin configuration.
The CONFIG_MUTEX_MAX_SLOW_SPIN constant defines the maximum number of iterations a thread will spin before blocking on a mutex.
Definition at line 154 of file config.h.
◆ CONFIG_PMM_BITMAP_MAX_ADDR
| #define CONFIG_PMM_BITMAP_MAX_ADDR 0x4000000ULL |
Maximum bitmap allocator address.
The CONFIG_PMM_BITMAP_MAX_ADDR constant defines the maximum address below which pages will be handled by the bitmap allocator, pages above this value will be handled by the free stack allocator.
Definition at line 175 of file config.h.
◆ CONFIG_PROCESS_REAPER_INTERVAL
Process reaper interval configuration.
The CONFIG_PROCESS_REAPER_INTERVAL constant defines the minimum interval at which the process reaper runs to clean up zombie processes. It might run less frequently.
Definition at line 186 of file config.h.
◆ CONFIG_SCREEN_MAX_LINES
| #define CONFIG_SCREEN_MAX_LINES 256 |
Maximum screen lines configuration.
The CONFIG_SCREEN_MAX_LINES constant defines the maximum number of lines that the logging system will display.
Definition at line 164 of file config.h.