diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-02-27 22:32:15 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-02-27 22:32:15 +0000 |
commit | 1bbe2e1dbb59eaa89d637ffd95a04ba2919d7010 (patch) | |
tree | a32f210e54c8b6bd0383b3b884c1e32179c3eea3 /c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h | |
parent | 2001-02-27 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-1bbe2e1dbb59eaa89d637ffd95a04ba2919d7010.tar.bz2 |
2001-02-27 Joel Sherrill <joel@OARcorp.com>
* Significant modifications including adding thread support, the 'X'
command, and reorganizing so that target CPU independent routines
could be reused.
* gdb_if.h: Added numerous prototypes.
* mips-stub.c: Added thread support as well as 'X' command.
Also noticed that the 'P' command was from the mips protocol.
* rtems-stub-glue.c: New file. This file contains all generic
support which should be able to be reused on another target CPU.
Diffstat (limited to 'c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h')
-rw-r--r-- | c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h b/c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h index 14b9abf4d8..5f8e81601b 100644 --- a/c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h +++ b/c/src/lib/libbsp/mips/shared/gdbstub/gdb_if.h @@ -17,6 +17,61 @@ #ifndef _GDB_IF_H #define _GDB_IF_H +/* Max number of threads in qM response */ +#define QM_MAX_THREADS (20) + +struct rtems_gdb_stub_thread_info { + char display[256]; + char name[256]; + char more_display[256]; +}; + +/* + * Prototypes + */ + +int parse_zbreak(const char *in, int *type, unsigned char **addr, int *len); + + +char* mem2hstr(char *buf, const unsigned char *mem, int count); +int hstr2mem(unsigned char *mem, const char *buf, int count); +void set_mem_err(void); +unsigned char get_byte(const unsigned char *ptr); +void set_byte(unsigned char *ptr, int val); +char* thread2vhstr(char *buf, int thread); +char* thread2fhstr(char *buf, int thread); +const char* fhstr2thread(const char *buf, int *thread); +const char* vhstr2thread(const char *buf, int *thread); +char* int2fhstr(char *buf, int val); +char* int2vhstr(char *buf, int vali); +const char* fhstr2int(const char *buf, int *ival); +const char* vhstr2int(const char *buf, int *ival); +int hstr2byte(const char *buf, int *bval); +int hstr2nibble(const char *buf, int *nibble); + +int rtems_gdb_stub_thread_support_ok(void); +int rtems_gdb_stub_get_current_thread(void); +int rtems_gdb_stub_get_next_thread(int); +int rtems_gdb_stub_get_offsets( + unsigned char **text_addr, + unsigned char **data_addr, + unsigned char **bss_addr +); +int rtems_gdb_stub_get_thread_regs( + int thread, + unsigned int *registers +); +int rtems_gdb_stub_set_thread_regs( + int thread, + unsigned int *registers +); +void rtems_gdb_process_query( + char *inbuffer, + char *outbuffer, + int do_threads, + int thread +); + /* * MIPS registers, numbered in the order in which gdb expects to see them. */ |