lkml.org 
[lkml]   [2008]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [0/6] kgdb light
Sam Ravnborg wrote:
> ...
> +extern int kgdb_may_fault;
> I searched but I could not find any places this
> variable were set to anuthing else than 0 neither where it was tested.

This is a leftover from the old jmp-on-fault logic that was missed by
this tree. I have a patch under test that kills this (and further 150
LOC) from the core.

>
> diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb
> new file mode 100644
> index 0000000..00263c0
> --- /dev/null
> +++ b/lib/Kconfig.kgdb
> @@ -0,0 +1,37 @@
> +
> +menuconfig KGDB
> + bool "KGDB: kernel debugging with remote gdb"
> + select FRAME_POINTER
> + depends on HAVE_ARCH_KGDB
> + depends on DEBUG_KERNEL && EXPERIMENTAL
> + help
> + If you say Y here, it will be possible to remotely debug the
> + kernel using gdb. Documentation of kernel debugger is available
> + at http://kgdb.sourceforge.net as well as in DocBook form
> + in Documentation/DocBook/. If unsure, say N.
> +
> +config HAVE_ARCH_KGDB_SHADOW_INFO
> + bool
> +
>
> Please add:
> config HAVE_ARCH_KGDB
> bool
>
> So we later in x86/Kconfig can do:
> config X86
> select HAVE_ARCH_KGDB
>
> And we can get rid of (from x86/Kconfig):
> +config HAVE_ARCH_KGDB
> + def_bool y
>
>
> Back to Kconfig.kgdb:
>
> +config KGDBOC
> + tristate "KGDB: use kgdb over the serial console"
> + depends on KGDB
>
> Can we have a more descriptive name here.
> For example:
> config KGDB_SERIAL_CONSOLE
> It is only used in one place so there is no
> specific need for such a magic short name.
>

Is the patch below OK? I also added an "if KGB" to unbreak kgdb's
kconfig menu again and included two minor cleanups I posted yesterday.

Jan

PS: Ingo, kgdboc runtime re-configuration is broken as you dropped the
__init removal from uart_parse_options and uart_set_option (probably
due to the ifdef'ery). Better remove it unconditionally?

--------------
Refactor KGDB kbuild menu.

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>

---
arch/x86/Kconfig | 4 +---
drivers/serial/Makefile | 2 +-
lib/Kconfig.kgdb | 15 ++++++++++-----
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 85bcc23..5e0fab5 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -22,6 +22,7 @@ config X86
select HAVE_IDE
select HAVE_OPROFILE
select HAVE_KPROBES
+ select HAVE_ARCH_KGDB

config GENERIC_LOCKBREAK
def_bool n
@@ -144,9 +145,6 @@ config AUDIT_ARCH
config ARCH_SUPPORTS_AOUT
def_bool y

-config HAVE_ARCH_KGDB
- def_bool y
-
# Use the generic interrupt handling code in kernel/irq/:
config GENERIC_HARDIRQS
bool
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
index 1d8ee05..dfd8e72 100644
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
@@ -66,5 +66,5 @@ obj-$(CONFIG_SERIAL_UARTLITE) += uartlite.o
obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o
obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
-obj-$(CONFIG_KGDBOC) += kgdboc.o
+obj-$(CONFIG_KGDB_IO_SERIAL_CONSOLE) += kgdboc.o
obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb
index 00263c0..947c7f1 100644
--- a/lib/Kconfig.kgdb
+++ b/lib/Kconfig.kgdb
@@ -10,12 +10,16 @@ menuconfig KGDB
at http://kgdb.sourceforge.net as well as in DocBook form
in Documentation/DocBook/. If unsure, say N.

+if KGDB
+
+config HAVE_ARCH_KGDB
+ bool
+
config HAVE_ARCH_KGDB_SHADOW_INFO
bool

config KGDB_CONSOLE_OUTPUT
- bool "KGDB: Console messages through gdb"
- depends on KGDB
+ bool "Console messages through gdb"
help
If you say Y here, console messages will appear through gdb.
Other consoles such as tty or ttyS will continue to work as usual.
@@ -26,12 +30,13 @@ config KGDB_CONSOLE_OUTPUT
to use NETCONSOLE in conjunction with KGDBOE instead of
KGDB_CONSOLE.

-config KGDBOC
- tristate "KGDB: use kgdb over the serial console"
- depends on KGDB
+config KGDB_IO_SERIAL_CONSOLE
+ tristate "Use kgdb over the serial console"
select CONSOLE_POLL
select MAGIC_SYSRQ
default y
help
Share a serial console with kgdb. Sysrq-g must be used
to break in initially.
+
+endif

\
 
 \ /
  Last update: 2008-02-10 14:29    [W:0.193 / U:0.368 seconds]
©2003-2014 Jasper Spaans. Advertise on this site