d1a1dc0be8
Original posting: http://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com Several architectures have similar stack debugging config options. They all pretty much do the same thing, some with slightly differing help text. This patch changes the architectures to instead enable a Kconfig boolean, and then use that boolean in the generic Kconfig.debug to present the actual menu option. This removes a bunch of duplication and adds consistency across arches. Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com> Reviewed-by: H. Peter Anvin <hpa@zytor.com> Reviewed-by: James Hogan <james.hogan@imgtec.com> Acked-by: Chris Metcalf <cmetcalf@tilera.com> [for tile] Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
156 lines
4.3 KiB
Plaintext
156 lines
4.3 KiB
Plaintext
menu "Kernel hacking"
|
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
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
|