diff options
author | David Howells <dhowells@redhat.com> | 2011-03-18 16:54:29 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2011-03-18 16:54:29 +0000 |
commit | 9ee21723ccc30070f47c411826d4ed013cd050c2 (patch) | |
tree | 5f460e51e72ef93f4103c39032f1aec298a638db /arch/mn10300/Kconfig.debug | |
parent | ddb7d1e975d224885397c002512ded987be3c3bc (diff) |
MN10300: gdbstub: Restrict single-stepping to non-preemptable non-SMP configs
Restrict single-stepping through the kernel using gdbstub to non-preemptable
non-SMP configs as gdbstub has to do software single-stepping by means of
temporary breakpoints. Hardware single-stepping is unavailable as Panasonic
have not sufficiently documented the interface to it.
Software single-stepping through preemptable or SMP kernels runs into problems
as it makes it much more likely that the wrong thread will hit the temporary
breakpoints. It seems impractical to work around the problem for the most
part. It could be possible to make a UP preemptable kernel switch temporary
breakpoints in and out in switch_to().
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'arch/mn10300/Kconfig.debug')
-rw-r--r-- | arch/mn10300/Kconfig.debug | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/mn10300/Kconfig.debug b/arch/mn10300/Kconfig.debug index ce83c74b3fd7..a1b8620f65ae 100644 --- a/arch/mn10300/Kconfig.debug +++ b/arch/mn10300/Kconfig.debug @@ -54,6 +54,14 @@ config GDBSTUB_IMMEDIATE 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 |