123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- 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
|