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.034 / U:88.032 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site