Commit Graph

11 Commits

Author SHA1 Message Date
marcel
75588c5a15 Add kdb_cpu_sync_icache(), intended to synchronize instruction
caches with data caches after writing to memory. This typically
is required to make breakpoints work on ia64 and powerpc. For
those architectures the function is implemented.
2007-06-09 21:55:17 +00:00
phk
18c5cc5ccc Convert to new console api 2006-05-26 13:54:27 +00:00
phk
7879ac129f Eliminate gdb_checkc member from GDB_DBGPORT(), it is never used.
Use polling behaviour for gdb_getc() where convenient, this edges us
closer to the console code.
2006-05-26 11:54:32 +00:00
phk
0b37dc8074 Don't use GDB_DBGPORT() macro to fill in dummy element in gdb_dbgport_set. 2006-05-26 11:52:59 +00:00
phk
b877360bf7 Wrap our drivers gdb_getc() function so that if it returns -1 we
try again.  This way it matches the console behaviour and allows us
to share more code.
2006-05-26 11:52:20 +00:00
sam
2b0d21fae4 add support for copying console messages to a remote gdb
Reviewed by:	kan
2006-03-23 23:06:14 +00:00
sam
e5a103489f check return value of gdb_rx_varhex
Noticed by:	Coverity Prevent analysis tool
Reviewed by:	kan
2005-03-28 18:31:18 +00:00
imp
872b48591b /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:27:30 +00:00
marcel
c106bd9120 Change gdb_cpu_setreg() to not take the value to which to set the
specified register, but a pointer to the in-memory representation of
that value. The reason for this is twofold:
1. Not all registers can be represented by a register_t. In particular
   FP registers fall in that category. Passing the new register value
   by reference instead of by value makes this point moot.
2. When we receive a G or P packet, both are for writing a register,
   the packet will have the register value in target-byte order and
   in the memory representation (modulo the fact that bytes are sent
   as 2 printable hexadecimal numbers of course). We only need to
   decode the packet to have a pointer to the register value.

This change fixes the bug of extracting the register value of the P
packet as a hexadecimal number instead of as a bit array. The quick
(and dirty) fix to bswap the register value in gdb_cpu_setreg() as
it has been added on i386 and amd64 can therefore be removed and has
in fact been that.

Tested on: alpha, amd64, i386, ia64, sparc64
2004-12-01 06:40:35 +00:00
marcel
0b97f253fb Comment-out the debugging printf I left in in case there were some
packet related problems. No problems have been reported.
2004-08-10 19:32:33 +00:00
marcel
6e0dcca8a9 Introduce the GDB debugger backend for the new KDB framework. The
backend improves over the old GDB support in the following ways:
o  Unified implementation with minimal MD code.
o  A simple interface for devices to register themselves as debug
   ports, ala consoles.
o  Compression by using run-length encoding.
o  Implements GDB threading support.
2004-07-10 17:47:22 +00:00