menu "Kernel hacking" source "lib/Kconfig.debug" config DEBUG_STACKOVERFLOW bool "Check for stack overflows" depends on DEBUG_KERNEL config DEBUG_DECOMPRESS_KERNEL bool "Using serial port during decompressing kernel" depends on DEBUG_KERNEL default n help If you say Y here you will confirm the start and the end of decompressing Linux seeing "Uncompressing Linux... " and "Ok, booting the kernel.\n" on console. config TEST_MISALIGNMENT_HANDLER bool "Run tests on the misalignment handler" depends on DEBUG_KERNEL default n help If you say Y here the kernel will execute a list of misaligned memory accesses to make sure the misalignment handler deals them with correctly. If it does not, the kernel will throw a BUG. config KPROBES bool "Kprobes" depends on DEBUG_KERNEL help Kprobes allows you to trap at almost any kernel address and execute a callback function. register_kprobe() establishes a probepoint and specifies the callback. Kprobes is useful for kernel debugging, non-intrusive instrumentation and testing. If in doubt, say "N". config GDBSTUB bool "Remote GDB kernel debugging" depends on DEBUG_KERNEL && DEPRECATED select DEBUG_INFO select FRAME_POINTER help If you say Y here, it will be possible to remotely debug the kernel using gdb. This enlarges your kernel ELF image disk size by several megabytes and requires a machine with more than 16 MB, better 32 MB RAM to avoid excessive linking time. This is only useful for kernel hackers. If unsure, say N. This is deprecated in favour of KGDB and will be removed in a later version. config GDBSTUB_IMMEDIATE bool "Break into GDB stub immediately" depends on GDBSTUB help If you say Y here, GDB stub will break into the program as soon as possible, leaving the program counter at the beginning of start_kernel() in init/main.c. config GDBSTUB_ALLOW_SINGLE_STEP bool "Allow software single-stepping in GDB stub" depends on GDBSTUB && !SMP && !PREEMPT help Allow GDB stub to perform software single-stepping through the kernel. This doesn't work very well on SMP or preemptible kernels as it uses temporary breakpoints to emulate single-stepping. config GDB_CONSOLE bool "Console output to GDB" depends on GDBSTUB help If you are using GDB for remote debugging over a serial port and would like kernel messages to be formatted into GDB $O packets so that GDB prints them as program output, say 'Y'. config GDBSTUB_DEBUGGING bool "Debug GDB stub by messages to serial port" depends on GDBSTUB help This causes debugging messages to be displayed at various points during execution of the GDB stub routines. Such messages will be displayed on ttyS0 if that isn't the GDB stub's port, or ttySM0 otherwise. config GDBSTUB_DEBUG_ENTRY bool "Debug GDB stub entry" depends on GDBSTUB_DEBUGGING help This option causes information to be displayed about entry to or exit from the main GDB stub routine. config GDBSTUB_DEBUG_PROTOCOL bool "Debug GDB stub protocol" depends on GDBSTUB_DEBUGGING help This option causes information to be displayed about the GDB remote protocol messages generated exchanged with GDB. config GDBSTUB_DEBUG_IO bool "Debug GDB stub I/O" depends on GDBSTUB_DEBUGGING help This option causes information to be displayed about GDB stub's low-level I/O. config GDBSTUB_DEBUG_BREAKPOINT bool "Debug GDB stub breakpoint management" depends on GDBSTUB_DEBUGGING help This option causes information to be displayed about GDB stub's breakpoint management. choice prompt "GDB stub port" default GDBSTUB_ON_TTYSM0 depends on GDBSTUB help Select the serial port used for GDB-stub. config GDBSTUB_ON_TTYSM0 bool "/dev/ttySM0 [SIF0]" depends on MN10300_TTYSM0 select GDBSTUB_ON_TTYSMx config GDBSTUB_ON_TTYSM1 bool "/dev/ttySM1 [SIF1]" depends on MN10300_TTYSM1 select GDBSTUB_ON_TTYSMx config GDBSTUB_ON_TTYSM2 bool "/dev/ttySM2 [SIF2]" depends on MN10300_TTYSM2 select GDBSTUB_ON_TTYSMx config GDBSTUB_ON_TTYS0 bool "/dev/ttyS0" select GDBSTUB_ON_TTYSx config GDBSTUB_ON_TTYS1 bool "/dev/ttyS1" select GDBSTUB_ON_TTYSx endchoice config GDBSTUB_ON_TTYSMx bool depends on GDBSTUB_ON_TTYSM0 || GDBSTUB_ON_TTYSM1 || GDBSTUB_ON_TTYSM2 default y config GDBSTUB_ON_TTYSx bool depends on GDBSTUB_ON_TTYS0 || GDBSTUB_ON_TTYS1 default y endmenu config KERNEL_DEBUGGER def_bool y depends on GDBSTUB || KGDB