|  | menu "Kernel hacking" | 
|  |  | 
|  | source "lib/Kconfig.debug" | 
|  |  | 
|  | config EARLY_PRINTK | 
|  | bool "Early printk" if EMBEDDED && DEBUG_KERNEL | 
|  | 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 | 
|  | help | 
|  | This option will cause messages to be printed if free stack space | 
|  | drops below a certain limit. | 
|  |  | 
|  | 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. | 
|  |  | 
|  | config STACK_BACKTRACE_COLS | 
|  | int "Stack backtraces per line" if DEBUG_KERNEL | 
|  | range 1 3 | 
|  | default 2 | 
|  | help | 
|  | Selects how many stack backtrace entries per line to display. | 
|  |  | 
|  | This can save screen space when displaying traces. | 
|  |  | 
|  | comment "Page alloc debug is incompatible with Software Suspend on i386" | 
|  | depends on DEBUG_KERNEL && SOFTWARE_SUSPEND | 
|  |  | 
|  | config DEBUG_PAGEALLOC | 
|  | bool "Debug page memory allocations" | 
|  | depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND && !HUGETLBFS | 
|  | 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. | 
|  |  | 
|  | 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". | 
|  |  | 
|  | config 4KSTACKS | 
|  | bool "Use 4Kb for kernel stacks instead of 8Kb" | 
|  | depends on DEBUG_KERNEL | 
|  | 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 | 
|  | bool | 
|  | depends on X86_LOCAL_APIC || X86_VOYAGER | 
|  | default y | 
|  |  | 
|  | config X86_MPPARSE | 
|  | bool | 
|  | depends on X86_LOCAL_APIC && !X86_VISWS | 
|  | default y | 
|  |  | 
|  | config DOUBLEFAULT | 
|  | default y | 
|  | bool "Enable doublefault exception handler" if EMBEDDED | 
|  | 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. | 
|  |  | 
|  | endmenu |