1menu "Kernel hacking" 2 3source "lib/Kconfig.debug" 4 5config DEBUG_STACKOVERFLOW 6 bool "Check for stack overflows" 7 depends on DEBUG_KERNEL 8 9config DEBUG_DECOMPRESS_KERNEL 10 bool "Using serial port during decompressing kernel" 11 depends on DEBUG_KERNEL 12 default n 13 help 14 If you say Y here you will confirm the start and the end of 15 decompressing Linux seeing "Uncompressing Linux... " and 16 "Ok, booting the kernel.\n" on console. 17 18config TEST_MISALIGNMENT_HANDLER 19 bool "Run tests on the misalignment handler" 20 depends on DEBUG_KERNEL 21 default n 22 help 23 If you say Y here the kernel will execute a list of misaligned memory 24 accesses to make sure the misalignment handler deals them with 25 correctly. If it does not, the kernel will throw a BUG. 26 27config KPROBES 28 bool "Kprobes" 29 depends on DEBUG_KERNEL 30 help 31 Kprobes allows you to trap at almost any kernel address and 32 execute a callback function. register_kprobe() establishes 33 a probepoint and specifies the callback. Kprobes is useful 34 for kernel debugging, non-intrusive instrumentation and testing. 35 If in doubt, say "N". 36 37config GDBSTUB 38 bool "Remote GDB kernel debugging" 39 depends on DEBUG_KERNEL && DEPRECATED 40 select DEBUG_INFO 41 select FRAME_POINTER 42 help 43 If you say Y here, it will be possible to remotely debug the kernel 44 using gdb. This enlarges your kernel ELF image disk size by several 45 megabytes and requires a machine with more than 16 MB, better 32 MB 46 RAM to avoid excessive linking time. This is only useful for kernel 47 hackers. If unsure, say N. 48 49 This is deprecated in favour of KGDB and will be removed in a later 50 version. 51 52config GDBSTUB_IMMEDIATE 53 bool "Break into GDB stub immediately" 54 depends on GDBSTUB 55 help 56 If you say Y here, GDB stub will break into the program as soon as 57 possible, leaving the program counter at the beginning of 58 start_kernel() in init/main.c. 59 60config GDBSTUB_ALLOW_SINGLE_STEP 61 bool "Allow software single-stepping in GDB stub" 62 depends on GDBSTUB && !SMP && !PREEMPT 63 help 64 Allow GDB stub to perform software single-stepping through the 65 kernel. This doesn't work very well on SMP or preemptible kernels as 66 it uses temporary breakpoints to emulate single-stepping. 67 68config GDB_CONSOLE 69 bool "Console output to GDB" 70 depends on GDBSTUB 71 help 72 If you are using GDB for remote debugging over a serial port and 73 would like kernel messages to be formatted into GDB $O packets so 74 that GDB prints them as program output, say 'Y'. 75 76config GDBSTUB_DEBUGGING 77 bool "Debug GDB stub by messages to serial port" 78 depends on GDBSTUB 79 help 80 This causes debugging messages to be displayed at various points 81 during execution of the GDB stub routines. Such messages will be 82 displayed on ttyS0 if that isn't the GDB stub's port, or ttySM0 83 otherwise. 84 85config GDBSTUB_DEBUG_ENTRY 86 bool "Debug GDB stub entry" 87 depends on GDBSTUB_DEBUGGING 88 help 89 This option causes information to be displayed about entry to or exit 90 from the main GDB stub routine. 91 92config GDBSTUB_DEBUG_PROTOCOL 93 bool "Debug GDB stub protocol" 94 depends on GDBSTUB_DEBUGGING 95 help 96 This option causes information to be displayed about the GDB remote 97 protocol messages generated exchanged with GDB. 98 99config GDBSTUB_DEBUG_IO 100 bool "Debug GDB stub I/O" 101 depends on GDBSTUB_DEBUGGING 102 help 103 This option causes information to be displayed about GDB stub's 104 low-level I/O. 105 106config GDBSTUB_DEBUG_BREAKPOINT 107 bool "Debug GDB stub breakpoint management" 108 depends on GDBSTUB_DEBUGGING 109 help 110 This option causes information to be displayed about GDB stub's 111 breakpoint management. 112 113choice 114 prompt "GDB stub port" 115 default GDBSTUB_ON_TTYSM0 116 depends on GDBSTUB 117 help 118 Select the serial port used for GDB-stub. 119 120config GDBSTUB_ON_TTYSM0 121 bool "/dev/ttySM0 [SIF0]" 122 depends on MN10300_TTYSM0 123 select GDBSTUB_ON_TTYSMx 124 125config GDBSTUB_ON_TTYSM1 126 bool "/dev/ttySM1 [SIF1]" 127 depends on MN10300_TTYSM1 128 select GDBSTUB_ON_TTYSMx 129 130config GDBSTUB_ON_TTYSM2 131 bool "/dev/ttySM2 [SIF2]" 132 depends on MN10300_TTYSM2 133 select GDBSTUB_ON_TTYSMx 134 135config GDBSTUB_ON_TTYS0 136 bool "/dev/ttyS0" 137 select GDBSTUB_ON_TTYSx 138 139config GDBSTUB_ON_TTYS1 140 bool "/dev/ttyS1" 141 select GDBSTUB_ON_TTYSx 142 143endchoice 144 145config GDBSTUB_ON_TTYSMx 146 bool 147 depends on GDBSTUB_ON_TTYSM0 || GDBSTUB_ON_TTYSM1 || GDBSTUB_ON_TTYSM2 148 default y 149 150config GDBSTUB_ON_TTYSx 151 bool 152 depends on GDBSTUB_ON_TTYS0 || GDBSTUB_ON_TTYS1 153 default y 154 155endmenu 156 157config KERNEL_DEBUGGER 158 def_bool y 159 depends on GDBSTUB || KGDB 160