menu "Kernel hacking"
source "lib/Kconfig.debug"
config [31mCONFIG_DEBUG_DECOMPRESS_KERNEL[0m
bool "Using serial port during decompressing kernel"
depends on [31mCONFIG_DEBUG_KERNEL[0m
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 [31mCONFIG_TEST_MISALIGNMENT_HANDLER[0m
bool "Run tests on the misalignment handler"
depends on [31mCONFIG_DEBUG_KERNEL[0m
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 [31mCONFIG_BUG[0m.
config [31mCONFIG_KPROBES[0m
bool "Kprobes"
depends on [31mCONFIG_DEBUG_KERNEL[0m
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 [31mCONFIG_GDBSTUB[0m
bool "Remote GDB kernel debugging"
depends on [31mCONFIG_DEBUG_KERNEL[0m && DEPRECATED
select [31mCONFIG_DEBUG_INFO[0m
select [31mCONFIG_FRAME_POINTER[0m
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 [31mCONFIG_KGDB[0m and will be removed in a later
version.
config [31mCONFIG_GDBSTUB_IMMEDIATE[0m
bool "Break into GDB stub immediately"
depends on [31mCONFIG_GDBSTUB[0m
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 [31mCONFIG_GDBSTUB_ALLOW_SINGLE_STEP[0m
bool "Allow software single-stepping in GDB stub"
depends on [31mCONFIG_GDBSTUB[0m && ![31mCONFIG_SMP[0m && ![31mCONFIG_PREEMPT[0m
help
Allow GDB stub to perform software single-stepping through the
kernel. This doesn't work very well on [31mCONFIG_SMP[0m or preemptible kernels as
it uses temporary breakpoints to emulate single-stepping.
config [31mCONFIG_GDB_CONSOLE[0m
bool "Console output to GDB"
depends on [31mCONFIG_GDBSTUB[0m
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 [31mCONFIG_GDBSTUB_DEBUGGING[0m
bool "Debug GDB stub by messages to serial port"
depends on [31mCONFIG_GDBSTUB[0m
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 [31mCONFIG_GDBSTUB_DEBUG_ENTRY[0m
bool "Debug GDB stub entry"
depends on [31mCONFIG_GDBSTUB_DEBUGGING[0m
help
This option causes information to be displayed about entry to or exit
from the main GDB stub routine.
config [31mCONFIG_GDBSTUB_DEBUG_PROTOCOL[0m
bool "Debug GDB stub protocol"
depends on [31mCONFIG_GDBSTUB_DEBUGGING[0m
help
This option causes information to be displayed about the GDB remote
protocol messages generated exchanged with GDB.
config [31mCONFIG_GDBSTUB_DEBUG_IO[0m
bool "Debug GDB stub I/O"
depends on [31mCONFIG_GDBSTUB_DEBUGGING[0m
help
This option causes information to be displayed about GDB stub's
low-level I/O.
config [31mCONFIG_GDBSTUB_DEBUG_BREAKPOINT[0m
bool "Debug GDB stub breakpoint management"
depends on [31mCONFIG_GDBSTUB_DEBUGGING[0m
help
This option causes information to be displayed about GDB stub's
breakpoint management.
choice
prompt "GDB stub port"
default [31mCONFIG_GDBSTUB_ON_TTYSM0[0m
depends on [31mCONFIG_GDBSTUB[0m
help
Select the serial port used for GDB-stub.
config [31mCONFIG_GDBSTUB_ON_TTYSM0[0m
bool "/dev/ttySM0 [SIF0]"
depends on [31mCONFIG_MN10300_TTYSM0[0m
select [31mCONFIG_GDBSTUB_ON_TTYSMx[0m
config [31mCONFIG_GDBSTUB_ON_TTYSM1[0m
bool "/dev/ttySM1 [SIF1]"
depends on [31mCONFIG_MN10300_TTYSM1[0m
select [31mCONFIG_GDBSTUB_ON_TTYSMx[0m
config [31mCONFIG_GDBSTUB_ON_TTYSM2[0m
bool "/dev/ttySM2 [SIF2]"
depends on [31mCONFIG_MN10300_TTYSM2[0m
select [31mCONFIG_GDBSTUB_ON_TTYSMx[0m
config [31mCONFIG_GDBSTUB_ON_TTYS0[0m
bool "/dev/ttyS0"
select [31mCONFIG_GDBSTUB_ON_TTYSx[0m
config [31mCONFIG_GDBSTUB_ON_TTYS1[0m
bool "/dev/ttyS1"
select [31mCONFIG_GDBSTUB_ON_TTYSx[0m
endchoice
config [31mCONFIG_GDBSTUB_ON_TTYSMx[0m
bool
depends on [31mCONFIG_GDBSTUB_ON_TTYSM0[0m || [31mCONFIG_GDBSTUB_ON_TTYSM1[0m || [31mCONFIG_GDBSTUB_ON_TTYSM2[0m
default y
config [31mCONFIG_GDBSTUB_ON_TTYSx[0m
bool
depends on [31mCONFIG_GDBSTUB_ON_TTYS0[0m || [31mCONFIG_GDBSTUB_ON_TTYS1[0m
default y
endmenu
config [31mCONFIG_KERNEL_DEBUGGER[0m
def_bool y
depends on [31mCONFIG_GDBSTUB[0m || [31mCONFIG_KGDB[0m