• Jason Wessel's avatar
    kgdb: fix gdb serial thread queries · 25fc9999
    Jason Wessel authored
    The command "info threads" did not work correctly with kgdb.  It would
    result in a silent kernel hang if used.
    
    This patach addresses several problems.
     - Fix use of deprecated NR_CPUS
     - Fix kgdb to not walk linearly through the pid space
     - Correctly implement shadow pids
     - Change the threads per query to a #define
     - Fix kgdb_hex2long to work with negated values
    
    The threads 0 and -1 are reserved to represent the current task.  That
    means that CPU 0 will start with a shadow thread id of -2, and CPU 1
    will have a shadow thread id of -3, etc...
    
    From the debugger you can switch to a shadow thread to see what one of
    the other cpus was doing, however it is not possible to execute run
    control operations on any other cpu execept the cpu executing the
    kgdb_handle_exception().
    Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
    25fc9999
kgdb.c 38.5 KB