config 64BIT
bool "64-bit kernel"
+ default y
+ help
+ Say yes to build a 64-bit kernel. Must be 'y' for x86.
+
+menuconfig RUN_INIT_SCRIPT
+ bool "Run init script after boot"
default n
help
- Say yes to build a 64-bit kernel, amd64 / x86_64, riscv64, etc.
+ Run an init script after boot instead of dropping into the monitor
+
+config INIT_SCRIPT_PATH_AND_ARGS
+ depends on RUN_INIT_SCRIPT
+ string "Path to init script, followed by its arguments."
+ default /bin/init.sh
+ help
+ Path to the init script run at boot time, followed by a space separated
+ list of arguments
source "kern/arch/$SRCARCH/Kconfig"
endmenu
+choice COREALLOC_POLICY
+ prompt "Core Allocation Policy"
+ help
+ Select a policy for allocating cores to a process upon request. All
+ strategies first allocate cores from the set of provisioned cores for a
+ process, but differ in how they select cores beyond this.
+
+config COREALLOC_FCFS
+ bool "Simple FCFS"
+ help
+ Allocate cores to processes on a first-come-first-served basis. All
+ cores are treated equally, and no topology information is used to try
+ and optimize which cores are given to which processes upon request.
+
+endchoice
+
menu "Memory Management"
config PAGE_COLORING
endmenu
+config DEVELOPMENT_ASSERTIONS
+ bool "dasserts"
+ default n
+ help
+ Turn on dassert() in code, dassert will compile to assert().
+
config SPINLOCK_DEBUG
bool "Spinlock debugging"
default n
semaphore was downed, and provides a linked list of all semaphores that
have waiters. This will slow down all semaphore ups and downs.
+config SEM_SPINWAIT
+ bool "Semaphore spinwaiting"
+ default n
+ help
+ Turns on semaphore spinwaiting. In lieu of intelligent Adaptive
+ Mutexes, busy semaphores will just spin for a while before fully
+ sleeping.
+
+config SEM_SPINWAIT_NR_LOOPS
+ int "Number of polls before sleeping"
+ depends on SEM_SPINWAIT
+ default 100
+ help
+ How many times to poll a busy semaphore before going to sleep.
+
+config SEM_TRACE_BLOCKERS
+ bool "Semaphore Blocker Tracing"
+ default n
+ help
+ Drops a TRACEME whenever a semaphore would block (barring slight
+ races). To access the trace data, you'll need to use the opcontrols
+ and process the data with op2.
+
config RESET_STACKS
bool "Reset Stacks"
default y
kthread, which can be viewed when debugging semaphores. Individual
syscalls can save info in this buffer.
-endmenu
+config BLOCK_EXTRAS
+ bool "Block Extra Data"
+ default y
+ help
+ Extends blocks to have a list of other memory blocks. Useful for
+ networking performance. This is only an option while we debug the
+ implementation. Say y. If you have networking bugs, try turning this
+ off, and if that helps, tell someone.
-config VM
- bool "Virtual Machine support"
+config BETTER_BACKTRACE
+ bool "Better backtraces, less optimizations"
default n
help
- VM support -- not working! Based on KVM.
+ The kernel uses the frame pointer and call stacks for backtraces.
+ Tail-call optimizations remove some of this information. Say 'Y' here
+ to have better backtraces, at the expense of performance.
+endmenu
menu "Misc/Old Options"
endmenu
+source "kern/lib/Kconfig"
+
source "kern/src/ktest/Kconfig"