mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
c5d2cac0f1
With VT=n, the kernel build fails with: drivers/built-in.o: In function `kgdboc_pre_exp_handler': kgdboc.c:(.text+0x7b5aa): undefined reference to `fg_console' kgdboc.c:(.text+0x7b5ce): undefined reference to `vc_cons' kgdboc.c:(.text+0x7b5d5): undefined reference to `vc_cons' kgdboc.o is built when KGDB_SERIAL_CONSOLE is set. So make KGDB_SERIAL_CONSOLE depend on HW_CONSOLE which includes those symbols. Link: http://lkml.kernel.org/r/1459412955-4696-1-git-send-email-jslaby@suse.cz Signed-off-by: Jiri Slaby <jslaby@suse.cz> Reported-by: "Jim Davis" <jim.epost@gmail.com> Acked-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
127 lines
4.1 KiB
Plaintext
127 lines
4.1 KiB
Plaintext
|
|
config HAVE_ARCH_KGDB
|
|
bool
|
|
|
|
menuconfig KGDB
|
|
bool "KGDB: kernel debugger"
|
|
depends on HAVE_ARCH_KGDB
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
If you say Y here, it will be possible to remotely debug the
|
|
kernel using gdb. It is recommended but not required, that
|
|
you also turn on the kernel config option
|
|
CONFIG_FRAME_POINTER to aid in producing more reliable stack
|
|
backtraces in the external debugger. Documentation of
|
|
kernel debugger is available at http://kgdb.sourceforge.net
|
|
as well as in DocBook form in Documentation/DocBook/. If
|
|
unsure, say N.
|
|
|
|
if KGDB
|
|
|
|
config KGDB_SERIAL_CONSOLE
|
|
tristate "KGDB: use kgdb over the serial console"
|
|
select CONSOLE_POLL
|
|
select MAGIC_SYSRQ
|
|
depends on TTY && HW_CONSOLE
|
|
default y
|
|
help
|
|
Share a serial console with kgdb. Sysrq-g must be used
|
|
to break in initially.
|
|
|
|
config KGDB_TESTS
|
|
bool "KGDB: internal test suite"
|
|
default n
|
|
help
|
|
This is a kgdb I/O module specifically designed to test
|
|
kgdb's internal functions. This kgdb I/O module is
|
|
intended to for the development of new kgdb stubs
|
|
as well as regression testing the kgdb internals.
|
|
See the drivers/misc/kgdbts.c for the details about
|
|
the tests. The most basic of this I/O module is to boot
|
|
a kernel boot arguments "kgdbwait kgdbts=V1F100"
|
|
|
|
config KGDB_TESTS_ON_BOOT
|
|
bool "KGDB: Run tests on boot"
|
|
depends on KGDB_TESTS
|
|
default n
|
|
help
|
|
Run the kgdb tests on boot up automatically without the need
|
|
to pass in a kernel parameter
|
|
|
|
config KGDB_TESTS_BOOT_STRING
|
|
string "KGDB: which internal kgdb tests to run"
|
|
depends on KGDB_TESTS_ON_BOOT
|
|
default "V1F100"
|
|
help
|
|
This is the command string to send the kgdb test suite on
|
|
boot. See the drivers/misc/kgdbts.c for detailed
|
|
information about other strings you could use beyond the
|
|
default of V1F100.
|
|
|
|
config KGDB_LOW_LEVEL_TRAP
|
|
bool "KGDB: Allow debugging with traps in notifiers"
|
|
depends on X86 || MIPS
|
|
default n
|
|
help
|
|
This will add an extra call back to kgdb for the breakpoint
|
|
exception handler which will allow kgdb to step through a
|
|
notify handler.
|
|
|
|
config KGDB_KDB
|
|
bool "KGDB_KDB: include kdb frontend for kgdb"
|
|
default n
|
|
help
|
|
KDB frontend for kernel
|
|
|
|
config KDB_DEFAULT_ENABLE
|
|
hex "KDB: Select kdb command functions to be enabled by default"
|
|
depends on KGDB_KDB
|
|
default 0x1
|
|
help
|
|
Specifiers which kdb commands are enabled by default. This may
|
|
be set to 1 or 0 to enable all commands or disable almost all
|
|
commands.
|
|
|
|
Alternatively the following bitmask applies:
|
|
|
|
0x0002 - allow arbitrary reads from memory and symbol lookup
|
|
0x0004 - allow arbitrary writes to memory
|
|
0x0008 - allow current register state to be inspected
|
|
0x0010 - allow current register state to be modified
|
|
0x0020 - allow passive inspection (backtrace, process list, lsmod)
|
|
0x0040 - allow flow control management (breakpoint, single step)
|
|
0x0080 - enable signalling of processes
|
|
0x0100 - allow machine to be rebooted
|
|
|
|
The config option merely sets the default at boot time. Both
|
|
issuing 'echo X > /sys/module/kdb/parameters/cmd_enable' or
|
|
setting with kdb.cmd_enable=X kernel command line option will
|
|
override the default settings.
|
|
|
|
config KDB_KEYBOARD
|
|
bool "KGDB_KDB: keyboard as input device"
|
|
depends on VT && KGDB_KDB
|
|
default n
|
|
help
|
|
KDB can use a PS/2 type keyboard for an input device
|
|
|
|
config KDB_CONTINUE_CATASTROPHIC
|
|
int "KDB: continue after catastrophic errors"
|
|
depends on KGDB_KDB
|
|
default "0"
|
|
help
|
|
This integer controls the behaviour of kdb when the kernel gets a
|
|
catastrophic error, i.e. for a panic or oops.
|
|
When KDB is active and a catastrophic error occurs, nothing extra
|
|
will happen until you type 'go'.
|
|
CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time
|
|
you type 'go', you will be warned by kdb. The secend time you type
|
|
'go', KDB tries to continue. No guarantees that the
|
|
kernel is still usable in this situation.
|
|
CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue.
|
|
No guarantees that the kernel is still usable in this situation.
|
|
CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. KDB forces a reboot.
|
|
If you are not sure, say 0.
|
|
|
|
endif # KGDB
|