Subversion Repositories HelenOS

Rev

Rev 2071 | Rev 3856 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2071 Rev 3406
1
/*
1
/*
2
 * Copyright (c) 2005 Martin Decky
2
 * Copyright (c) 2005 Martin Decky
3
 * All rights reserved.
3
 * All rights reserved.
4
 *
4
 *
5
 * Redistribution and use in source and binary forms, with or without
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
6
 * modification, are permitted provided that the following conditions
7
 * are met:
7
 * are met:
8
 *
8
 *
9
 * - Redistributions of source code must retain the above copyright
9
 * - Redistributions of source code must retain the above copyright
10
 *   notice, this list of conditions and the following disclaimer.
10
 *   notice, this list of conditions and the following disclaimer.
11
 * - Redistributions in binary form must reproduce the above copyright
11
 * - Redistributions in binary form must reproduce the above copyright
12
 *   notice, this list of conditions and the following disclaimer in the
12
 *   notice, this list of conditions and the following disclaimer in the
13
 *   documentation and/or other materials provided with the distribution.
13
 *   documentation and/or other materials provided with the distribution.
14
 * - The name of the author may not be used to endorse or promote products
14
 * - The name of the author may not be used to endorse or promote products
15
 *   derived from this software without specific prior written permission.
15
 *   derived from this software without specific prior written permission.
16
 *
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
 
28
 
29
/** @addtogroup ppc32  
29
/** @addtogroup ppc32  
30
 * @{
30
 * @{
31
 */
31
 */
32
/** @file
32
/** @file
33
 */
33
 */
34
 
34
 
35
#ifndef KERN_ppc32_REGNAME_H_
35
#ifndef KERN_ppc32_REGNAME_H_
36
#define KERN_ppc32_REGNAME_H_
36
#define KERN_ppc32_REGNAME_H_
37
 
37
 
38
/* Condition Register Bit Fields */
38
/* Condition Register Bit Fields */
39
#define cr0 0
39
#define cr0 0
40
#define cr1 1
40
#define cr1 1
41
#define cr2 2
41
#define cr2 2
42
#define cr3 3
42
#define cr3 3
43
#define cr4 4
43
#define cr4 4
44
#define cr5 5
44
#define cr5 5
45
#define cr6 6
45
#define cr6 6
46
#define cr7 7
46
#define cr7 7
47
 
47
 
48
/* General Purpose Registers (GPRs) */
48
/* General Purpose Registers (GPRs) */
49
#define r0  0
49
#define r0  0
50
#define r1  1
50
#define r1  1
51
#define r2  2
51
#define r2  2
52
#define r3  3
52
#define r3  3
53
#define r4  4
53
#define r4  4
54
#define r5  5
54
#define r5  5
55
#define r6  6
55
#define r6  6
56
#define r7  7
56
#define r7  7
57
#define r8  8
57
#define r8  8
58
#define r9  9
58
#define r9  9
59
#define r10 10
59
#define r10 10
60
#define r11 11
60
#define r11 11
61
#define r12 12
61
#define r12 12
62
#define r13 13
62
#define r13 13
63
#define r14 14
63
#define r14 14
64
#define r15 15
64
#define r15 15
65
#define r16 16
65
#define r16 16
66
#define r17 17
66
#define r17 17
67
#define r18 18
67
#define r18 18
68
#define r19 19
68
#define r19 19
69
#define r20 20
69
#define r20 20
70
#define r21 21
70
#define r21 21
71
#define r22 22
71
#define r22 22
72
#define r23 23
72
#define r23 23
73
#define r24 24
73
#define r24 24
74
#define r25 25
74
#define r25 25
75
#define r26 26
75
#define r26 26
76
#define r27 27
76
#define r27 27
77
#define r28 28
77
#define r28 28
78
#define r29 29
78
#define r29 29
79
#define r30 30
79
#define r30 30
80
#define r31 31
80
#define r31 31
81
 
81
 
82
/* GPR Aliases */
82
/* GPR Aliases */
83
#define sp  1
83
#define sp  1
84
 
84
 
85
/* Floating Point Registers (FPRs) */
85
/* Floating Point Registers (FPRs) */
86
#define fr0     0
86
#define fr0     0
87
#define fr1     1
87
#define fr1     1
88
#define fr2     2
88
#define fr2     2
89
#define fr3     3
89
#define fr3     3
90
#define fr4     4
90
#define fr4     4
91
#define fr5     5
91
#define fr5     5
92
#define fr6     6
92
#define fr6     6
93
#define fr7     7
93
#define fr7     7
94
#define fr8     8
94
#define fr8     8
95
#define fr9     9
95
#define fr9     9
96
#define fr10    10
96
#define fr10    10
97
#define fr11    11
97
#define fr11    11
98
#define fr12    12
98
#define fr12    12
99
#define fr13    13
99
#define fr13    13
100
#define fr14    14
100
#define fr14    14
101
#define fr15    15
101
#define fr15    15
102
#define fr16    16
102
#define fr16    16
103
#define fr17    17
103
#define fr17    17
104
#define fr18    18
104
#define fr18    18
105
#define fr19    19
105
#define fr19    19
106
#define fr20    20
106
#define fr20    20
107
#define fr21    21
107
#define fr21    21
108
#define fr22    22
108
#define fr22    22
109
#define fr23    23
109
#define fr23    23
110
#define fr24    24
110
#define fr24    24
111
#define fr25    25
111
#define fr25    25
112
#define fr26    26
112
#define fr26    26
113
#define fr27    27
113
#define fr27    27
114
#define fr28    28
114
#define fr28    28
115
#define fr29    29
115
#define fr29    29
116
#define fr30    30
116
#define fr30    30
117
#define fr31    31
117
#define fr31    31
118
 
118
 
119
#define vr0     0
119
#define vr0     0
120
#define vr1     1
120
#define vr1     1
121
#define vr2     2
121
#define vr2     2
122
#define vr3     3
122
#define vr3     3
123
#define vr4     4
123
#define vr4     4
124
#define vr5     5
124
#define vr5     5
125
#define vr6     6
125
#define vr6     6
126
#define vr7     7
126
#define vr7     7
127
#define vr8     8
127
#define vr8     8
128
#define vr9     9
128
#define vr9     9
129
#define vr10    10
129
#define vr10    10
130
#define vr11    11
130
#define vr11    11
131
#define vr12    12
131
#define vr12    12
132
#define vr13    13
132
#define vr13    13
133
#define vr14    14
133
#define vr14    14
134
#define vr15    15
134
#define vr15    15
135
#define vr16    16
135
#define vr16    16
136
#define vr17    17
136
#define vr17    17
137
#define vr18    18
137
#define vr18    18
138
#define vr19    19
138
#define vr19    19
139
#define vr20    20
139
#define vr20    20
140
#define vr21    21
140
#define vr21    21
141
#define vr22    22
141
#define vr22    22
142
#define vr23    23
142
#define vr23    23
143
#define vr24    24
143
#define vr24    24
144
#define vr25    25
144
#define vr25    25
145
#define vr26    26
145
#define vr26    26
146
#define vr27    27
146
#define vr27    27
147
#define vr28    28
147
#define vr28    28
148
#define vr29    29
148
#define vr29    29
149
#define vr30    30
149
#define vr30    30
150
#define vr31    31
150
#define vr31    31
151
 
151
 
152
#define evr0    0
152
#define evr0    0
153
#define evr1    1
153
#define evr1    1
154
#define evr2    2
154
#define evr2    2
155
#define evr3    3
155
#define evr3    3
156
#define evr4    4
156
#define evr4    4
157
#define evr5    5
157
#define evr5    5
158
#define evr6    6
158
#define evr6    6
159
#define evr7    7
159
#define evr7    7
160
#define evr8    8
160
#define evr8    8
161
#define evr9    9
161
#define evr9    9
162
#define evr10   10
162
#define evr10   10
163
#define evr11   11
163
#define evr11   11
164
#define evr12   12
164
#define evr12   12
165
#define evr13   13
165
#define evr13   13
166
#define evr14   14
166
#define evr14   14
167
#define evr15   15
167
#define evr15   15
168
#define evr16   16
168
#define evr16   16
169
#define evr17   17
169
#define evr17   17
170
#define evr18   18
170
#define evr18   18
171
#define evr19   19
171
#define evr19   19
172
#define evr20   20
172
#define evr20   20
173
#define evr21   21
173
#define evr21   21
174
#define evr22   22
174
#define evr22   22
175
#define evr23   23
175
#define evr23   23
176
#define evr24   24
176
#define evr24   24
177
#define evr25   25
177
#define evr25   25
178
#define evr26   26
178
#define evr26   26
179
#define evr27   27
179
#define evr27   27
180
#define evr28   28
180
#define evr28   28
181
#define evr29   29
181
#define evr29   29
182
#define evr30   30
182
#define evr30   30
183
#define evr31   31
183
#define evr31   31
184
 
184
 
185
/* Special Purpose Registers (SPRs) */
185
/* Special Purpose Registers (SPRs) */
186
#define xer     1
186
#define xer     1
187
#define lr      8
187
#define lr      8
188
#define ctr     9
188
#define ctr     9
189
#define dec     22
189
#define dec     22
190
#define sdr1    25
190
#define sdr1    25
191
#define srr0    26
191
#define srr0    26
192
#define srr1    27
192
#define srr1    27
193
#define sprg0   272
193
#define sprg0   272
194
#define sprg1   273
194
#define sprg1   273
195
#define sprg2   274
195
#define sprg2   274
196
#define sprg3   275
196
#define sprg3   275
197
#define prv     287
197
#define prv     287
198
#define ibat0u  528
198
#define ibat0u  528
199
#define ibat0l  529
199
#define ibat0l  529
200
#define ibat1u  530
200
#define ibat1u  530
201
#define ibat1l  531
201
#define ibat1l  531
202
#define ibat2u  532
202
#define ibat2u  532
203
#define ibat2l  533
203
#define ibat2l  533
204
#define ibat3u  534
204
#define ibat3u  534
205
#define ibat3l  535
205
#define ibat3l  535
206
#define dbat0u  536
206
#define dbat0u  536
207
#define dbat0l  537
207
#define dbat0l  537
208
#define dbat1u  538
208
#define dbat1u  538
209
#define dbat1l  539
209
#define dbat1l  539
210
#define dbat2u  540
210
#define dbat2u  540
211
#define dbat2l  541
211
#define dbat2l  541
212
#define dbat3u  542
212
#define dbat3u  542
213
#define dbat3l  543
213
#define dbat3l  543
214
#define hid0    1008
214
#define hid0    1008
215
 
215
 
216
/* MSR bits */
216
/* MSR bits */
217
#define msr_ir  (1 << 4)
217
#define msr_dr  (1 << 4)
218
#define msr_dr  (1 << 5)
218
#define msr_ir  (1 << 5)
219
#define msr_pr  (1 << 14)
219
#define msr_pr  (1 << 14)
220
#define msr_ee  (1 << 15)
220
#define msr_ee  (1 << 15)
221
 
221
 
222
/* HID0 bits */
222
/* HID0 bits */
223
#define hid0_ice    (1 << 15)
223
#define hid0_ice    (1 << 15)
224
#define hid0_dce    (1 << 14)
224
#define hid0_dce    (1 << 14)
225
#define hid0_icfi   (1 << 11)
225
#define hid0_icfi   (1 << 11)
226
#define hid0_dci    (1 << 10)
226
#define hid0_dci    (1 << 10)
227
 
227
 
228
#endif
228
#endif
229
 
229
 
230
/** @}
230
/** @}
231
 */
231
 */
232
 
232