<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/debug/gdbstub.c, branch v2.6.38-rc7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/kernel/debug/gdbstub.c?h=v2.6.38-rc7</id>
<link rel='self' href='https://git.amat.us/linux/atom/kernel/debug/gdbstub.c?h=v2.6.38-rc7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-08-05T22:59:48Z</updated>
<entry>
<title>Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb</title>
<updated>2010-08-05T22:59:48Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-08-05T22:59:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=89a6c8cb9e6e11b6e3671dce7e037789b8f7cf62'/>
<id>urn:sha1:89a6c8cb9e6e11b6e3671dce7e037789b8f7cf62</id>
<content type='text'>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
  debug_core,kdb: fix crash when arch does not have single step
  kgdb,x86: use macro HBP_NUM to replace magic number 4
  kgdb,mips: remove unused kgdb_cpu_doing_single_step operations
  mm,kdb,kgdb: Add a debug reference for the kdb kmap usage
  KGDB: Remove set but unused newPC
  ftrace,kdb: Allow dumping a specific cpu's buffer with ftdump
  ftrace,kdb: Extend kdb to be able to dump the ftrace buffer
  kgdb,powerpc: Replace hardcoded offset by BREAK_INSTR_SIZE
  arm,kgdb: Add ability to trap into debugger on notify_die
  gdbstub: do not directly use dbg_reg_def[] in gdb_cmd_reg_set()
  gdbstub: Implement gdbserial 'p' and 'P' packets
  kgdb,arm: Individual register get/set for arm
  kgdb,mips: Individual register get/set for mips
  kgdb,x86: Individual register get/set for x86
  kgdb,kdb: individual register set and and get API
  gdbstub: Optimize kgdb's "thread:" response for the gdb serial protocol
  kgdb: remove custom hex_to_bin()implementation
</content>
</entry>
<entry>
<title>gdbstub: do not directly use dbg_reg_def[] in gdb_cmd_reg_set()</title>
<updated>2010-08-05T14:22:22Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-08-05T14:22:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6d855b1d83c980c1283d98d2d63a2bd3a87e21b7'/>
<id>urn:sha1:6d855b1d83c980c1283d98d2d63a2bd3a87e21b7</id>
<content type='text'>
Presently the usable registers definitions on x86 are not contiguous
for kgdb.  The x86 kgdb uses a case statement for the sparse register
accesses.  The array which defines the registers (dbg_reg_def) should
not be used directly in order to safely work with sparse register
definitions.

Specifically there was a problem when gdb accesses ORIG_AX, which is
accessed only through the case statement.

This patch encodes register memory using the size information provided
from the debugger which avoids the need to look up the size of the
register.  The dbg_set_reg() function always further validates the
inputs from the debugger.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Dongdong Deng &lt;dongdong.deng@windriver.com&gt;
</content>
</entry>
<entry>
<title>gdbstub: Implement gdbserial 'p' and 'P' packets</title>
<updated>2010-08-05T14:22:21Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-08-05T14:22:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=55751145dc1e08e16df418cdd101661f5c6ac991'/>
<id>urn:sha1:55751145dc1e08e16df418cdd101661f5c6ac991</id>
<content type='text'>
The gdbserial 'p' and 'P' packets allow gdb to individually get and
set registers instead of querying for all the available registers.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kgdb,kdb: individual register set and and get API</title>
<updated>2010-08-05T14:22:20Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-08-05T14:22:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=534af1082329392bc29f6badf815e69ae2ae0f4c'/>
<id>urn:sha1:534af1082329392bc29f6badf815e69ae2ae0f4c</id>
<content type='text'>
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 &gt; 0 then kdb and the gdbstub will use the capability
for individually getting and setting architecture specific registers.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>gdbstub: Optimize kgdb's "thread:" response for the gdb serial protocol</title>
<updated>2010-08-05T14:22:19Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-08-05T14:22:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=84a0bd5b2830722cf80ff6ad33ef98101a947e14'/>
<id>urn:sha1:84a0bd5b2830722cf80ff6ad33ef98101a947e14</id>
<content type='text'>
The gdb debugger understands how to parse short versions of the thread
reference string as long as the bytes are paired in sets of two
characters.  The kgdb implementation was always sending 8 leading
zeros which could be omitted, and further optimized in the case of
non-negative thread numbers.  The negative numbers are used to
reference a specific cpu in the case of kgdb.

An example of the previous i386 stop packet looks like:
    T05thread:00000000000003bb;

New stop packet response:
    T05thread:03bb;

The previous ThreadInfo response looks like:
    m00000000fffffffe,0000000000000001,0000000000000002,0000000000000003,0000000000000004,0000000000000005,0000000000000006,0000000000000007,000000000000000c,0000000000000088,000000000000008a,000000000000008b,000000000000008c,000000000000008d,000000000000008e,00000000000000d4,00000000000000d5,00000000000000dd

New ThreadInfo response:
    mfffffffe,01,02,03,04,05,06,07,0c,88,8a,8b,8c,8d,8e,d4,d5,dd

A few bytes saved means better response time when using kgdb over a
serial line.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>kgdb: remove custom hex_to_bin()implementation</title>
<updated>2010-08-05T14:22:19Z</updated>
<author>
<name>Andy Shevchenko</name>
<email>ext-andriy.shevchenko@nokia.com</email>
</author>
<published>2010-08-05T14:22:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a9fa20a7af1f152d2d89c44c274a310ac654e3ad'/>
<id>urn:sha1:a9fa20a7af1f152d2d89c44c274a310ac654e3ad</id>
<content type='text'>
Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@nokia.com&gt;
Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' into for-next</title>
<updated>2010-08-04T13:14:38Z</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2010-08-04T13:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f'/>
<id>urn:sha1:d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>repair gdbstub to match the gdbserial protocol specification</title>
<updated>2010-07-22T00:27:05Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-07-22T00:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fb82c0ff27b2c40c6f7a3d1a94cafb154591fa80'/>
<id>urn:sha1:fb82c0ff27b2c40c6f7a3d1a94cafb154591fa80</id>
<content type='text'>
The gdbserial protocol handler should return an empty packet instead
of an error string when ever it responds to a command it does not
implement.

The problem cases come from a debugger client sending
qTBuffer, qTStatus, qSearch, qSupported.

The incorrect response from the gdbstub leads the debugger clients to
not function correctly.  Recent versions of gdb will not detach correctly as a result of this behavior.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Dongdong Deng &lt;dongdong.deng@windriver.com&gt;
</content>
</entry>
<entry>
<title>update email address</title>
<updated>2010-07-19T08:56:54Z</updated>
<author>
<name>Pavel Machek</name>
<email>pavel@ucw.cz</email>
</author>
<published>2010-07-18T12:27:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2531293dbb7608fa672ff28efe3ab4027917a2f'/>
<id>urn:sha1:a2531293dbb7608fa672ff28efe3ab4027917a2f</id>
<content type='text'>
pavel@suse.cz no longer works, replace it with working address.

Signed-off-by: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>kgdb: gdb "monitor" -&gt; kdb passthrough</title>
<updated>2010-05-21T02:04:24Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2010-05-21T02:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a0de055cf61338549b13079a5677ef2e1b6472ef'/>
<id>urn:sha1:a0de055cf61338549b13079a5677ef2e1b6472ef</id>
<content type='text'>
One of the driving forces behind integrating another front end (kdb)
to the debug core is to allow front end commands to be accessible via
gdb's monitor command.  It is true that you could write gdb macros to
get certain data, but you may want to just use gdb to access the
commands that are available in the kdb front end.

This patch implements the Rcmd gdb stub packet.  In gdb you access
this with the "monitor" command.  For instance you could type "monitor
help", "monitor lsmod" or "monitor ps A" etc...

There is no error checking or command restrictions on what you can and
cannot access at this point.  Doing something like trying to set
breakpoints with the monitor command is going to cause nothing but
problems.  Perhaps in the future only the commands that are actually
known to work with the gdb monitor command will be available.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
</content>
</entry>
</feed>
