9ns: Use strlcpy() for various devices
[akaros.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 0981d1f..cd953ca 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -11,9 +11,9 @@ config SRCARCH
 
 config 64BIT
        bool "64-bit kernel"
 
 config 64BIT
        bool "64-bit kernel"
-       default n
+       default y
        help
        help
-               Say yes to build a 64-bit kernel, amd64 / x86_64, riscv64, etc.
+               Say yes to build a 64-bit kernel.  Must be 'y' for x86.
 
 menuconfig RUN_INIT_SCRIPT
        bool "Run init script after boot"
 
 menuconfig RUN_INIT_SCRIPT
        bool "Run init script after boot"
@@ -79,24 +79,21 @@ config EXT2_BDEV
 
 endmenu
 
 
 endmenu
 
-menu "Memory Management"
-
-config PAGE_COLORING
-       bool "Page coloring"
-       default n
+choice COREALLOC_POLICY
+       prompt "Core Allocation Policy"
        help
        help
-               Turns on internal support for page coloring.  When turned off, the page
-               allocator acts like there is only one color.  Hasn't been used in a few
-               years.
+               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 BOXBORO
-       depends on PAGE_COLORING
-       bool "Boxboro-specific page coloring"
-       default n
+config COREALLOC_FCFS
+       bool "Simple FCFS"
        help
        help
-               Say 'n'.
+               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.
 
 
-endmenu
+endchoice
 
 menu "Kernel Debugging"
 
 
 menu "Kernel Debugging"
 
@@ -168,22 +165,6 @@ config SEM_SPINWAIT_NR_LOOPS
        help
                How many times to poll a busy semaphore before going to sleep.
 
        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
-       help
-               When idling, the kernel will reset the stack of its kernel thread to
-               the top of the stack, abandoning its context.  This is useful so we do
-               not run off the end of our stacks, but makes backtracing difficult.
-
 config LARGE_KSTACKS
        bool "Large (two-page) Kernel Stacks"
        default y
 config LARGE_KSTACKS
        bool "Large (two-page) Kernel Stacks"
        default y
@@ -196,14 +177,6 @@ config LARGE_KSTACKS
                higher performance, and mention this setting if you have any weird
                crashes or panics.
 
                higher performance, and mention this setting if you have any weird
                crashes or panics.
 
-config KTHREAD_POISON
-       bool "Kthread Poison Canary"
-       default n
-       help
-               Kthreads will use a bit of storage at the bottom of the stack to track
-               the state of the kthread.  This is useful to catch various bugs with
-               kthreading, such as launching the same kthread twice concurrently.
-
 config DISABLE_SMT
        bool "Disables symmetric multithreading"
        default n
 config DISABLE_SMT
        bool "Disables symmetric multithreading"
        default n
@@ -236,39 +209,15 @@ config BLOCK_EXTRAS
                implementation.  Say y.  If you have networking bugs, try turning this
                off, and if that helps, tell someone.
 
                implementation.  Say y.  If you have networking bugs, try turning this
                off, and if that helps, tell someone.
 
-endmenu
-
-config VM
-       bool "Virtual Machine support"
+config BETTER_BACKTRACE
+       bool "Better backtraces, less optimizations"
        default n
        help
        default n
        help
-               VM support -- not working! Based on KVM.
-
-menuconfig NIX
-       bool "NIX support"
-       default n
-       help
-               NIX support -- Sort of working. You can start kernels that don't enable
-               interrupts.
-
-if NIX
+               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.
 
 
-config NIX_IMG_PADDR
-       hex "Physical address for the NIX image"
-       depends on NIX
-       default 0x40000000
-       help
-               Physical address that the NIX device will allocate during
-               initialization.
-
-config NIX_IMG_SIZE
-       hex "Size of the NIX image"
-       depends on NIX
-       default 0x40000000
-       help
-               Size in bytes of the NIX image.  Must be a power of two.
-
-endif # NIX
+endmenu
 
 menu "Misc/Old Options"
 
 
 menu "Misc/Old Options"
 
@@ -310,4 +259,6 @@ config BSD_ON_CORE0
 
 endmenu
 
 
 endmenu
 
+source "kern/lib/Kconfig"
+
 source "kern/src/ktest/Kconfig"
 source "kern/src/ktest/Kconfig"