blob: ce83c74b3fd714abf68fca4a4d2beef024545c83 [file] [log] [blame]
David Howellsb920de12008-02-08 04:19:31 -08001menu "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
David Howells9f555882008-11-12 15:35:04 +000018config 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
David Howellsb920de12008-02-08 04:19:31 -080027config 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
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
49config GDBSTUB_IMMEDIATE
50 bool "Break into GDB stub immediately"
51 depends on GDBSTUB
52 help
53 If you say Y here, GDB stub will break into the program as soon as
54 possible, leaving the program counter at the beginning of
55 start_kernel() in init/main.c.
56
57config GDB_CONSOLE
58 bool "Console output to GDB"
59 depends on GDBSTUB
60 help
61 If you are using GDB for remote debugging over a serial port and
62 would like kernel messages to be formatted into GDB $O packets so
63 that GDB prints them as program output, say 'Y'.
64
65config GDBSTUB_DEBUGGING
66 bool "Debug GDB stub by messages to serial port"
67 depends on GDBSTUB
68 help
69 This causes debugging messages to be displayed at various points
70 during execution of the GDB stub routines. Such messages will be
71 displayed on ttyS0 if that isn't the GDB stub's port, or ttySM0
72 otherwise.
73
74config GDBSTUB_DEBUG_ENTRY
75 bool "Debug GDB stub entry"
76 depends on GDBSTUB_DEBUGGING
77 help
78 This option causes information to be displayed about entry to or exit
79 from the main GDB stub routine.
80
81config GDBSTUB_DEBUG_PROTOCOL
82 bool "Debug GDB stub protocol"
83 depends on GDBSTUB_DEBUGGING
84 help
85 This option causes information to be displayed about the GDB remote
86 protocol messages generated exchanged with GDB.
87
88config GDBSTUB_DEBUG_IO
89 bool "Debug GDB stub I/O"
90 depends on GDBSTUB_DEBUGGING
91 help
92 This option causes information to be displayed about GDB stub's
93 low-level I/O.
94
95config GDBSTUB_DEBUG_BREAKPOINT
96 bool "Debug GDB stub breakpoint management"
97 depends on GDBSTUB_DEBUGGING
98 help
99 This option causes information to be displayed about GDB stub's
100 breakpoint management.
101
102choice
103 prompt "GDB stub port"
David Howells95929ef2010-09-27 13:12:33 +0100104 default GDBSTUB_ON_TTYSM0
David Howellsb920de12008-02-08 04:19:31 -0800105 depends on GDBSTUB
106 help
107 Select the serial port used for GDB-stub.
108
109config GDBSTUB_ON_TTYSM0
110 bool "/dev/ttySM0 [SIF0]"
111 depends on MN10300_TTYSM0
112 select GDBSTUB_ON_TTYSMx
113
114config GDBSTUB_ON_TTYSM1
115 bool "/dev/ttySM1 [SIF1]"
116 depends on MN10300_TTYSM1
117 select GDBSTUB_ON_TTYSMx
118
119config GDBSTUB_ON_TTYSM2
120 bool "/dev/ttySM2 [SIF2]"
121 depends on MN10300_TTYSM2
122 select GDBSTUB_ON_TTYSMx
123
124config GDBSTUB_ON_TTYS0
125 bool "/dev/ttyS0"
126 select GDBSTUB_ON_TTYSx
127
128config GDBSTUB_ON_TTYS1
129 bool "/dev/ttyS1"
130 select GDBSTUB_ON_TTYSx
131
132endchoice
133
134config GDBSTUB_ON_TTYSMx
135 bool
136 depends on GDBSTUB_ON_TTYSM0 || GDBSTUB_ON_TTYSM1 || GDBSTUB_ON_TTYSM2
137 default y
138
139config GDBSTUB_ON_TTYSx
140 bool
141 depends on GDBSTUB_ON_TTYS0 || GDBSTUB_ON_TTYS1
142 default y
143
144endmenu