RTEMS  5.0.0
gdb_if.h
Go to the documentation of this file.
1 
7 /*
8  * gdb_if.h - definition of the interface between the stub and gdb
9  *
10  * THIS SOFTWARE IS NOT COPYRIGHTED
11  *
12  * The following software is offered for use in the public domain.
13  * There is no warranty with regard to this software or its performance
14  * and the user must accept the software "AS IS" with all faults.
15  *
16  * THE CONTRIBUTORS DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, WITH
17  * REGARD TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19  */
20 
28 #ifndef _GDB_IF_H
29 #define _GDB_IF_H
30 
32 #define QM_MAX_THREADS (20)
33 
35  char display[256];
36  char name[256];
37  char more_display[256];
38 };
39 
45 int parse_zbreak(const char *in, int *type, unsigned char **addr, int *len);
46 
47 char* mem2hstr(char *buf, const unsigned char *mem, int count);
48 int hstr2mem(unsigned char *mem, const char *buf, int count);
49 void set_mem_err(void);
50 unsigned char get_byte(const unsigned char *ptr);
51 void set_byte(unsigned char *ptr, int val);
52 char* thread2vhstr(char *buf, int thread);
53 char* thread2fhstr(char *buf, int thread);
54 const char* fhstr2thread(const char *buf, int *thread);
55 const char* vhstr2thread(const char *buf, int *thread);
56 char* int2fhstr(char *buf, int val);
57 char* int2vhstr(char *buf, int vali);
58 const char* fhstr2int(const char *buf, int *ival);
59 const char* vhstr2int(const char *buf, int *ival);
60 int hstr2byte(const char *buf, int *bval);
61 int hstr2nibble(const char *buf, int *nibble);
62 
63 Thread_Control *rtems_gdb_index_to_stub_id(int);
64 int rtems_gdb_stub_thread_support_ok(void);
65 int rtems_gdb_stub_get_current_thread(void);
66 int rtems_gdb_stub_get_next_thread(int);
67 int rtems_gdb_stub_get_offsets(
68  unsigned char **text_addr,
69  unsigned char **data_addr,
70  unsigned char **bss_addr
71 );
72 int rtems_gdb_stub_get_thread_regs(
73  int thread,
74  unsigned int *registers
75 );
76 int rtems_gdb_stub_set_thread_regs(
77  int thread,
78  unsigned int *registers
79 );
80 void rtems_gdb_process_query(
81  char *inbuffer,
82  char *outbuffer,
83  int do_threads,
84  int thread
85 );
86 
95 #define ZERO 0
96 #define AT 1
97 #define V0 2
98 #define V1 3
99 #define A0 4
100 #define A1 5
101 #define A2 6
102 #define A3 7
103 
104 #define T0 8
105 #define T1 9
106 #define T2 10
107 #define T3 11
108 #define T4 12
109 #define T5 13
110 #define T6 14
111 #define T7 15
112 
113 #define S0 16
114 #define S1 17
115 #define S2 18
116 #define S3 19
117 #define S4 20
118 #define S5 21
119 #define S6 22
120 #define S7 23
121 
122 #define T8 24
123 #define T9 25
124 #define K0 26
125 #define K1 27
126 #define GP 28
127 #define SP 29
128 #define S8 30
129 #define RA 31
130 
131 #define SR 32
132 #define LO 33
133 #define HI 34
134 #define BAD_VA 35
135 #define CAUSE 36
136 #define PC 37
137 
138 #define F0 38
139 #define F1 39
140 #define F2 40
141 #define F3 41
142 #define F4 42
143 #define F5 43
144 #define F6 44
145 #define F7 45
146 
147 #define F8 46
148 #define F9 47
149 #define F10 48
150 #define F11 49
151 #define F12 50
152 #define F13 51
153 #define F14 52
154 #define F15 53
155 
156 #define F16 54
157 #define F17 55
158 #define F18 56
159 #define F19 57
160 #define F20 58
161 #define F21 59
162 #define F22 60
163 #define F23 61
164 
165 #define F24 62
166 #define F25 63
167 #define F26 64
168 #define F27 65
169 #define F28 66
170 #define F29 67
171 #define F30 68
172 #define F31 69
173 
174 #define FCSR 70
175 #define FIRR 71
176 
177 #define NUM_REGS 72
178 
181 void mips_gdb_stub_install(int enableThreads) ;
182 
183 #define MEMOPT_READABLE 1
184 #define MEMOPT_WRITEABLE 2
185 
186 #ifndef NUM_MEMSEGS
187 #define NUM_MEMSEGS 10
188 #endif
189 
190 int gdbstub_add_memsegment(unsigned,unsigned,int);
191 
194 #endif /* _GDB_IF_H */
Definition: thread.h:728
Definition: gdb_if.h:34