Subversion Repositories Kolibri OS

Rev

Rev 5191 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5191 serge 1
/* sim-ppc.h --- interface between PowerPC simulator and GDB.
2
 
6324 serge 3
   Copyright (C) 2004-2015 Free Software Foundation, Inc.
5191 serge 4
 
5
   Contributed by Red Hat.
6
 
7
   This file is part of GDB.
8
 
9
   This program is free software; you can redistribute it and/or modify
10
   it under the terms of the GNU General Public License as published by
11
   the Free Software Foundation; either version 3 of the License, or
12
   (at your option) any later version.
13
 
14
   This program is distributed in the hope that it will be useful,
15
   but WITHOUT ANY WARRANTY; without even the implied warranty of
16
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
   GNU General Public License for more details.
18
 
19
   You should have received a copy of the GNU General Public License
20
   along with this program.  If not, see .  */
21
 
22
#if !defined (SIM_PPC_H)
23
#define SIM_PPC_H
24
 
25
#ifdef __cplusplus
26
extern "C" {
27
#endif
28
 
29
/* The register access functions, sim_fetch_register and
30
   sim_store_register, use the following numbering for PowerPC
31
   registers.  */
32
 
33
enum sim_ppc_regnum
34
  {
35
    /* General-purpose registers, r0 -- r31.  */
36
    sim_ppc_r0_regnum,
37
    sim_ppc_r1_regnum,
38
    sim_ppc_r2_regnum,
39
    sim_ppc_r3_regnum,
40
    sim_ppc_r4_regnum,
41
    sim_ppc_r5_regnum,
42
    sim_ppc_r6_regnum,
43
    sim_ppc_r7_regnum,
44
    sim_ppc_r8_regnum,
45
    sim_ppc_r9_regnum,
46
    sim_ppc_r10_regnum,
47
    sim_ppc_r11_regnum,
48
    sim_ppc_r12_regnum,
49
    sim_ppc_r13_regnum,
50
    sim_ppc_r14_regnum,
51
    sim_ppc_r15_regnum,
52
    sim_ppc_r16_regnum,
53
    sim_ppc_r17_regnum,
54
    sim_ppc_r18_regnum,
55
    sim_ppc_r19_regnum,
56
    sim_ppc_r20_regnum,
57
    sim_ppc_r21_regnum,
58
    sim_ppc_r22_regnum,
59
    sim_ppc_r23_regnum,
60
    sim_ppc_r24_regnum,
61
    sim_ppc_r25_regnum,
62
    sim_ppc_r26_regnum,
63
    sim_ppc_r27_regnum,
64
    sim_ppc_r28_regnum,
65
    sim_ppc_r29_regnum,
66
    sim_ppc_r30_regnum,
67
    sim_ppc_r31_regnum,
68
 
69
    /* Floating-point registers, f0 -- f31.  */
70
    sim_ppc_f0_regnum,
71
    sim_ppc_f1_regnum,
72
    sim_ppc_f2_regnum,
73
    sim_ppc_f3_regnum,
74
    sim_ppc_f4_regnum,
75
    sim_ppc_f5_regnum,
76
    sim_ppc_f6_regnum,
77
    sim_ppc_f7_regnum,
78
    sim_ppc_f8_regnum,
79
    sim_ppc_f9_regnum,
80
    sim_ppc_f10_regnum,
81
    sim_ppc_f11_regnum,
82
    sim_ppc_f12_regnum,
83
    sim_ppc_f13_regnum,
84
    sim_ppc_f14_regnum,
85
    sim_ppc_f15_regnum,
86
    sim_ppc_f16_regnum,
87
    sim_ppc_f17_regnum,
88
    sim_ppc_f18_regnum,
89
    sim_ppc_f19_regnum,
90
    sim_ppc_f20_regnum,
91
    sim_ppc_f21_regnum,
92
    sim_ppc_f22_regnum,
93
    sim_ppc_f23_regnum,
94
    sim_ppc_f24_regnum,
95
    sim_ppc_f25_regnum,
96
    sim_ppc_f26_regnum,
97
    sim_ppc_f27_regnum,
98
    sim_ppc_f28_regnum,
99
    sim_ppc_f29_regnum,
100
    sim_ppc_f30_regnum,
101
    sim_ppc_f31_regnum,
102
 
103
    /* Altivec vector registers, vr0 -- vr31.  */
104
    sim_ppc_vr0_regnum,
105
    sim_ppc_vr1_regnum,
106
    sim_ppc_vr2_regnum,
107
    sim_ppc_vr3_regnum,
108
    sim_ppc_vr4_regnum,
109
    sim_ppc_vr5_regnum,
110
    sim_ppc_vr6_regnum,
111
    sim_ppc_vr7_regnum,
112
    sim_ppc_vr8_regnum,
113
    sim_ppc_vr9_regnum,
114
    sim_ppc_vr10_regnum,
115
    sim_ppc_vr11_regnum,
116
    sim_ppc_vr12_regnum,
117
    sim_ppc_vr13_regnum,
118
    sim_ppc_vr14_regnum,
119
    sim_ppc_vr15_regnum,
120
    sim_ppc_vr16_regnum,
121
    sim_ppc_vr17_regnum,
122
    sim_ppc_vr18_regnum,
123
    sim_ppc_vr19_regnum,
124
    sim_ppc_vr20_regnum,
125
    sim_ppc_vr21_regnum,
126
    sim_ppc_vr22_regnum,
127
    sim_ppc_vr23_regnum,
128
    sim_ppc_vr24_regnum,
129
    sim_ppc_vr25_regnum,
130
    sim_ppc_vr26_regnum,
131
    sim_ppc_vr27_regnum,
132
    sim_ppc_vr28_regnum,
133
    sim_ppc_vr29_regnum,
134
    sim_ppc_vr30_regnum,
135
    sim_ppc_vr31_regnum,
136
 
137
    /* SPE APU GPR upper halves.  These are the upper 32 bits of the
138
       gprs; there is one upper-half register for each gpr, so it is
139
       appropriate to use sim_ppc_num_gprs for iterating through
140
       these.  */
141
    sim_ppc_rh0_regnum,
142
    sim_ppc_rh1_regnum,
143
    sim_ppc_rh2_regnum,
144
    sim_ppc_rh3_regnum,
145
    sim_ppc_rh4_regnum,
146
    sim_ppc_rh5_regnum,
147
    sim_ppc_rh6_regnum,
148
    sim_ppc_rh7_regnum,
149
    sim_ppc_rh8_regnum,
150
    sim_ppc_rh9_regnum,
151
    sim_ppc_rh10_regnum,
152
    sim_ppc_rh11_regnum,
153
    sim_ppc_rh12_regnum,
154
    sim_ppc_rh13_regnum,
155
    sim_ppc_rh14_regnum,
156
    sim_ppc_rh15_regnum,
157
    sim_ppc_rh16_regnum,
158
    sim_ppc_rh17_regnum,
159
    sim_ppc_rh18_regnum,
160
    sim_ppc_rh19_regnum,
161
    sim_ppc_rh20_regnum,
162
    sim_ppc_rh21_regnum,
163
    sim_ppc_rh22_regnum,
164
    sim_ppc_rh23_regnum,
165
    sim_ppc_rh24_regnum,
166
    sim_ppc_rh25_regnum,
167
    sim_ppc_rh26_regnum,
168
    sim_ppc_rh27_regnum,
169
    sim_ppc_rh28_regnum,
170
    sim_ppc_rh29_regnum,
171
    sim_ppc_rh30_regnum,
172
    sim_ppc_rh31_regnum,
173
 
174
    /* SPE APU GPR full registers.  Each of these registers is the
175
       64-bit concatenation of a 32-bit GPR (providing the lower bits)
176
       and a 32-bit upper-half register (providing the higher bits).
177
       As for the upper-half registers, it is appropriate to use
178
       sim_ppc_num_gprs with these.  */
179
    sim_ppc_ev0_regnum,
180
    sim_ppc_ev1_regnum,
181
    sim_ppc_ev2_regnum,
182
    sim_ppc_ev3_regnum,
183
    sim_ppc_ev4_regnum,
184
    sim_ppc_ev5_regnum,
185
    sim_ppc_ev6_regnum,
186
    sim_ppc_ev7_regnum,
187
    sim_ppc_ev8_regnum,
188
    sim_ppc_ev9_regnum,
189
    sim_ppc_ev10_regnum,
190
    sim_ppc_ev11_regnum,
191
    sim_ppc_ev12_regnum,
192
    sim_ppc_ev13_regnum,
193
    sim_ppc_ev14_regnum,
194
    sim_ppc_ev15_regnum,
195
    sim_ppc_ev16_regnum,
196
    sim_ppc_ev17_regnum,
197
    sim_ppc_ev18_regnum,
198
    sim_ppc_ev19_regnum,
199
    sim_ppc_ev20_regnum,
200
    sim_ppc_ev21_regnum,
201
    sim_ppc_ev22_regnum,
202
    sim_ppc_ev23_regnum,
203
    sim_ppc_ev24_regnum,
204
    sim_ppc_ev25_regnum,
205
    sim_ppc_ev26_regnum,
206
    sim_ppc_ev27_regnum,
207
    sim_ppc_ev28_regnum,
208
    sim_ppc_ev29_regnum,
209
    sim_ppc_ev30_regnum,
210
    sim_ppc_ev31_regnum,
211
 
212
    /* Segment registers, sr0 -- sr15.  */
213
    sim_ppc_sr0_regnum,
214
    sim_ppc_sr1_regnum,
215
    sim_ppc_sr2_regnum,
216
    sim_ppc_sr3_regnum,
217
    sim_ppc_sr4_regnum,
218
    sim_ppc_sr5_regnum,
219
    sim_ppc_sr6_regnum,
220
    sim_ppc_sr7_regnum,
221
    sim_ppc_sr8_regnum,
222
    sim_ppc_sr9_regnum,
223
    sim_ppc_sr10_regnum,
224
    sim_ppc_sr11_regnum,
225
    sim_ppc_sr12_regnum,
226
    sim_ppc_sr13_regnum,
227
    sim_ppc_sr14_regnum,
228
    sim_ppc_sr15_regnum,
229
 
230
    /* Miscellaneous --- but non-SPR --- registers.  */
231
    sim_ppc_pc_regnum,
232
    sim_ppc_ps_regnum,
233
    sim_ppc_cr_regnum,
234
    sim_ppc_fpscr_regnum,
235
    sim_ppc_acc_regnum,
236
    sim_ppc_vscr_regnum,
237
 
238
    /* Special-purpose registers.  */
239
    sim_ppc_spr0_regnum, sim_ppc_spr1_regnum,
240
    sim_ppc_spr2_regnum, sim_ppc_spr3_regnum,
241
    sim_ppc_spr4_regnum, sim_ppc_spr5_regnum,
242
    sim_ppc_spr6_regnum, sim_ppc_spr7_regnum,
243
    sim_ppc_spr8_regnum, sim_ppc_spr9_regnum,
244
    sim_ppc_spr10_regnum, sim_ppc_spr11_regnum,
245
    sim_ppc_spr12_regnum, sim_ppc_spr13_regnum,
246
    sim_ppc_spr14_regnum, sim_ppc_spr15_regnum,
247
    sim_ppc_spr16_regnum, sim_ppc_spr17_regnum,
248
    sim_ppc_spr18_regnum, sim_ppc_spr19_regnum,
249
    sim_ppc_spr20_regnum, sim_ppc_spr21_regnum,
250
    sim_ppc_spr22_regnum, sim_ppc_spr23_regnum,
251
    sim_ppc_spr24_regnum, sim_ppc_spr25_regnum,
252
    sim_ppc_spr26_regnum, sim_ppc_spr27_regnum,
253
    sim_ppc_spr28_regnum, sim_ppc_spr29_regnum,
254
    sim_ppc_spr30_regnum, sim_ppc_spr31_regnum,
255
    sim_ppc_spr32_regnum, sim_ppc_spr33_regnum,
256
    sim_ppc_spr34_regnum, sim_ppc_spr35_regnum,
257
    sim_ppc_spr36_regnum, sim_ppc_spr37_regnum,
258
    sim_ppc_spr38_regnum, sim_ppc_spr39_regnum,
259
    sim_ppc_spr40_regnum, sim_ppc_spr41_regnum,
260
    sim_ppc_spr42_regnum, sim_ppc_spr43_regnum,
261
    sim_ppc_spr44_regnum, sim_ppc_spr45_regnum,
262
    sim_ppc_spr46_regnum, sim_ppc_spr47_regnum,
263
    sim_ppc_spr48_regnum, sim_ppc_spr49_regnum,
264
    sim_ppc_spr50_regnum, sim_ppc_spr51_regnum,
265
    sim_ppc_spr52_regnum, sim_ppc_spr53_regnum,
266
    sim_ppc_spr54_regnum, sim_ppc_spr55_regnum,
267
    sim_ppc_spr56_regnum, sim_ppc_spr57_regnum,
268
    sim_ppc_spr58_regnum, sim_ppc_spr59_regnum,
269