2005-04-16 18:20:36 -04:00
|
|
|
menu "Kernel hacking"
|
|
|
|
|
2006-07-03 03:24:43 -04:00
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
2007-10-24 18:50:43 -04:00
|
|
|
def_bool y
|
2006-07-03 03:24:43 -04:00
|
|
|
|
2005-04-16 18:20:36 -04:00
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
|
|
|
|
config EARLY_PRINTK
|
2007-10-29 08:49:36 -04:00
|
|
|
bool "Early printk" if EMBEDDED && DEBUG_KERNEL && X86_32
|
2005-04-16 18:20:36 -04:00
|
|
|
default y
|
|
|
|
help
|
|
|
|
Write kernel log output directly into the VGA buffer or to a serial
|
|
|
|
port.
|
|
|
|
|
|
|
|
This is useful for kernel debugging when your machine crashes very
|
|
|
|
early before the console code is initialized. For normal operation
|
|
|
|
it is not recommended because it looks ugly and doesn't cooperate
|
|
|
|
with klogd/syslogd or the X server. You should normally N here,
|
|
|
|
unless you want to debug such a crash.
|
|
|
|
|
|
|
|
config DEBUG_STACKOVERFLOW
|
|
|
|
bool "Check for stack overflows"
|
|
|
|
depends on DEBUG_KERNEL
|
2005-07-27 14:44:23 -04:00
|
|
|
help
|
|
|
|
This option will cause messages to be printed if free stack space
|
|
|
|
drops below a certain limit.
|
2005-04-16 18:20:36 -04:00
|
|
|
|
|
|
|
config DEBUG_STACK_USAGE
|
|
|
|
bool "Stack utilization instrumentation"
|
|
|
|
depends on DEBUG_KERNEL
|
|
|
|
help
|
|
|
|
Enables the display of the minimum amount of free stack which each
|
|
|
|
task has ever had available in the sysrq-T and sysrq-P debug output.
|
|
|
|
|
|
|
|
This option will slow down process creation somewhat.
|
|
|
|
|
|
|
|
comment "Page alloc debug is incompatible with Software Suspend on i386"
|
2007-07-29 17:24:36 -04:00
|
|
|
depends on DEBUG_KERNEL && HIBERNATION
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_32
|
2005-04-16 18:20:36 -04:00
|
|
|
|
|
|
|
config DEBUG_PAGEALLOC
|
2006-03-25 06:07:22 -05:00
|
|
|
bool "Debug page memory allocations"
|
2007-07-29 17:24:36 -04:00
|
|
|
depends on DEBUG_KERNEL && !HIBERNATION && !HUGETLBFS
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_32
|
2005-04-16 18:20:36 -04:00
|
|
|
help
|
|
|
|
Unmap pages from the kernel linear mapping after free_pages().
|
|
|
|
This results in a large slowdown, but helps to find certain types
|
|
|
|
of memory corruptions.
|
|
|
|
|
2006-01-06 03:12:02 -05:00
|
|
|
config DEBUG_RODATA
|
|
|
|
bool "Write protect kernel read-only data structures"
|
|
|
|
depends on DEBUG_KERNEL
|
|
|
|
help
|
|
|
|
Mark the kernel read-only data as write-protected in the pagetables,
|
|
|
|
in order to catch accidental (and incorrect) writes to such const
|
|
|
|
data. This option may have a slight performance impact because a
|
|
|
|
portion of the kernel code won't be covered by a 2MB TLB anymore.
|
|
|
|
If in doubt, say "N".
|
|
|
|
|
2005-04-16 18:20:36 -04:00
|
|
|
config 4KSTACKS
|
|
|
|
bool "Use 4Kb for kernel stacks instead of 8Kb"
|
|
|
|
depends on DEBUG_KERNEL
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_32
|
2005-04-16 18:20:36 -04:00
|
|
|
help
|
|
|
|
If you say Y here the kernel will use a 4Kb stacksize for the
|
|
|
|
kernel stack attached to each process/thread. This facilitates
|
|
|
|
running more threads on a system and also reduces the pressure
|
|
|
|
on the VM subsystem for higher order allocations. This option
|
|
|
|
will also use IRQ stacks to compensate for the reduced stackspace.
|
|
|
|
|
|
|
|
config X86_FIND_SMP_CONFIG
|
2007-10-24 18:50:43 -04:00
|
|
|
def_bool y
|
2005-04-16 18:20:36 -04:00
|
|
|
depends on X86_LOCAL_APIC || X86_VOYAGER
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_32
|
2005-04-16 18:20:36 -04:00
|
|
|
|
|
|
|
config X86_MPPARSE
|
2007-10-24 18:50:43 -04:00
|
|
|
def_bool y
|
2005-04-16 18:20:36 -04:00
|
|
|
depends on X86_LOCAL_APIC && !X86_VISWS
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_32
|
2005-04-16 18:20:36 -04:00
|
|
|
|
2006-04-18 06:35:22 -04:00
|
|
|
config DOUBLEFAULT
|
|
|
|
default y
|
|
|
|
bool "Enable doublefault exception handler" if EMBEDDED
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_32
|
|
|
|
help
|
|
|
|
This option allows trapping of rare doublefault exceptions that
|
|
|
|
would otherwise cause a system to silently reboot. Disabling this
|
|
|
|
option saves about 4k and might cause you much additional grey
|
|
|
|
hair.
|
|
|
|
|
|
|
|
config IOMMU_DEBUG
|
|
|
|
bool "Enable IOMMU debugging"
|
2007-10-24 06:49:48 -04:00
|
|
|
depends on GART_IOMMU && DEBUG_KERNEL
|
2007-10-24 18:50:43 -04:00
|
|
|
depends on X86_64
|
2006-04-18 06:35:22 -04:00
|
|
|
help
|
2007-10-24 18:50:43 -04:00
|
|
|
Force the IOMMU to on even when you have less than 4GB of
|
|
|
|
memory and add debugging code. On overflow always panic. And
|
|
|
|
allow to enable IOMMU leak tracing. Can be disabled at boot
|
|
|
|
time with iommu=noforce. This will also enable scatter gather
|
|
|
|
list merging. Currently not recommended for production
|
|
|
|
code. When you use it make sure you have a big enough
|
|
|
|
IOMMU/AGP aperture. Most of the options enabled by this can
|
|
|
|
be set more finegrained using the iommu= command line
|
|
|
|
options. See Documentation/x86_64/boot-options.txt for more
|
|
|
|
details.
|
|
|
|
|
|
|
|
config IOMMU_LEAK
|
|
|
|
bool "IOMMU leak tracing"
|
|
|
|
depends on DEBUG_KERNEL
|
|
|
|
depends on IOMMU_DEBUG
|
|
|
|
help
|
|
|
|
Add a simple leak tracer to the IOMMU code. This is useful when you
|
|
|
|
are debugging a buggy device driver that leaks IOMMU mappings.
|
|
|
|
|
2005-04-16 18:20:36 -04:00
|
|
|
endmenu
|