1. 30 10月, 2010 7 次提交
    • D
      kgdb,ppc: Individual register get/set for ppc · ff10b88b
      Dongdong Deng 提交于
      commit 534af108(kgdb,kdb: individual
      register set and and get API) introduce dbg_get_reg/dbg_set_reg API
      for individual register get and set.
      
      This patch implement those APIs for ppc.
      Signed-off-by: NDongdong Deng <dongdong.deng@windriver.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      ff10b88b
    • D
      kgdbts: prevent re-entry to kgdbts before it unregisters · 4dacd5c0
      Dongdong Deng 提交于
      The "kgdb_connected" variable of debug_core just indicates whether or
      not kgdbts is connected to the debug_core.  It does not completely
      prevent a script from trying invoke kgdbts again and possibly crashing
      the system (see Call Trace below).
      
      The configured variable in kgtbts can be used instead of
      kgdb_connected instead of kgdb_connected. The cleanup_kgdbts() can
      also be removed because there is no possible way to build kgdbts as a
      kernel module that you could unload with rmmod.
      
      Call Trace:
      -----------------------------------------------------------------
      root:/$ echo kgdbts=V1S1000 > /sys/module/kgdbts/parameters/kgdbts
      kgdb: Unregistered I/O driver kgdbts, debugger disabled.
      ------------[ cut here ]------------
      WARNING: at kernel/debug/debug_core.c:1002
      kgdb_unregister_io_module+0xec/0x100()
      Hardware name: Moon Creek platform
      Modules linked in:
      Pid: 664, comm: sh Not tainted 2.6.34.1-WR4.0.0.0_standard #58
      Call Trace:
       [<c103b1ed>] warn_slowpath_common+0x6d/0xa0
       [<c1079fdc>] ? kgdb_unregister_io_module+0xec/0x100
       [<c1079fdc>] ? kgdb_unregister_io_module+0xec/0x100
       [<c10544e0>] ? param_attr_store+0x0/0x20
       [<c103b235>] warn_slowpath_null+0x15/0x20
       [<c1079fdc>] kgdb_unregister_io_module+0xec/0x100
       [<c124e4ea>] cleanup_kgdbts+0x1a/0x20
       [<c124eced>] param_set_kgdbts_var+0x6d/0xb0
       [<c124ec80>] ? param_set_kgdbts_var+0x0/0xb0
       [<c10544f7>] param_attr_store+0x17/0x20
       [<c105457c>] module_attr_store+0x2c/0x40
       [<c111fe84>] sysfs_write_file+0x94/0xf0
       [<c10d42f6>] vfs_write+0x96/0x130
       [<c111fdf0>] ? sysfs_write_file+0x0/0xf0
       [<c10d44d6>] sys_write+0x46/0xd0
       [<c13bf329>] system_call_done+0x0/0x4
      ---[ end trace 4eb028c6ee43154c ]---
      kgdb: Unregistered I/O driver kgdbts, debugger disabled.
      -----------------------------------------------------------------
      
      [jason.wessel@windriver.com: remove cleanup_kgdbts() ]
      Signed-off-by: NDongdong Deng <dongdong.deng@windriver.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      4dacd5c0
    • D
      debug_core,x86,blackfin: Clean up hw debug disable API · d7ba979d
      Dongdong Deng 提交于
      The kgdb_disable_hw_debug() was an architecture specific function for
      disabling all hardware breakpoints on a per cpu basis when entering
      the debug core.
      
      This patch will remove the weak function kdbg_disable_hw_debug() and
      change it into a call back which lives with the rest of hw breakpoint
      call backs in struct kgdb_arch.
      Signed-off-by: NDongdong Deng <dongdong.deng@windriver.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      d7ba979d
    • J
      kdb: Fix early debugging crash regression · 578bd4df
      Jason Wessel 提交于
      The kdb_current legally be equal to NULL in the early boot of the x86
      arch.  The problem pcan be observed by booting with the kernel arguments:
      
          earlyprintk=vga ekgdboc=kbd kgdbwait
      
      The kdb shell will oops on entry and recursively fault because it
      cannot get past the final stage of shell initialization.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      578bd4df
    • R
      kgdb,arm: fix register dump · 834b2964
      Rabin Vincent 提交于
      DBG_MAX_REG_NUM incorrectly had the number of indices in the GDB regs
      array rather than the number of registers, leading to an oops when the
      "rd" command is used in KDB.
      
      Cc: stable@kernel.org
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      834b2964
    • J
      kdb: fix per_cpu command to remove supress mask · 931ea248
      Jason Wessel 提交于
      Rusty pointed out that the per_cpu command uses up lots of space on
      the stack and the cpu supress mask is probably not needed.
      
      This patch removes the need for the supress mask as well as fixing up
      the following problems with the kdb per_cpu command:
        * The per_cpu command should allow an address as an argument
        * When you have more data than can be displayed on one screen allow
          the user to break out of the print loop.
      Reported-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      931ea248
    • J
      kdb: Add kdb kernel module sample · 4aad8f51
      Jason Wessel 提交于
      Add an example of how to add a dynamic kdb shell command via a kernel
      module.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      4aad8f51
  2. 27 10月, 2010 33 次提交