Add support for a crossed-native compiler build (XCC)
[akaros.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index b67c9dd..32ad779 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -9,57 +9,17 @@ config SRCARCH
        string
        option env="ARCH"
 
-source "kern/arch/$SRCARCH/Kconfig"
-
-source "kern/src/net/Kconfig"
-
-menu "Drivers"
-
-menuconfig E1000
-       depends on NETWORKING && X86
-       bool "e1000 driver"
+config 64BIT
+       bool "64-bit kernel"
        default n
        help
-               Buggy e1000 driver.  Use at your own risk.
+               Say yes to build a 64-bit kernel, amd64 / x86_64, riscv64, etc.
 
-if E1000
-config E1000_MMIO_HACK
-       bool "e1000 MMIO hack"
-       default n
-       help
-               Legacy option, say 'n'.
-
-config E1000_ON_BOXBORO
-       bool "e1000 on Boxboro"
-       default n
-       help
-               Legacy option, say 'n'.
-
-config E1000_ON_S142
-       bool "e1000 on s142"
-       default n
-       help
-               Legacy option, say 'n'.
-
-endif # E1000
-
-# Mostly just a placeholder.  These options do nothing.
-config REALTEK8168
-       depends on NETWORKING && X86
-       bool "Realtek 8168"
-       default n
-       help
-               Buggy realtek driver.  Use at your own risk.  This CONFIG option
-               actually does nothing; the code is built regardless.
+source "kern/arch/$SRCARCH/Kconfig"
 
-config ETH_AUDIO
-       depends on NETWORKING && X86
-       bool "Ethernet audio"
-       default n
-       help
-               Build old support for David Wessel's ethernet audio device.
+source "kern/src/net/Kconfig"
 
-endmenu
+source "kern/drivers/Kconfig"
 
 menu "Filesystems"
 
@@ -134,6 +94,29 @@ endmenu
 
 menu "Kernel Debugging"
 
+menu "Per-cpu Tracers"
+
+config TRACE_KMSGS
+       bool "KMSG Tracing"
+       default n
+       help
+               Turns on KMSG tracing, using the per-cpu ring buffer (holds about 256
+               events).  You can access this from the monitor via "trace pcpui".  Turn
+               this off for a slight performance improvement on every KMSG (and every
+               MCP proc_yield).
+
+config TRACE_LOCKS
+       bool "Lock Tracing"
+       depends on SPINLOCK_DEBUG
+       default n
+       help
+               Turns on lock tracing, using the per-cpu ring buffer.  This records the
+               a timestamp and lock address, in an over-write tracing style (meaning
+               it'll clobber older events).  If you have locking issues, this may give
+               you clues as to which locks were grabbed recently.
+
+endmenu
+
 config SPINLOCK_DEBUG
        bool "Spinlock debugging"
        default n
@@ -150,6 +133,14 @@ config SEQLOCK_DEBUG
                Provides asserts to detect seqlock errors.  This will allow a malicious
                userspace to trigger a panic in the kernel.
 
+config SEMAPHORE_DEBUG
+       bool "Semaphore debugging"
+       default n
+       help
+               Turns on debugging, which tracks the last time and location that a
+               semaphore was downed, and provides a linked list of all semaphores that
+               have waiters.  This will slow down all semaphore ups and downs.
+
 config RESET_STACKS
        bool "Reset Stacks"
        default y