aboutsummaryrefslogtreecommitdiff
path: root/sys/gdb
Commit message (Collapse)AuthorAgeFilesLines
* Modify kdb_trap() so that it re-calls the dbbe_trap function as long asMatthew D Fleming2011-02-182-0/+23
| | | | | | | | | | | | | | | | | | the debugger back-end has changed. This means that switching from ddb to gdb no longer requires a "step" which can be dangerous on an already-crashed kernel. Also add a capability to get from the gdb back-end back to ddb, by typing ^C in the console window. While here, simplify kdb_sysctl_available() by using sbuf_new_for_sysctl(), and use strlcpy() instead of strncpy() since the strlcpy semantic is desired. MFC after: 1 month Notes: svn path=/head/; revision=218825
* there must be only one SYSINIT with SI_SUB_RUN_SCHEDULER+SI_ORDER_ANY orderAndriy Gapon2010-09-301-1/+1
| | | | | | | | | | | | | | | | | | SI_SUB_RUN_SCHEDULER+SI_ORDER_ANY should only be used to call scheduler() function which turns the initial thread into swapper proper and thus there is no further SYSINIT processing. Other SYSINITs with SI_SUB_RUN_SCHEDULER+SI_ORDER_ANY may get ordered after scheduler() and thus never executed. That particular relative order is semi-arbitrary. Thus, change such places to use SI_ORDER_MIDDLE. Also, use SI_ORDER_MIDDLE instead of correct, but less appealing, SI_ORDER_ANY - 1. MFC after: 1 week Notes: svn path=/head/; revision=213305
* Commit SYSINIT() ;-adding patch missed in previous pass.Robert Watson2008-03-161-1/+1
| | | | | | | | MFC after: 1 month Caught by: tinderbox Notes: svn path=/head/; revision=177255
* Add support for kgdb's 'detach' command.Peter Grehan2008-02-291-0/+5
| | | | | | | | Reviewed by: marcel Sponsored by: Network Appliance Notes: svn path=/head/; revision=176651
* Add kdb_cpu_sync_icache(), intended to synchronize instructionMarcel Moolenaar2007-06-091-2/+8
| | | | | | | | | 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. Notes: svn path=/head/; revision=170473
* Convert to new console apiPoul-Henning Kamp2006-05-261-4/+7
| | | | Notes: svn path=/head/; revision=158960
* Eliminate gdb_checkc member from GDB_DBGPORT(), it is never used.Poul-Henning Kamp2006-05-261-6/+4
| | | | | | | | Use polling behaviour for gdb_getc() where convenient, this edges us closer to the console code. Notes: svn path=/head/; revision=158950
* Don't use GDB_DBGPORT() macro to fill in dummy element in gdb_dbgport_set.Poul-Henning Kamp2006-05-261-1/+2
| | | | Notes: svn path=/head/; revision=158949
* Wrap our drivers gdb_getc() function so that if it returns -1 wePoul-Henning Kamp2006-05-261-5/+20
| | | | | | | | try again. This way it matches the console behaviour and allows us to share more code. Notes: svn path=/head/; revision=158948
* add support for copying console messages to a remote gdbSam Leffler2006-03-233-2/+185
| | | | | | | Reviewed by: kan Notes: svn path=/head/; revision=157059
* check return value of gdb_rx_varhexSam Leffler2005-03-281-2/+8
| | | | | | | | Noticed by: Coverity Prevent analysis tool Reviewed by: kan Notes: svn path=/head/; revision=144245
* /* -> /*- for copyright notices, minor format tweaks as necessaryWarner Losh2005-01-064-4/+4
| | | | Notes: svn path=/head/; revision=139778
* Change gdb_cpu_setreg() to not take the value to which to set theMarcel Moolenaar2004-12-011-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=138253
* Comment-out the debugging printf I left in in case there were someMarcel Moolenaar2004-08-101-1/+1
| | | | | | | packet related problems. No problems have been reported. Notes: svn path=/head/; revision=133446
* Introduce the GDB debugger backend for the new KDB framework. TheMarcel Moolenaar2004-07-104-0/+721
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. Notes: svn path=/head/; revision=131899