Fix void* arithmetic bug. Add dassert facility.
[akaros.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 8fa0228..0981d1f 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -123,6 +123,12 @@ config TRACE_LOCKS
 
 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
@@ -147,6 +153,29 @@ config SEMAPHORE_DEBUG
                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
@@ -198,6 +227,15 @@ config SYSCALL_STRING_SAVING
                kthread, which can be viewed when debugging semaphores.  Individual
                syscalls can save info in this buffer.
 
+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.
+
 endmenu
 
 config VM
@@ -206,6 +244,31 @@ config VM
        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
+
+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
 
 menu "Misc/Old Options"