1. 04 10月, 2013 1 次提交
  2. 02 3月, 2013 7 次提交
    • V
      kdb: Remove unhandled ssb command · 36dfea42
      Vincent 提交于
      The 'ssb' command can only be handled when we have a disassembler, to check for
      branches, so remove the 'ssb' command for now.
      Signed-off-by: NVincent Stehlé <vincent.stehle@laposte.net>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      36dfea42
    • J
      kdb: Prevent kernel oops with kdb_defcmd · a37372f6
      Jason Wessel 提交于
      The kdb_defcmd can only be used to display the available command aliases
      while using the kernel debug shell.  If you try to define a new macro
      while the kernel debugger is active it will oops.  The debug shell
      macros must use pre-allocated memory set aside at the time kdb_init()
      is run, and the kdb_defcmd is restricted to only working at the time
      that the kdb_init sequence is being run, which only occurs if you
      actually activate the kernel debugger.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      a37372f6
    • J
      kdb: Remove the ll command · 1b2caa2d
      Jason Wessel 提交于
      Recently some code inspection was done after fixing a problem with
      kmalloc used while in the kernel debugger context (which is not
      legal), and it turned up the fact that kdb ll command will oops the
      kernel.
      
      Given that there have been zero bug reports on the command combined
      with the fact it will oops the kernel it is clearly not being used.
      Instead of fixing it, it will be removed.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      1b2caa2d
    • J
      kdb_main: fix help print · 074604af
      Jason Wessel 提交于
      The help command was chopping all the usage instructions such that
      they were not readable.
      
      Example:
      
      bta             [D|R|S|T|C|Z|E|U|I| Backtrace all processes matching state flag
      per_cpu         <sym> [<bytes>] [<c Display per_cpu variables
      
      Where as it should look like:
      
      bta             [D|R|S|T|C|Z|E|U|I|M|A]
                                          Backtrace all processes matching state flag
      per_cpu         <sym> [<bytes>] [<cpu>]
                                          Display per_cpu variables
      
      All that is needed is to check the how long the cmd_usage is and jump
      to the next line when appropriate.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      074604af
    • J
      kdb: Fix overlap in buffers with strcpy · 4eb7a66d
      Jason Wessel 提交于
      Maxime reported that strcpy(s->usage, s->usage+1) has no definitive
      guarantee that it will work on all archs the same way when you have
      overlapping memory.  The fix is simple for the kdb code because we
      still have the original string memory in the function scope, so we
      just have to use that as the argument instead.
      Reported-by: NMaxime Villard <rustyBSD@gmx.fr>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      4eb7a66d
    • S
      kdb: use ARRAY_SIZE where possible · 5f784f79
      Sasha Levin 提交于
      Signed-off-by: NSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      5f784f79
    • J
      kdb: A fix for kdb command table expansion · f7c82d5a
      John Blackwood 提交于
      When locally adding in some additional kdb commands, I stumbled
      across an issue with the dynamic expansion of the kdb command table.
      When the number of kdb commands exceeds the size of the statically
      allocated kdb_base_commands[] array, additional space is allocated in
      the kdb_register_repeat() routine.
      
      The unused portion of the newly allocated array was not being initialized
      to zero properly and this would result in segfaults when help '?' was
      executed or when a search for a non-existing command would traverse the
      command table beyond the end of valid command entries and then attempt
      to use the non-zeroed area as actual command entries.
      Signed-off-by: NJohn Blackwood <john.blackwood@ccur.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      f7c82d5a
  3. 12 1月, 2013 1 次提交
  4. 12 10月, 2012 1 次提交
  5. 27 9月, 2012 1 次提交
  6. 31 7月, 2012 1 次提交
  7. 22 7月, 2012 2 次提交
  8. 23 3月, 2012 1 次提交
    • A
      KDB: Fix usability issues relating to the 'enter' key. · 8f30d411
      Andrei Warkentin 提交于
      This fixes the following problems:
      1) Typematic-repeat of 'enter' gives warning message
         and leaks make/break if KDB exits. Repeats
         look something like 0x1c 0x1c .... 0x9c
      2) Use of 'keypad enter' gives warning message and
         leaks the ENTER break/make code out if KDB exits.
         KP ENTER repeats look someting like 0xe0 0x1c
         0xe0 0x1c ... 0xe0 0x9c.
      3) Lag on the order of seconds between "break" and "make" when
         expecting the enter "break" code. Seen under virtualized
         environments such as VMware ESX.
      
      The existing special enter handler tries to glob the enter break code,
      but this fails if the other (KP) enter was used, or if there was a key
      repeat. It also fails if you mashed some keys along with enter, and
      you ended up with a non-enter make or non-enter break code coming
      after the enter make code. So first, we modify the handler to handle
      these cases. But performing these actions on every enter is annoying
      since now you can't hold ENTER down to scroll <more>d messages in
      KDB. Since this special behaviour is only necessary to handle the
      exiting KDB ('g' + ENTER) without leaking scancodes to the OS.  This
      cleanup needs to get executed anytime the kdb_main loop exits.
      
      Tested on QEMU. Set a bp on atkbd.c to verify no scan code was leaked.
      
      Cc: Andrei Warkentin <andreiw@vmware.com>
      [jason.wessel@windriver.com: move cleanup calls to kdb_main.c]
      Signed-off-by: NAndrei Warkentin <andrey.warkentin@gmail.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      8f30d411
  9. 13 1月, 2012 1 次提交
  10. 02 8月, 2011 2 次提交
  11. 31 3月, 2011 1 次提交
  12. 26 3月, 2011 2 次提交
  13. 18 11月, 2010 2 次提交
  14. 02 11月, 2010 1 次提交
  15. 30 10月, 2010 2 次提交
  16. 23 10月, 2010 3 次提交
  17. 21 8月, 2010 1 次提交
  18. 05 8月, 2010 1 次提交
    • J
      kgdb,kdb: individual register set and and get API · 534af108
      Jason Wessel 提交于
      The kdb shell specification includes the ability to get and set
      architecture specific registers by name.
      
      For the time being individual register get and set will be implemented
      on a per architecture basis.  If an architecture defines
      DBG_MAX_REG_NUM > 0 then kdb and the gdbstub will use the capability
      for individually getting and setting architecture specific registers.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      534af108
  19. 29 7月, 2010 1 次提交
  20. 22 7月, 2010 3 次提交
  21. 05 6月, 2010 1 次提交
  22. 21 5月, 2010 2 次提交
    • J
      printk,kdb: capture printk() when in kdb shell · d37d39ae
      Jason Wessel 提交于
      Certain calls from the kdb shell will call out to printk(), and any of
      these calls should get vectored back to the kdb_printf() so that the
      kdb pager and processing can be used, as well as to properly channel
      I/O to the polled I/O devices.
      
      CC: Randy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Acked-by: NAndrew Morton <akpm@linux-foundation.org>
      d37d39ae
    • J
      kdb: core for kgdb back end (1 of 2) · 5d5314d6
      Jason Wessel 提交于
      This patch contains only the kdb core.  Because the change set was
      large, it was split.  The next patch in the series includes the
      instrumentation into the core kernel which are mainly helper functions
      for kdb.
      
      This work is directly derived from kdb v4.4 found at:
      
      ftp://oss.sgi.com/projects/kdb/download/v4.4/
      
      The kdb internals have been re-organized to make them mostly platform
      independent and to connect everything to the debug core which is used by
      gdbstub (which has long been known as kgdb).
      
      The original version of kdb was 58,000 lines worth of changes to
      support x86.  From that implementation only the kdb shell, and basic
      commands for memory access, runcontrol, lsmod, and dmesg where carried
      forward.
      
      This is a generic implementation which aims to cover all the current
      architectures using the kgdb core: ppc, arm, x86, mips, sparc, sh and
      blackfin.  More archictectures can be added by implementing the
      architecture specific kgdb functions.
      
      [mort@sgi.com: Compile fix with hugepages enabled]
      [mort@sgi.com: Clean breakpoint code renaming kdba_ -> kdb_]
      [mort@sgi.com: fix new line after printing registers]
      [mort@sgi.com: Remove the concept of global vs. local breakpoints]
      [mort@sgi.com: Rework kdb_si_swapinfo to use more generic name]
      [mort@sgi.com: fix the information dump macros, remove 'arch' from the names]
      [sfr@canb.auug.org.au: include fixup to include linux/slab.h]
      
      CC: linux-arch@vger.kernel.org
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NMartin Hicks <mort@sgi.com>
      5d5314d6