OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [gdb/] [gdbserver/] [linux-ia64-low.c] - Blame information for rev 157

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 24 jeremybenn
/* GNU/Linux/IA64 specific low level interface, for the remote server for GDB.
2
   Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2007, 2008
3
   Free Software Foundation, Inc.
4
 
5
   This file is part of GDB.
6
 
7
   This program is free software; you can redistribute it and/or modify
8
   it under the terms of the GNU General Public License as published by
9
   the Free Software Foundation; either version 3 of the License, or
10
   (at your option) any later version.
11
 
12
   This program is distributed in the hope that it will be useful,
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
   GNU General Public License for more details.
16
 
17
   You should have received a copy of the GNU General Public License
18
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
 
20
#include "server.h"
21
#include "linux-low.h"
22
 
23
#ifdef HAVE_SYS_REG_H
24
#include <sys/reg.h>
25
#endif
26
 
27
#define ia64_num_regs 462
28
 
29
#include <asm/ptrace_offsets.h>
30
 
31
static int ia64_regmap[] =
32
  {
33
    /* general registers */
34
    -1,         /* gr0 not available; i.e, it's always zero */
35
    PT_R1,
36
    PT_R2,
37
    PT_R3,
38
    PT_R4,
39
    PT_R5,
40
    PT_R6,
41
    PT_R7,
42
    PT_R8,
43
    PT_R9,
44
    PT_R10,
45
    PT_R11,
46
    PT_R12,
47
    PT_R13,
48
    PT_R14,
49
    PT_R15,
50
    PT_R16,
51
    PT_R17,
52
    PT_R18,
53
    PT_R19,
54
    PT_R20,
55
    PT_R21,
56
    PT_R22,
57
    PT_R23,
58
    PT_R24,
59
    PT_R25,
60
    PT_R26,
61
    PT_R27,
62
    PT_R28,
63
    PT_R29,
64
    PT_R30,
65
    PT_R31,
66
    /* gr32 through gr127 not directly available via the ptrace interface */
67
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
68
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
69
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
70
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
71
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
72
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
73
    /* Floating point registers */
74
    -1, -1,     /* f0 and f1 not available (f0 is +0.0 and f1 is +1.0) */
75
    PT_F2,
76
    PT_F3,
77
    PT_F4,
78
    PT_F5,
79
    PT_F6,
80
    PT_F7,
81
    PT_F8,
82
    PT_F9,
83
    PT_F10,
84
    PT_F11,
85
    PT_F12,
86
    PT_F13,
87
    PT_F14,
88
    PT_F15,
89
    PT_F16,
90
    PT_F17,
91
    PT_F18,
92
    PT_F19,
93
    PT_F20,
94
    PT_F21,
95
    PT_F22,
96
    PT_F23,
97
    PT_F24,
98
    PT_F25,
99
    PT_F26,
100
    PT_F27,
101
    PT_F28,
102
    PT_F29,
103
    PT_F30,
104
    PT_F31,
105
    PT_F32,
106
    PT_F33,
107
    PT_F34,
108
    PT_F35,
109
    PT_F36,
110
    PT_F37,
111
    PT_F38,
112
    PT_F39,
113
    PT_F40,
114
    PT_F41,
115
    PT_F42,
116
    PT_F43,
117
    PT_F44,
118
    PT_F45,
119
    PT_F46,
120
    PT_F47,
121
    PT_F48,
122
    PT_F49,
123
    PT_F50,
124
    PT_F51,
125
    PT_F52,
126
    PT_F53,
127
    PT_F54,
128
    PT_F55,
129
    PT_F56,
130
    PT_F57,
131
    PT_F58,
132
    PT_F59,
133
    PT_F60,
134
    PT_F61,
135
    PT_F62,
136
    PT_F63,
137
    PT_F64,
138
    PT_F65,
139
    PT_F66,
140
    PT_F67,
141
    PT_F68,
142
    PT_F69,
143
    PT_F70,
144
    PT_F71,
145
    PT_F72,
146
    PT_F73,
147
    PT_F74,
148
    PT_F75,
149
    PT_F76,
150
    PT_F77,
151
    PT_F78,
152
    PT_F79,
153
    PT_F80,
154
    PT_F81,
155
    PT_F82,
156
    PT_F83,
157
    PT_F84,
158
    PT_F85,
159
    PT_F86,
160
    PT_F87,
161
    PT_F88,
162
    PT_F89,
163
    PT_F90,
164
    PT_F91,
165
    PT_F92,
166
    PT_F93,
167
    PT_F94,
168
    PT_F95,
169
    PT_F96,
170
    PT_F97,
171
    PT_F98,
172
    PT_F99,
173
    PT_F100,
174
    PT_F101,
175
    PT_F102,
176
    PT_F103,
177
    PT_F104,
178
    PT_F105,
179
    PT_F106,
180
    PT_F107,
181
    PT_F108,
182
    PT_F109,
183
    PT_F110,
184
    PT_F111,
185
    PT_F112,
186
    PT_F113,
187
    PT_F114,
188
    PT_F115,
189
    PT_F116,
190
    PT_F117,
191
    PT_F118,
192
    PT_F119,
193
    PT_F120,
194
    PT_F121,
195
    PT_F122,
196
    PT_F123,
197
    PT_F124,
198
    PT_F125,
199
    PT_F126,
200
    PT_F127,
201
    /* predicate registers - we don't fetch these individually */
202
    -1, -1, -1, -1, -1, -1, -1, -1,
203
    -1, -1, -1, -1, -1, -1, -1, -1,
204
    -1, -1, -1, -1, -1, -1, -1, -1,
205
    -1, -1, -1, -1, -1, -1, -1, -1,
206
    -1, -1, -1, -1, -1, -1, -1, -1,
207
    -1, -1, -1, -1, -1, -1, -1, -1,
208
    -1, -1, -1, -1, -1, -1, -1, -1,
209
    -1, -1, -1, -1, -1, -1, -1, -1,
210
    /* branch registers */
211
    PT_B0,
212
    PT_B1,
213
    PT_B2,
214
    PT_B3,
215
    PT_B4,
216
    PT_B5,
217
    PT_B6,
218
    PT_B7,
219
    /* virtual frame pointer and virtual return address pointer */
220
    -1, -1,
221
    /* other registers */
222
    PT_PR,
223
    PT_CR_IIP,  /* ip */
224
    PT_CR_IPSR, /* psr */
225
    PT_CFM,     /* cfm */
226
    /* kernel registers not visible via ptrace interface (?) */
227
    -1, -1, -1, -1, -1, -1, -1, -1,
228
    /* hole */
229
    -1, -1, -1, -1, -1, -1, -1, -1,
230
    PT_AR_RSC,
231
    PT_AR_BSP,
232
    PT_AR_BSPSTORE,
233
    PT_AR_RNAT,
234
    -1,
235
    -1,         /* Not available: FCR, IA32 floating control register */
236
    -1, -1,
237
    -1,         /* Not available: EFLAG */
238
    -1,         /* Not available: CSD */
239
    -1,         /* Not available: SSD */
240
    -1,         /* Not available: CFLG */
241
    -1,         /* Not available: FSR */
242
    -1,         /* Not available: FIR */
243
    -1,         /* Not available: FDR */
244
    -1,
245
    PT_AR_CCV,
246
    -1, -1, -1,
247
    PT_AR_UNAT,
248
    -1, -1, -1,
249
    PT_AR_FPSR,
250
    -1, -1, -1,
251
    -1,         /* Not available: ITC */
252
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
253
    -1, -1, -1, -1, -1, -1, -1, -1, -1,
254
    PT_AR_PFS,
255
    PT_AR_LC,
256
    -1,         /* Not available: EC, the Epilog Count register */
257
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
258
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
259
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
260
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
261
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
262
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
263
    -1,
264
  };
265
 
266
static int
267
ia64_cannot_store_register (int regno)
268
{
269
  return 0;
270
}
271
 
272
static int
273
ia64_cannot_fetch_register (int regno)
274
{
275
  return 0;
276
}
277
 
278
struct linux_target_ops the_low_target = {
279
  ia64_num_regs,
280
  ia64_regmap,
281
  ia64_cannot_fetch_register,
282
  ia64_cannot_store_register,
283
};

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.