menu "Kernel hacking" config TRACE_IRQFLAGS_SUPPORT def_bool y config DEBUG_VERBOSE bool "Verbose fault messages" default y select PRINTK help When a program crashes due to an exception, or the kernel detects an internal error, the kernel can print a not so brief message explaining what the problem was. This debugging information is useful to developers and kernel hackers when tracking down problems, but mostly meaningless to other people. This is always helpful for debugging but serves no purpose on a production system. Most people should say N here. config PROTECT_KERNEL default y bool 'Enable Kernel range register Protection' help Adds code to enable/disable range registers to protect static kernel code/data from userspace. Currently the ranges covered do no protect kernel loadable modules or dynamically allocated kernel data. config NO_KERNEL_MSG bool "Suppress Kernel BUG Messages" help Do not output any debug BUG messages within the kernel. config EARLY_PRINTK bool "Use the driver that you selected as console also for early printk (to debug kernel bootup)." default n help If you want to use the serdes driver (console=ttyUS0) for early printk, you must also supply an additional kernel boot parameter like this: serdes=ioportaddr,irq,clockrate,baud For an IP7160RGW eval board, you could use this: serdes=0x2004000,61,250000000,57600 which will let you see early printk output at 57600 baud. config STOP_ON_TRAP bool "Enable stopping at the LDSR for all traps" default n help Cause the LDSR to stop all threads whenever a trap is about to be serviced config STOP_ON_BUG bool "Enable stopping on failed BUG_ON()" default n help Cause all BUG_ON failures to stop all threads config DEBUG_IRQMEASURE bool "Enable IRQ handler measurements" default n help When enabled each IRQ's min/avg/max times will be printed. If the handler re-enables interrupt, the times will show the full time including to service nested interrupts. See /proc/irq_measurements. config DEBUG_PCIMEASURE bool "Enable PCI transaction measurements" default n help When enabled the system will measure the min/avg/max timer for each PCI transactions. See /proc/pci_measurements. config ACCESS_OK_CHECKS_ENABLED bool "Enable user space access checks" default n help Enabling this check causes the kernel to verify that addresses passed to the kernel by the user space code are within the processes address space. On a no-mmu system, this is done by examining the processes memory data structures (adversly affecting performance) but ensuring that a process does not ask the kernel to violate another processes address space. Sadly, the kernel uses access_ok() for address that are in the kernel which results in a large volume of false positives. choice prompt "Unaligned Access Support" default UNALIGNED_ACCESS_ENABLED help Kernel / Userspace unaligned access handling. config UNALIGNED_ACCESS_ENABLED bool "Kernel and Userspace" help config UNALIGNED_ACCESS_USERSPACE_ONLY bool "Userspace Only" help config UNALIGNED_ACCESS_DISABLED bool "Disabled" help endchoice config DEBUG_STACKOVERFLOW bool "Check for stack overflows" default n depends on DEBUG_KERNEL help This option will cause messages to be printed if free kernel stack space drops below a certain limit (THREAD_SIZE /8). config DEBUG_STACK_USAGE bool "Stack utilization instrumentation" default n depends on DEBUG_KERNEL help Enables the display of the minimum amount of free kernel 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. source "lib/Kconfig.debug" endmenu