2003-09-12 Dave Brolley <brolley@redhat.com>
[platform/upstream/binutils.git] / sim / frv / registers.c
1 /* frv simulator support code
2    Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
3    Contributed by Red Hat.
4
5 This file is part of the GNU simulators.
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 2, or (at your option)
10 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 along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
21 #define WANT_CPU
22 #define WANT_CPU_FRVBF
23
24 #include "sim-main.h"
25 #include "bfd.h"
26
27 #define IMPL 1 /* Implemented */
28 #define SUP  1 /* Supervisor register */
29 #define USER 0 /* User register */
30
31 #define RESERVED {0x00000000, 0x00000000, 0x00000000, 0xffffffff, ! IMPL, USER}
32
33 /* SPR definitions for the general FRV architecture.
34    All registers and all features should be enabled.
35    Initial and reset values are taken from the fr500 LSI.  */
36 static FRV_SPR_CONTROL_INFO frv_spr[] =
37 {
38   {0x0000107e, 0x0000007c, 0x000060fd, 0xffff9600,   IMPL,   SUP}, /* PSR */
39   {0x00000000, 0x00000000, 0x00000000, 0x00000003,   IMPL,   SUP}, /* PCSR */
40   {0x00000000, 0x00000000, 0xffffffff, 0x00000003,   IMPL,   SUP}, /* BPCSR */
41   {0x00000000, 0x00000000, 0x00000000, 0x000007ff,   IMPL,   SUP}, /* TBR */
42   {0x00000000, 0x00000000, 0x00000000, 0xffffeffe,   IMPL,   SUP}, /* BPSR */
43
44   /* spr registers 5-15 are reserved */
45   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
46   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
47   RESERVED,
48
49   {0x000003c0, 0x00000000, 0xce400000, 0x313fec38,   IMPL,   SUP}, /* HSR0 */
50   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
51   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
52   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
53   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
54   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
55   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
56   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR7 */
57   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
58   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
59   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
60   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
61   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
62   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
63   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
64   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR15 */
65   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
66   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
67   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
68   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
69   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
70   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
71   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
72   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR23 */
73   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
74   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
75   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
76   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
77   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
78   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
79   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
80   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR31 */
81   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
82   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
83   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
84   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
85   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
86   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
87   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
88   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR39 */
89   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
90   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
91   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
92   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
93   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
94   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
95   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
96   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR47 */
97   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
98   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
99   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
100   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
101   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
102   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
103   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
104   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR55 */
105   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
106   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
107   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
108   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
109   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
110   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
111   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
112   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* HSR63 */
113
114   /* spr registers 80-255 are reserved */
115   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
116   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
117   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
118   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
119   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
120   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
121   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
122   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
123   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
124   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
125   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
126   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
127   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
128   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
129   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
130   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
131   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
132   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
133   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
134   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
135   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
136   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
137   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
138   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
139   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
140   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
141   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
142   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
143   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
144   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
145   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
146   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
147   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
148   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
149   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
150   RESERVED,
151
152   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* CCR */
153
154   /* spr registers 257-262 are reserved */
155   RESERVED, RESERVED, RESERVED,
156   RESERVED, RESERVED, RESERVED,
157
158   {0x00000000, 0x00000000, 0x00000000, 0xffff0000,   IMPL,  USER}, /* CCCR */
159
160   /* spr registers 264-271 are reserved */
161   RESERVED,
162   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
163   RESERVED, RESERVED,
164
165   {0x00000000, 0x00000000, 0x00000000, 0x00000003,   IMPL,  USER}, /* LR */
166   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* LCR */
167
168   /* spr registers 274-287 are reserved */
169   RESERVED,
170   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
171   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
172   RESERVED, RESERVED, RESERVED,
173
174   {0xe0000021, 0x20000000, 0xe0000000, 0xffffffc2,   IMPL,  USER}, /* ISR */
175
176   /* spr registers 289-351 are reserved */
177   RESERVED,
178   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
179   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
180   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
181   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
182   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
183   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
184   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
185   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
186   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
187   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
188   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
189   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
190   RESERVED, RESERVED,
191
192   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NEEAR0 */
193   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
194   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
195   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
196   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
197   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
198   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
199   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NEEAR7 */
200   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
201   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
202   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
203   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
204   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
205   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
206   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
207   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NEEAR15 */
208   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
209   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
210   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
211   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
212   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
213   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
214   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
215   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NEEAR23 */
216   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
217   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
218   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
219   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
220   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
221   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
222   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
223   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NEEAR31 */
224   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NESR0 */
225   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
226   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
227   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
228   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
229   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
230   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
231   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NESR7 */
232   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
233   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
234   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
235   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
236   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
237   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
238   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
239   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NESR15 */
240   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
241   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
242   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
243   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
244   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
245   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
246   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
247   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NESR23 */
248   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
249   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
250   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
251   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
252   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
253   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
254   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER},
255   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,  USER}, /* NESR31 */
256
257   {0x0000007f, 0x0000007f, 0x00000000, 0xffffffff,   IMPL,  USER}, /* NECR */
258
259   /* spr registers 417-431 are reserved */
260   RESERVED, RESERVED, RESERVED,
261   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
262   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
263   RESERVED, RESERVED,
264
265   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* GNER0 */
266   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* GNER1 */
267   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* FNER0 */
268   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* FNER1 */
269
270   /* spr registers 436-511 are reserved */
271   RESERVED, RESERVED, RESERVED, RESERVED,
272   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
273   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
274   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
275   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
276   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
277   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
278   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
279   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
280   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
281   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
282   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
283   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
284   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
285   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
286   RESERVED, RESERVED,
287
288   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR0 */
289   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
290   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
291   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
292   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
293   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
294   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
295   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR7 */
296   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
297   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
298   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
299   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
300   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
301   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
302   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
303   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR15 */
304   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
305   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
306   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
307   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
308   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
309   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
310   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
311   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR23 */
312   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
313   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
314   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
315   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
316   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
317   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
318   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
319   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR31 */
320   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
321   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
322   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
323   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
324   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
325   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
326   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
327   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR39 */
328   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
329   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
330   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
331   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
332   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
333   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
334   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
335   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR47 */
336   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
337   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
338   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
339   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
340   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
341   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
342   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
343   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR55 */
344   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
345   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
346   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
347   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
348   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
349   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
350   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
351   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR63 */
352
353   {0x00000100, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR0 */
354   {0x00000026, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
355   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
356   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
357   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
358   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
359   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
360   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR7 */
361   {0x00000200, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
362   {0x00000200, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
363   {0x00000200, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
364   {0x00000200, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
365   {0x00000200, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
366   {0x00000200, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
367   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
368   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR15 */
369   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
370   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
371   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
372   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
373   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
374   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
375   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
376   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR23 */
377   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
378   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
379   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
380   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
381   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
382   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
383   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
384   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR31 */
385   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
386   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
387   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
388   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
389   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
390   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
391   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
392   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR39 */
393   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
394   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
395   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
396   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
397   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
398   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
399   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
400   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR47 */
401   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
402   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
403   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
404   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
405   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
406   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
407   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
408   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR55 */
409   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
410   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
411   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
412   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
413   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
414   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
415   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
416   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR63 */
417
418   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* EIR0 */
419   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
420   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
421   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
422   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
423   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
424   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
425   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* EIR7 */
426   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
427   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
428   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
429   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
430   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
431   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
432   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
433   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* EIR15 */
434   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
435   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
436   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
437   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
438   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
439   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
440   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
441   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* EIR23 */
442   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
443   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
444   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
445   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
446   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
447   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
448   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP},
449   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* EIR31 */
450
451   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESFR0 */
452   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESFR1 */
453
454   /* spr registers 674-767 are reserved */
455   RESERVED,
456   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
457   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
458   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
459   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
460   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
461   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
462   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
463   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
464   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
465   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
466   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
467   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
468   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
469   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
470   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
471   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
472   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
473   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
474   RESERVED, RESERVED, RESERVED,
475
476   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,   SUP}, /* SR0 */
477   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,   SUP},
478   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,   SUP},
479   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,   SUP}, /* SR3 */
480
481   /* spr registers 772-1023 are reserved */
482   RESERVED, RESERVED, RESERVED,
483   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
484   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
485   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
486   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
487   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
488   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
489   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
490   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
491   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
492   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
493   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
494   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
495   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
496   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
497   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
498   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
499   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
500   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
501   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
502   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
503   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
504   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
505   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
506   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
507   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
508   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
509   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
510   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
511   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
512   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
513   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
514   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
515   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
516   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
517   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
518   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
519   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
520   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
521   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
522   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
523   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
524   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
525   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
526   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
527   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
528   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
529   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
530   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
531   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
532   RESERVED, RESERVED, RESERVED, RESERVED,
533
534   {0x00800000, 0x00000000, 0x00000000, 0xc0f103ff,   IMPL,  USER}, /* FSR0 */
535   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
536   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
537   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
538   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
539   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
540   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
541   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR7 */
542   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
543   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
544   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
545   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
546   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
547   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
548   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
549   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR15 */
550   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
551   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
552   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
553   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
554   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
555   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
556   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
557   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR23 */
558   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
559   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
560   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
561   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
562   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
563   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
564   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
565   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR31 */
566   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
567   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
568   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
569   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
570   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
571   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
572   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
573   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR39 */
574   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
575   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
576   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
577   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
578   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
579   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
580   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
581   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR47 */
582   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
583   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
584   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
585   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
586   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
587   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
588   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
589   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR55 */
590   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
591   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
592   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
593   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
594   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
595   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
596   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
597   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* FSR63 */
598
599   /* Each FQ register is a pair of 32 bit registers.  */
600   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ0 */
601   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
602   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
603   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
604   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
605   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
606   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
607   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
608   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
609   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
610   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
611   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
612   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
613   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
614   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ7 */
615   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
616   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
617   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
618   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
619   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
620   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
621   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
622   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
623   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
624   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
625   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
626   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
627   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
628   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
629   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
630   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ15 */
631   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
632   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
633   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
634   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
635   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
636   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
637   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
638   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
639   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
640   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
641   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
642   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
643   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
644   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
645   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
646   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ23 */
647   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
648   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
649   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
650   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
651   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
652   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
653   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
654   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
655   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
656   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
657   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
658   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
659   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
660   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
661   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
662   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ31 */
663   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
664
665   /* spr registers 1152-1271 are reserved */
666   RESERVED, RESERVED, RESERVED,
667   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
668   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
669   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
670   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
671   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
672   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
673   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
674   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
675   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
676   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
677   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
678   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
679   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
680   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
681   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
682   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
683   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
684   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
685   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
686   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
687   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
688   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
689   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
690   RESERVED, RESERVED,
691
692   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* MCILR0 */
693   {0x00000000, 0x00000000, 0xffffffff, 0x00000000,   IMPL,   SUP}, /* MCILR1 */
694
695   /* spr registers 1274-1279 are reserved */
696   RESERVED,
697   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
698
699   {0x00000000, 0x00000000, 0x01e00000, 0x3fff8fc0,   IMPL,  USER}, /* MSR0 */
700   {0x00000000, 0x00000000, 0x00000000, 0xffffffc1,   IMPL,  USER},
701   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
702   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
703   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
704   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
705   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
706   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR7 */
707   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
708   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
709   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
710   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
711   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
712   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
713   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
714   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR15 */
715   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
716   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
717   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
718   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
719   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
720   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
721   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
722   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR23 */
723   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
724   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
725   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
726   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
727   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
728   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
729   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
730   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR31 */
731   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
732   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
733   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
734   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
735   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
736   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
737   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
738   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR39 */
739   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
740   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
741   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
742   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
743   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
744   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
745   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
746   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR47 */
747   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
748   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
749   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
750   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
751   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
752   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
753   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
754   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR55 */
755   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
756   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
757   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
758   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
759   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
760   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
761   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
762   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* MSR63 */
763
764   /* Each MQ register is a pair of 32 bit registers.  */
765   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* MQ0 */
766   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
767   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
768   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
769   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
770   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
771   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
772   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
773   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
774   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
775   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
776   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
777   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
778   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
779   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* MQ7 */
780   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
781   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
782   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
783   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
784   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
785   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
786   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
787   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
788   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
789   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
790   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
791   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
792   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
793   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
794   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
795   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* MQ15 */
796   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
797   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
798   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
799   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
800   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
801   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
802   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
803   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
804   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
805   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
806   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
807   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
808   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
809   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
810   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
811   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* MQ23 */
812   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
813   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
814   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
815   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
816   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
817   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
818   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
819   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
820   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
821   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
822   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
823   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
824   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
825   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
826   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
827   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* MQ31 */
828   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
829
830   /* Accumulators are read-only by the user except for special
831      insns and side effect of other insns.  */
832   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC0 */
833   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
834   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
835   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
836   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
837   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
838   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
839   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC7 */
840   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
841   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
842   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
843   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
844   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
845   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
846   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
847   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC15 */
848   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
849   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
850   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
851   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
852   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
853   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
854   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
855   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC23 */
856   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
857   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
858   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
859   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
860   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
861   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
862   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
863   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC31 */
864   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
865   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
866   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
867   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
868   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
869   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
870   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
871   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC39 */
872   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
873   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
874   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
875   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
876   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
877   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
878   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
879   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC47 */
880   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
881   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
882   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
883   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
884   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
885   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
886   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
887   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC55 */
888   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
889   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
890   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
891   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
892   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
893   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
894   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
895   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC63 */
896
897   /* Accumulator guards are read-only by the user except for special
898      insns and side effect of other insns.  */
899   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG0 */
900   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
901   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
902   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
903   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
904   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
905   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
906   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG7 */
907   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
908   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
909   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
910   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
911   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
912   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
913   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
914   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG15 */
915   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
916   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
917   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
918   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
919   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
920   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
921   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
922   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG23 */
923   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
924   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
925   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
926   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
927   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
928   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
929   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
930   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG31 */
931   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
932   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
933   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
934   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
935   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
936   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
937   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
938   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG39 */
939   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
940   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
941   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
942   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
943   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
944   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
945   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
946   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG47 */
947   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
948   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
949   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
950   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
951   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
952   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
953   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
954   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG55 */
955   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
956   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
957   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
958   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
959   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
960   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
961   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
962   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG63 */
963
964   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR0 */
965   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
966   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
967   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
968   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
969   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
970   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
971   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR7 */
972   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
973   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
974   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
975   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
976   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
977   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
978   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
979   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR15 */
980   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
981   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
982   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
983   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
984   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
985   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
986   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
987   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR23 */
988   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
989   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
990   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
991   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
992   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
993   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
994   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
995   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR31 */
996   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
997   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
998   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
999   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1000   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1001   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1002   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1003   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR39 */
1004   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1005   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1006   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1007   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1008   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1009   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1010   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1011   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR47 */
1012   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1013   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1014   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1015   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1016   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1017   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1018   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1019   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR55 */
1020   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1021   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1022   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1023   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1024   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1025   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1026   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1027   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR63 */
1028
1029   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR0 */
1030   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1031   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1032   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1033   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1034   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1035   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1036   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR7 */
1037   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1038   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1039   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1040   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1041   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1042   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1043   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1044   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR15 */
1045   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1046   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1047   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1048   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1049   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1050   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1051   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1052   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR23 */
1053   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1054   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1055   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1056   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1057   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1058   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1059   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1060   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR31 */
1061   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1062   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1063   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1064   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1065   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1066   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1067   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1068   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR39 */
1069   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1070   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1071   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1072   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1073   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1074   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1075   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1076   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR47 */
1077   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1078   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1079   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1080   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1081   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1082   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1083   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1084   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR55 */
1085   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1086   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1087   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1088   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1089   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1090   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1091   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1092   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR63 */
1093
1094   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* IAMLR0 */
1095   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1096   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1097   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1098   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1099   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1100   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1101   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* IAMLR7 */
1102   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1103   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1104   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1105   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1106   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1107   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1108   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1109   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR15 */
1110   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1111   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1112   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1113   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1114   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1115   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1116   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1117   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR23 */
1118   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1119   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1120   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1121   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1122   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1123   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1124   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1125   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR31 */
1126   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1127   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1128   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1129   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1130   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1131   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1132   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1133   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR39 */
1134   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1135   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1136   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1137   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1138   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1139   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1140   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1141   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR47 */
1142   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1143   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1144   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1145   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1146   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1147   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1148   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1149   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR55 */
1150   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1151   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1152   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1153   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1154   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1155   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1156   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1157   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMLR63 */
1158
1159   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP}, /* IAMPR0 */
1160   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
1161   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
1162   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
1163   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
1164   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
1165   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
1166   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP}, /* IAMPR7 */
1167   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1168   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1169   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1170   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1171   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1172   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1173   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1174   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR15 */
1175   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1176   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1177   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1178   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1179   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1180   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1181   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1182   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR23 */
1183   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1184   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1185   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1186   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1187   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1188   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1189   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1190   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR31 */
1191   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1192   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1193   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1194   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1195   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1196   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1197   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1198   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR39 */
1199   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1200   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1201   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1202   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1203   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1204   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1205   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1206   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR47 */
1207   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1208   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1209   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1210   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1211   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1212   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1213   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1214   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR55 */
1215   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1216   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1217   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1218   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1219   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1220   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1221   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1222   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IAMPR63 */
1223
1224   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* DAMLR0 */
1225   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1226   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1227   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1228   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1229   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1230   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
1231   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* DAMLR7 */
1232   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1233   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1234   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1235   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1236   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1237   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1238   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1239   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR15 */
1240   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1241   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1242   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1243   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1244   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1245   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1246   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1247   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR23 */
1248   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1249   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1250   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1251   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1252   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1253   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1254   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1255   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR31 */
1256   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1257   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1258   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1259   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1260   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1261   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1262   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1263   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR39 */
1264   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1265   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1266   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1267   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1268   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1269   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1270   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1271   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR47 */
1272   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1273   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1274   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1275   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1276   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1277   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1278   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1279   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR55 */
1280   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1281   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1282   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1283   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1284   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1285   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1286   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1287   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMLR63 */
1288
1289   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP}, /* DAMPR0 */
1290   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
1291   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
1292   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
1293   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
1294   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
1295   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
1296   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP}, /* DAMPR7 */
1297   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1298   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1299   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1300   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1301   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1302   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1303   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1304   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR15 */
1305   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1306   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1307   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1308   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1309   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1310   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1311   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1312   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR23 */
1313   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1314   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1315   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1316   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1317   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1318   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1319   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1320   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR31 */
1321   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1322   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1323   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1324   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1325   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1326   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1327   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1328   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR39 */
1329   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1330   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1331   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1332   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1333   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1334   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1335   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1336   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR47 */
1337   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1338   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1339   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1340   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1341   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1342   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1343   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1344   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR55 */
1345   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1346   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1347   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1348   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1349   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1350   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1351   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1352   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DAMPR63 */
1353
1354   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* AMCR  */
1355   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* STBAR */
1356   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* MMCR */
1357
1358   /* spr registers 1923-2047 are reserved */
1359   RESERVED, RESERVED,
1360   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1361   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1362   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1363   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1364   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1365   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1366   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1367   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1368   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1369   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1370   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1371   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1372   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1373   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1374   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1375   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1376   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1377   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1378   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1379   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1380   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1381   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1382   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1383   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1384   RESERVED, RESERVED, RESERVED,
1385
1386   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DCR */
1387   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* BRR */
1388   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* NMAR */
1389
1390   RESERVED, /* spr register 2051 */
1391
1392   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IBAR0 */
1393   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1394   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1395   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IBAR3 */
1396   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBAR0 */
1397   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1398   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1399   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBAR3 */
1400   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR00 */
1401   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1402   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1403   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR03 */
1404   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR10 */
1405   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1406   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1407   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR13 */
1408   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR20 */
1409   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1410   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1411   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR23 */
1412   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR30 */
1413   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1414   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1415   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR33 */
1416   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR00 */
1417   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1418   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1419   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR03 */
1420   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR10 */
1421   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1422   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1423   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR13 */
1424   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR20 */
1425   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1426   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1427   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR23 */
1428   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR30 */
1429   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1430   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
1431   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR33 */
1432   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* CPCFR */
1433   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* CPCR */
1434   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* CPSR */
1435
1436   RESERVED, /* spr register 2095 */
1437
1438   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* CPESR0 */
1439   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* CPESR1 */
1440   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* CPEMR0 */
1441   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* CPEMR1 */
1442
1443   /* spr registers 2100-2199 are reserved */
1444   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1445   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1446   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1447   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1448   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1449   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1450   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1451   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1452   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1453   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1454   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1455   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1456   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1457   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1458   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1459   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1460   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1461   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1462   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1463   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1464
1465   /* spr registers 2200-2299 are reserved */
1466   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1467   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1468   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1469   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1470   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1471   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1472   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1473   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1474   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1475   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1476   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1477   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1478   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1479   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1480   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1481   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1482   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1483   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1484   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1485   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1486
1487   /* spr registers 2300-2399 are reserved */
1488   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1489   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1490   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1491   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1492   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1493   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1494   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1495   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1496   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1497   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1498   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1499   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1500   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1501   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1502   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1503   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1504   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1505   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1506   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1507   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1508
1509   /* spr registers 2400-2499 are reserved */
1510   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1511   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1512   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1513   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1514   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1515   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1516   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1517   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1518   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1519   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1520   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1521   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1522   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1523   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1524   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1525   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1526   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1527   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1528   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1529   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1530
1531   /* spr registers 2500-2599 are reserved */
1532   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1533   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1534   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1535   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1536   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1537   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1538   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1539   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1540   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1541   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1542   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1543   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1544   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1545   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1546   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1547   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1548   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1549   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1550   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1551   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1552
1553   /* spr registers 2600-2699 are reserved */
1554   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1555   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1556   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1557   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1558   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1559   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1560   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1561   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1562   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1563   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1564   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1565   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1566   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1567   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1568   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1569   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1570   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1571   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1572   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1573   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1574
1575   /* spr registers 2700-2799 are reserved */
1576   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1577   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1578   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1579   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1580   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1581   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1582   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1583   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1584   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1585   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1586   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1587   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1588   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1589   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1590   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1591   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1592   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1593   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1594   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1595   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1596
1597   /* spr registers 2800-2899 are reserved */
1598   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1599   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1600   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1601   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1602   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1603   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1604   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1605   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1606   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1607   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1608   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1609   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1610   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1611   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1612   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1613   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1614   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1615   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1616   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1617   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1618
1619   /* spr registers 2900-2999 are reserved */
1620   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1621   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1622   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1623   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1624   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1625   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1626   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1627   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1628   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1629   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1630   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1631   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1632   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1633   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1634   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1635   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1636   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1637   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1638   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1639   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1640
1641   /* spr registers 3000-3099 are reserved */
1642   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1643   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1644   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1645   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1646   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1647   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1648   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1649   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1650   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1651   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1652   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1653   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1654   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1655   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1656   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1657   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1658   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1659   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1660   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1661   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1662
1663   /* spr registers 3100-3199 are reserved */
1664   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1665   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1666   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1667   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1668   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1669   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1670   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1671   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1672   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1673   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1674   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1675   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1676   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1677   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1678   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1679   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1680   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1681   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1682   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1683   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1684
1685   /* spr registers 3200-3299 are reserved */
1686   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1687   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1688   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1689   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1690   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1691   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1692   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1693   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1694   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1695   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1696   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1697   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1698   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1699   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1700   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1701   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1702   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1703   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1704   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1705   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1706
1707   /* spr registers 3300-3399 are reserved */
1708   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1709   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1710   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1711   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1712   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1713   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1714   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1715   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1716   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1717   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1718   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1719   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1720   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1721   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1722   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1723   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1724   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1725   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1726   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1727   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1728
1729   /* spr registers 3400-3499 are reserved */
1730   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1731   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1732   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1733   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1734   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1735   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1736   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1737   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1738   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1739   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1740   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1741   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1742   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1743   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1744   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1745   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1746   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1747   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1748   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1749   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1750
1751   /* spr registers 3500-3599 are reserved */
1752   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1753   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1754   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1755   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1756   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1757   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1758   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1759   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1760   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1761   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1762   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1763   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1764   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1765   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1766   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1767   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1768   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1769   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1770   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1771   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1772
1773   /* spr registers 3600-3699 are reserved */
1774   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1775   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1776   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1777   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1778   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1779   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1780   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1781   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1782   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1783   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1784   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1785   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1786   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1787   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1788   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1789   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1790   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1791   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1792   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1793   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1794
1795   /* spr registers 3700-3799 are reserved */
1796   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1797   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1798   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1799   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1800   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1801   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1802   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1803   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1804   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1805   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1806   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1807   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1808   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1809   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1810   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1811   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1812   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1813   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1814   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1815   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1816
1817   /* spr registers 3800-3847 are reserved */
1818   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1819   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1820   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1821   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1822   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1823   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1824   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1825   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1826   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1827   RESERVED, RESERVED, RESERVED,
1828
1829   {0x00000000, 0x00000000, 0xffffffff, 0xfffffffe,   IMPL,   SUP}, /* IHSR8 */
1830
1831   /* spr registers 3849-4095 are reserved */
1832   RESERVED,
1833   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1834   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1835   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1836   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1837   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1838   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1839   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1840   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1841   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1842   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1843   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1844   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1845   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1846   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1847   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1848   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1849   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1850   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1851   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1852   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1853   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1854   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1855   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1856   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1857   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1858   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1859   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1860   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1861   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1862   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1863   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1864   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1865   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1866   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1867   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1868   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1869   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1870   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1871   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1872   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1873   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1874   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1875   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1876   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1877   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1878   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1879   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1880   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1881   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1882   RESERVED
1883 };
1884
1885 /* SPR definitions for the fr500 machine.
1886    See the FR500 LSI for implementation details.  */
1887 static FRV_SPR_CONTROL_INFO fr500_spr[] =
1888 {
1889   {0x1000107e, 0x1000107c, 0xff0071fd, 0xffff9e00,   IMPL,   SUP}, /* PSR */
1890   {0x00000000, 0x00000000, 0x00000003, 0x00000003,   IMPL,   SUP}, /* PCSR */
1891   {0x00000000, 0x00000000, 0xffffffff, 0x00000003,   IMPL,   SUP}, /* BPCSR */
1892   {0x00000000, 0x00000000, 0x0000000f, 0x000007ff,   IMPL,   SUP}, /* TBR */
1893   {0x00000000, 0x00000000, 0x00000000, 0xffffeffe,   IMPL,   SUP}, /* BPSR */
1894
1895   /* spr registers 5-15 are reserved */
1896   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1897   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1898   RESERVED,
1899
1900   {0x000003c0, 0x00000000, 0xce000c00, 0x313fec38,   IMPL,   SUP}, /* HSR0 */
1901
1902   /* HSR1-63 are unimplemented on the fr500.  */
1903   RESERVED, RESERVED, RESERVED, RESERVED,
1904   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1905   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1906   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1907   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1908   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1909   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1910   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1911   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1912   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1913   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1914   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1915   RESERVED, RESERVED, RESERVED, RESERVED,
1916
1917   /* spr registers 80-255 are reserved */
1918   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1919   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1920   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1921   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1922   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1923   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1924   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1925   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1926   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1927   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1928   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1929   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1930   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1931   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1932   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1933   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1934   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1935   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1936   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1937   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1938   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1939   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1940   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1941   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1942   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1943   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1944   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1945   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1946   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1947   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1948   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1949   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1950   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1951   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1952   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1953   RESERVED,
1954
1955   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* CCR */
1956
1957   /* spr registers 257-262 are reserved */
1958   RESERVED, RESERVED, RESERVED,
1959   RESERVED, RESERVED, RESERVED,
1960
1961   {0x00000000, 0x00000000, 0x00000000, 0xffff0000,   IMPL,  USER}, /* CCCR */
1962
1963   /* spr registers 264-271 are reserved */
1964   RESERVED,
1965   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1966   RESERVED, RESERVED,
1967
1968   {0x00000000, 0x00000000, 0x00000003, 0x00000003,   IMPL,  USER}, /* LR */
1969   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* LCR */
1970
1971   /* spr registers 274-287 are reserved */
1972   RESERVED,
1973   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1974   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1975   RESERVED, RESERVED, RESERVED,
1976
1977   {0x20000021, 0x20000000, 0xa0000000, 0xffffffc2,   IMPL,  USER}, /* ISR */
1978
1979   /* spr registers 289-351 are reserved */
1980   RESERVED,
1981   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1982   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1983   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1984   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1985   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1986   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1987   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1988   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1989   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1990   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1991   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1992   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1993   RESERVED, RESERVED,
1994
1995   /* NEEAR0-31 are unimplemented on the fr500.  */
1996   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1997   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1998   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
1999   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2000   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2001   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2002   RESERVED, RESERVED,
2003
2004   /* NESR0-31 are unimplemented on the fr500.  */
2005   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2006   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2007   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2008   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2009   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2010   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2011   RESERVED, RESERVED,
2012
2013   /* NECR is unimplemented on the fr500.  */
2014   RESERVED,
2015
2016   /* spr registers 417-431 are reserved */
2017   RESERVED, RESERVED, RESERVED,
2018   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2019   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2020   RESERVED, RESERVED,
2021
2022   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* GNER0 */
2023   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* GNER1 */
2024   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* FNER0 */
2025   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* FNER1 */
2026
2027   /* spr registers 436-511 are reserved */
2028   RESERVED, RESERVED, RESERVED, RESERVED,
2029   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2030   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2031   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2032   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2033   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2034   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2035   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2036   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2037   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2038   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2039   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2040   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2041   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2042   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2043   RESERVED, RESERVED,
2044
2045   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR0 */
2046   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2047
2048   /* EPCR2-7 are unimplemented on the fr500.  */
2049   RESERVED, RESERVED, RESERVED,
2050   RESERVED, RESERVED, RESERVED,
2051
2052   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR8 */
2053   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2054   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2055   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2056   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2057   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR13 */
2058   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2059   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2060
2061   /* EPCR16-63 are unimplemented on the fr500.  */
2062   RESERVED, RESERVED, RESERVED, RESERVED,
2063   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2064   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2065   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2066   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2067   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2068   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2069   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2070   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2071   RESERVED, RESERVED, RESERVED, RESERVED,
2072
2073   {0x00000100, 0x00000100, 0x00000100, 0xffffffff,   IMPL,   SUP}, /* ESR0 */
2074   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2075
2076   /* ESR2-7 are unimplemented on the fr500.  */
2077   RESERVED, RESERVED, RESERVED,
2078   RESERVED, RESERVED, RESERVED,
2079
2080   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR8 */
2081   {0x00000800, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2082   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2083   {0x00000800, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2084   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2085   {0x00000800, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR13 */
2086   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2087   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2088
2089   /* ESR16-63 are unimplemented on the fr500.  */
2090   RESERVED, RESERVED, RESERVED, RESERVED,
2091   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2092   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2093   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2094   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2095   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2096   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2097   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2098   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2099   RESERVED, RESERVED, RESERVED, RESERVED,
2100
2101   /* EIR0-31 are unimplemented on the fr500.  */
2102   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2103   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2104   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2105   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2106   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2107   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2108   RESERVED, RESERVED,
2109
2110   /* ESFR0 is unimplemented on the fr500.  */
2111   RESERVED,
2112   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESFR1 */
2113
2114   /* spr registers 674-767 are reserved */
2115   RESERVED,
2116   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2117   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2118   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2119   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2120   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2121   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2122   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2123   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2124   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2125   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2126   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2127   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2128   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2129   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2130   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2131   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2132   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2133   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2134   RESERVED, RESERVED, RESERVED,
2135
2136   /* SR0-SR3 are unimplemented on the fr500.  */
2137   RESERVED, RESERVED, RESERVED, RESERVED,
2138
2139   /* spr registers 772-1023 are reserved */
2140   RESERVED, RESERVED, RESERVED,
2141   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2142   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2143   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2144   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2145   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2146   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2147   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2148   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2149   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2150   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2151   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2152   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2153   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2154   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2155   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2156   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2157   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2158   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2159   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2160   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2161   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2162   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2163   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2164   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2165   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2166   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2167   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2168   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2169   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2170   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2171   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2172   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2173   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2174   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2175   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2176   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2177   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2178   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2179   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2180   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2181   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2182   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2183   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2184   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2185   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2186   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2187   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2188   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2189   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2190   RESERVED, RESERVED, RESERVED, RESERVED,
2191
2192   {0x00800000, 0x00800000, 0x00800000, 0xc0f103ff,   IMPL,  USER}, /* FSR0 */
2193
2194   /* FSR1-63 are unimplemented on the fr500.  */
2195   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2196   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2197   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2198   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2199   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2200   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2201   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2202   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2203   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2204   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2205   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2206   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2207   RESERVED, RESERVED, RESERVED,
2208
2209   /* Each FQ register is a pair of 32 bit registers.  */
2210   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ0 */
2211   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2212   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2213   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2214   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2215   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2216   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2217   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2218   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2219   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2220   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2221   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2222   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2223   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2224   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* FQ7 */
2225   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2226   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2227   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2228   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2229   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP},
2230
2231   /* FQ10-31 are unimplemented on the fr500.  */
2232   /* Each FQ register is a pair of 32 bit registers.  */
2233   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2234   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2235   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2236   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2237   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2238   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2239   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2240   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2241   RESERVED, RESERVED, RESERVED, RESERVED,
2242
2243   /* spr registers 1152-1271 are reserved */
2244   RESERVED, RESERVED, RESERVED,
2245   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2246   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2247   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2248   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2249   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2250   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2251   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2252   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2253   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2254   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2255   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2256   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2257   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2258   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2259   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2260   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2261   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2262   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2263   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2264   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2265   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2266   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2267   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2268   RESERVED, RESERVED,
2269
2270   /* MCILR0-1 are unimplemented on the fr500.  */
2271   RESERVED, RESERVED,
2272
2273   /* spr registers 1274-1279 are reserved */
2274   RESERVED,
2275   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2276
2277   {0x00000000, 0x00000000, 0x01e00000, 0x3fff8fc0,   IMPL,  USER}, /* MSR0 */
2278   {0x00000000, 0x00000000, 0x00000000, 0xffffffc1,   IMPL,  USER},
2279
2280   /* MSR2-63 are unimplemented on the fr500.  */
2281   RESERVED, RESERVED, RESERVED,
2282   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2283   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2284   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2285   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2286   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2287   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2288   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2289   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2290   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2291   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2292   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2293   RESERVED, RESERVED, RESERVED, RESERVED,
2294
2295   /* MQ0-31 are unimplemented on the fr500.  */
2296   /* Each MQ register is a pair of 32 bit registers.  */
2297   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2298   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2299   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2300   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2301   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2302   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2303   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2304   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2305   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2306   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2307   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2308   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2309   RESERVED, RESERVED, RESERVED, RESERVED,
2310
2311   /* Accumulators are read-only by the user except for special
2312      insns and side effect of other insns.  */
2313   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC0 */
2314   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2315   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2316   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2317   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2318   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2319   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2320   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC7 */
2321
2322   /* ACC8-63 are unimplemented on the fr500.  */
2323   RESERVED, RESERVED,
2324   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2325   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2326   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2327   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2328   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2329   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2330   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2331   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2332   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2333   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2334   RESERVED, RESERVED, RESERVED, RESERVED,
2335
2336   /* Accumulator guards are read-only by the user except for special
2337      insns and side effect of other insns.  */
2338   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG0 */
2339   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2340   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2341   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2342   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2343   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2344   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
2345   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG7 */
2346
2347   /* ACCG8-63 are unimplemented on the fr500.  */
2348   RESERVED, RESERVED,
2349   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2350   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2351   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2352   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2353   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2354   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2355   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2356   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2357   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2358   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2359   RESERVED, RESERVED, RESERVED, RESERVED,
2360
2361   /* EAR0-7 are unimplemented on the fr500.  */
2362   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2363   RESERVED, RESERVED, RESERVED,
2364
2365   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR8 */
2366   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2367   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2368   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2369   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2370   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR13 */
2371
2372   /* EAR14-63 are unimplemented on the fr500.  */
2373   RESERVED,
2374   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2375   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2376   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2377   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2378   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2379   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2380   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2381   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2382   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2383   RESERVED, RESERVED, RESERVED, RESERVED,
2384
2385   /* EDR0-1 are unimplemented on the fr500.  */
2386   RESERVED, RESERVED,
2387
2388   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR2 */
2389   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2390
2391   /* EDR4-5 are unimplemented on the fr500.  */
2392   RESERVED, RESERVED,
2393
2394   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR6 */
2395   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2396
2397   /* EDR8-9 are unimplemented on the fr500.  */
2398   RESERVED, RESERVED,
2399
2400   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EDR10 */
2401   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2402
2403   /* EDR12-63 are unimplemented on the fr500.  */
2404   RESERVED, RESERVED, RESERVED,
2405   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2406   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2407   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2408   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2409   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2410   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2411   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2412   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2413   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2414   RESERVED, RESERVED, RESERVED, RESERVED,
2415
2416   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* IAMLR0 */
2417   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2418   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2419   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2420   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2421   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2422   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2423   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* IAMLR7 */
2424
2425   /* IAMLR08-63 are unimplemented on the fr500.  */
2426   RESERVED, RESERVED,
2427   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2428   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2429   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2430   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2431   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2432   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2433   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2434   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2435   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2436   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2437   RESERVED, RESERVED, RESERVED, RESERVED,
2438
2439   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP}, /* IAMPR0 */
2440   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2441   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2442   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2443   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2444   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2445   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2446   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP}, /* IAMPR7 */
2447
2448   /* IAMPR08-63 are unimplemented on the fr500.  */
2449   RESERVED, RESERVED,
2450   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2451   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2452   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2453   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2454   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2455   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2456   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2457   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2458   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2459   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2460   RESERVED, RESERVED, RESERVED, RESERVED,
2461
2462   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* DAMLR0 */
2463   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2464   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2465   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2466   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2467   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2468   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP},
2469   {0x00000000, 0x00000000, 0x00000000, 0x000fffff,   IMPL,   SUP}, /* DAMLR7 */
2470
2471   /* DAMLR08-63 are unimplemented on the fr500.  */
2472   RESERVED, RESERVED,
2473   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2474   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2475   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2476   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2477   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2478   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2479   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2480   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2481   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2482   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2483   RESERVED, RESERVED, RESERVED, RESERVED,
2484
2485   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP}, /* DAMPR0 */
2486   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2487   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2488   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2489   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2490   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2491   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP},
2492   {0x00000000, 0x00000000, 0x00000000, 0x000fff00,   IMPL,   SUP}, /* DAMPR7 */
2493
2494   /* DAMPR08-63 are unimplemented on the fr500.  */
2495   RESERVED, RESERVED,
2496   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2497   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2498   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2499   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2500   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2501   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2502   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2503   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2504   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2505   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2506   RESERVED, RESERVED, RESERVED, RESERVED,
2507
2508   {0x00000808, 0x00000808, 0x0000ffff, 0xffffffff,   IMPL,   SUP}, /* AMCR  */
2509
2510   /* STBAR, MMCR not implemented on the fr500.  */
2511   RESERVED, RESERVED,
2512
2513   /* spr registers 1923-2047 are reserved */
2514   RESERVED, RESERVED,
2515   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2516   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2517   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2518   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2519   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2520   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2521   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2522   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2523   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2524   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2525   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2526   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2527   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2528   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2529   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2530   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2531   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2532   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2533   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2534   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2535   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2536   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2537   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2538   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2539   RESERVED, RESERVED, RESERVED,
2540
2541   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DCR */
2542   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* BRR */
2543   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* NMAR */
2544
2545   RESERVED, /* spr register 2051 */
2546
2547   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IBAR0 */
2548   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2549   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2550   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IBAR3 */
2551
2552   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBAR0 */
2553   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2554   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2555   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBAR3 */
2556
2557   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR00 */
2558   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2559
2560   /* DBDR02-03 are unimplemented on the fr500.  */
2561   RESERVED, RESERVED,
2562
2563   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR10 */
2564   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2565
2566   /* DBDR12-13 are unimplemented on the fr500.  */
2567   RESERVED, RESERVED,
2568
2569   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR20 */
2570   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2571
2572   /* DBDR22-23 are unimplemented on the fr500.  */
2573   RESERVED, RESERVED,
2574
2575   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR30 */
2576   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2577
2578   /* DBDR32-33 are unimplemented on the fr500.  */
2579   RESERVED, RESERVED,
2580
2581   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR00 */
2582   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2583
2584   /* DBMR02-03 are unimplemented on the fr500.  */
2585   RESERVED, RESERVED,
2586
2587   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR10 */
2588   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2589
2590   /* DBMR12-13 are unimplemented on the fr500.  */
2591   RESERVED, RESERVED,
2592
2593   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR20 */
2594   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2595
2596   /* DBMR22-23 are unimplemented on the fr500.  */
2597   RESERVED, RESERVED,
2598
2599   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR30 */
2600   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
2601
2602   /* DBMR32-33 are unimplemented on the fr500.  */
2603   RESERVED, RESERVED,
2604
2605   /* CPCFR, CPCR and CPSR are unimplemented on the fr500.  */
2606   RESERVED, RESERVED, RESERVED,
2607
2608   RESERVED, /* spr register 2095 */
2609
2610   /* CPESR0-1 are unimplemented on the fr500.  */
2611   RESERVED, RESERVED,
2612
2613   /* CPEMR0-1 are unimplemented on the fr500.  */
2614   RESERVED, RESERVED,
2615
2616   /* spr registers 2100-2199 are reserved */
2617   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2618   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2619   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2620   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2621   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2622   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2623   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2624   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2625   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2626   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2627   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2628   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2629   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2630   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2631   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2632   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2633   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2634   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2635   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2636   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2637
2638   /* spr registers 2200-2299 are reserved */
2639   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2640   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2641   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2642   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2643   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2644   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2645   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2646   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2647   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2648   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2649   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2650   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2651   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2652   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2653   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2654   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2655   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2656   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2657   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2658   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2659
2660   /* spr registers 2300-2399 are reserved */
2661   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2662   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2663   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2664   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2665   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2666   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2667   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2668   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2669   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2670   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2671   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2672   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2673   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2674   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2675   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2676   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2677   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2678   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2679   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2680   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2681
2682   /* spr registers 2400-2499 are reserved */
2683   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2684   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2685   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2686   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2687   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2688   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2689   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2690   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2691   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2692   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2693   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2694   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2695   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2696   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2697   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2698   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2699   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2700   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2701   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2702   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2703
2704   /* spr registers 2500-2599 are reserved */
2705   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2706   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2707   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2708   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2709   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2710   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2711   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2712   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2713   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2714   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2715   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2716   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2717   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2718   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2719   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2720   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2721   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2722   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2723   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2724   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2725
2726   /* spr registers 2600-2699 are reserved */
2727   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2728   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2729   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2730   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2731   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2732   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2733   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2734   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2735   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2736   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2737   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2738   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2739   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2740   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2741   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2742   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2743   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2744   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2745   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2746   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2747
2748   /* spr registers 2700-2799 are reserved */
2749   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2750   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2751   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2752   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2753   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2754   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2755   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2756   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2757   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2758   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2759   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2760   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2761   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2762   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2763   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2764   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2765   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2766   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2767   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2768   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2769
2770   /* spr registers 2800-2899 are reserved */
2771   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2772   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2773   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2774   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2775   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2776   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2777   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2778   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2779   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2780   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2781   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2782   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2783   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2784   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2785   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2786   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2787   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2788   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2789   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2790   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2791
2792   /* spr registers 2900-2999 are reserved */
2793   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2794   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2795   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2796   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2797   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2798   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2799   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2800   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2801   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2802   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2803   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2804   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2805   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2806   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2807   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2808   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2809   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2810   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2811   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2812   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2813
2814   /* spr registers 3000-3099 are reserved */
2815   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2816   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2817   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2818   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2819   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2820   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2821   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2822   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2823   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2824   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2825   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2826   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2827   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2828   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2829   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2830   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2831   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2832   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2833   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2834   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2835
2836   /* spr registers 3100-3199 are reserved */
2837   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2838   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2839   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2840   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2841   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2842   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2843   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2844   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2845   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2846   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2847   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2848   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2849   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2850   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2851   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2852   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2853   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2854   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2855   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2856   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2857
2858   /* spr registers 3200-3299 are reserved */
2859   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2860   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2861   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2862   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2863   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2864   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2865   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2866   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2867   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2868   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2869   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2870   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2871   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2872   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2873   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2874   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2875   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2876   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2877   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2878   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2879
2880   /* spr registers 3300-3399 are reserved */
2881   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2882   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2883   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2884   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2885   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2886   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2887   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2888   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2889   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2890   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2891   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2892   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2893   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2894   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2895   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2896   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2897   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2898   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2899   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2900   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2901
2902   /* spr registers 3400-3499 are reserved */
2903   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2904   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2905   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2906   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2907   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2908   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2909   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2910   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2911   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2912   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2913   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2914   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2915   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2916   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2917   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2918   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2919   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2920   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2921   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2922   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2923
2924   /* spr registers 3500-3599 are reserved */
2925   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2926   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2927   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2928   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2929   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2930   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2931   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2932   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2933   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2934   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2935   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2936   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2937   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2938   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2939   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2940   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2941   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2942   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2943   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2944   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2945
2946   /* spr registers 3600-3699 are reserved */
2947   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2948   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2949   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2950   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2951   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2952   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2953   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2954   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2955   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2956   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2957   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2958   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2959   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2960   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2961   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2962   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2963   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2964   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2965   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2966   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2967
2968   /* spr registers 3700-3799 are reserved */
2969   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2970   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2971   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2972   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2973   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2974   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2975   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2976   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2977   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2978   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2979   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2980   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2981   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2982   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2983   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2984   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2985   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2986   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2987   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2988   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2989
2990   /* spr registers 3800-3847 are reserved */
2991   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2992   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2993   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2994   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2995   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2996   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2997   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2998   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
2999   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3000   RESERVED, RESERVED, RESERVED,
3001
3002   {0x00000000, 0x00000000, 0x00000000, 0xfffffffe,   IMPL,   SUP}, /* IHSR8 */
3003
3004   /* spr registers 3849-4095 are reserved */
3005   RESERVED,
3006   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3007   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3008   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3009   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3010   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3011   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3012   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3013   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3014   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3015   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3016   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3017   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3018   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3019   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3020   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3021   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3022   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3023   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3024   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3025   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3026   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3027   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3028   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3029   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3030   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3031   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3032   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3033   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3034   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3035   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3036   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3037   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3038   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3039   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3040   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3041   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3042   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3043   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3044   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3045   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3046   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3047   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3048   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3049   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3050   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3051   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3052   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3053   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3054   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3055   RESERVED
3056 };
3057
3058 /* SPR definitions for the fr400 machine.
3059    See the FR400 LSI for implementation details.  */
3060 static FRV_SPR_CONTROL_INFO fr400_spr[] =
3061 {
3062   {0x200030fe, 0x200030fc, 0xf00030fd, 0xffffff80,   IMPL,   SUP}, /* PSR */
3063   {0x00000000, 0x00000000, 0x00000003, 0x00000003,   IMPL,   SUP}, /* PCSR */
3064   {0x00000000, 0x00000000, 0xffffffff, 0x00000003,   IMPL,   SUP}, /* BPCSR */
3065   {0x00000000, 0x00000000, 0x0000000f, 0x000007ff,   IMPL,   SUP}, /* TBR */
3066   {0x00000000, 0x00000000, 0x00000000, 0xffffeffe,   IMPL,   SUP}, /* BPSR */
3067
3068   /* spr registers 5-15 are reserved */
3069   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3070   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3071   RESERVED,
3072
3073   {0x00000d40, 0x00000d40, 0xcc400fc0, 0x317feff8,   IMPL,   SUP}, /* HSR0 */
3074
3075   /* HSR1-63 are unimplemented on the fr400.  */
3076   RESERVED, RESERVED, RESERVED, RESERVED,
3077   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3078   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3079   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3080   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3081   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3082   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3083   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3084   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3085   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3086   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3087   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3088   RESERVED, RESERVED, RESERVED, RESERVED,
3089
3090   /* spr registers 80-255 are reserved */
3091   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3092   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3093   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3094   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3095   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3096   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3097   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3098   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3099   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3100   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3101   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3102   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3103   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3104   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3105   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3106   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3107   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3108   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3109   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3110   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3111   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3112   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3113   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3114   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3115   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3116   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3117   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3118   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3119   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3120   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3121   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3122   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3123   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3124   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3125   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3126   RESERVED,
3127
3128   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* CCR */
3129
3130   /* spr registers 257-262 are reserved */
3131   RESERVED, RESERVED, RESERVED,
3132   RESERVED, RESERVED, RESERVED,
3133
3134   {0x00000000, 0x00000000, 0x00000000, 0xffff0000,   IMPL,  USER}, /* CCCR */
3135
3136   /* spr registers 264-271 are reserved */
3137   RESERVED,
3138   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3139   RESERVED, RESERVED,
3140
3141   {0x00000000, 0x00000000, 0x00000003, 0x00000003,   IMPL,  USER}, /* LR */
3142   {0x00000000, 0x00000000, 0x00000000, 0x00000000,   IMPL,  USER}, /* LCR */
3143
3144   /* spr registers 274-287 are reserved */
3145   RESERVED,
3146   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3147   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3148   RESERVED, RESERVED, RESERVED,
3149
3150   {0x20000021, 0x20000000, 0xa0000000, 0xffffffc2,   IMPL,  USER}, /* ISR */
3151
3152   /* spr registers 289-351 are reserved */
3153   RESERVED,
3154   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3155   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3156   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3157   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3158   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3159   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3160   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3161   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3162   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3163   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3164   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3165   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3166   RESERVED, RESERVED,
3167
3168   /* NEEAR0-31 are unimplemented on the fr400.  */
3169   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3170   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3171   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3172   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3173   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3174   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3175   RESERVED, RESERVED,
3176
3177   /* NESR0-31 are unimplemented on the fr400.  */
3178   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3179   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3180   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3181   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3182   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3183   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3184   RESERVED, RESERVED,
3185
3186   /* NECR is unimplemented on the fr400.  */
3187   RESERVED,
3188
3189   /* spr registers 417-431 are reserved */
3190   RESERVED, RESERVED, RESERVED,
3191   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3192   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3193   RESERVED, RESERVED,
3194
3195   /* GNER0, GNER1, FNER0, FNER1 are unimplemented on the fr400.  */
3196   RESERVED, RESERVED, RESERVED, RESERVED,
3197
3198   /* spr registers 436-511 are reserved */
3199   RESERVED, RESERVED, RESERVED, RESERVED,
3200   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3201   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3202   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3203   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3204   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3205   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3206   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3207   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3208   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3209   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3210   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3211   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3212   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3213   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3214   RESERVED, RESERVED,
3215
3216   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EPCR0 */
3217
3218   /* EPCR1-63 are unimplemented on the fr400.  */
3219   RESERVED, RESERVED, RESERVED, RESERVED,
3220   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3221   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3222   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3223   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3224   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3225   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3226   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3227   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3228   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3229   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3230   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3231   RESERVED, RESERVED, RESERVED, RESERVED,
3232
3233   {0x00000100, 0x00000100, 0x00000100, 0xffffffff,   IMPL,   SUP}, /* ESR0 */
3234
3235   /* ESR1-13 are unimplemented on the fr400.  */
3236   RESERVED, RESERVED, RESERVED, RESERVED,
3237   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3238   RESERVED, RESERVED, RESERVED, RESERVED,
3239
3240   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESR14 */
3241   {0x00000800, 0x00000800, 0x00000800, 0xffffffff,   IMPL,   SUP},
3242
3243   /* ESR16-63 are unimplemented on the fr400.  */
3244   RESERVED, RESERVED, RESERVED, RESERVED,
3245   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3246   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3247   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3248   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3249   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3250   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3251   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3252   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3253   RESERVED, RESERVED, RESERVED, RESERVED,
3254
3255   /* EIR0-31 are unimplemented on the fr400.  */
3256   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3257   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3258   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3259   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3260   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3261   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3262   RESERVED, RESERVED,
3263
3264   /* ESFR0 is unimplemented on the fr400.  */
3265   RESERVED,
3266
3267   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* ESFR1 */
3268
3269   /* spr registers 674-767 are reserved */
3270   RESERVED,
3271   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3272   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3273   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3274   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3275   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3276   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3277   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3278   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3279   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3280   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3281   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3282   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3283   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3284   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3285   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3286   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3287   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3288   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3289   RESERVED, RESERVED, RESERVED,
3290
3291   /* SR0-3 ARE unimplemented on the fr400.  */
3292   RESERVED, RESERVED, RESERVED, RESERVED,
3293
3294   /* spr registers 772-1023 are reserved */
3295   RESERVED, RESERVED, RESERVED,
3296   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3297   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3298   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3299   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3300   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3301   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3302   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3303   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3304   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3305   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3306   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3307   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3308   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3309   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3310   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3311   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3312   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3313   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3314   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3315   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3316   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3317   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3318   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3319   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3320   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3321   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3322   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3323   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3324   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3325   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3326   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3327   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3328   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3329   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3330   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3331   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3332   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3333   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3334   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3335   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3336   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3337   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3338   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3339   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3340   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3341   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3342   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3343   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3344   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3345   RESERVED, RESERVED, RESERVED, RESERVED,
3346
3347   /* FSR0-63 are unimplemented on the fr400.  */
3348   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3349   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3350   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3351   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3352   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3353   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3354   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3355   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3356   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3357   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3358   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3359   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3360   RESERVED, RESERVED, RESERVED, RESERVED,
3361
3362   /* FQ0-31 are unimplemented on the fr400.  */
3363   /* Each FQ register is a pair of 32 bit registers.  */
3364   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3365   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3366   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3367   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3368   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3369   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3370   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3371   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3372   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3373   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3374   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3375   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3376   RESERVED, RESERVED, RESERVED, RESERVED,
3377
3378   /* spr registers 1152-1271 are reserved */
3379   RESERVED, RESERVED, RESERVED,
3380   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3381   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3382   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3383   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3384   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3385   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3386   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3387   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3388   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3389   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3390   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3391   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3392   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3393   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3394   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3395   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3396   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3397   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3398   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3399   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3400   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3401   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3402   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3403   RESERVED, RESERVED,
3404
3405   /* MCILR0-1 are unimplemented on the fr400.  */
3406   RESERVED, RESERVED,
3407
3408   /* spr registers 1274-1279 are reserved */
3409   RESERVED,
3410   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3411
3412   {0x00000000, 0x00000000, 0x01c00000, 0x0fff8fc0,   IMPL,  USER}, /* MSR0 */
3413   {0x00000000, 0x00000000, 0x00000000, 0xffffffcd,   IMPL,  USER},
3414
3415   /* MSR2-63 are unimplemented on the fr400.  */
3416   RESERVED, RESERVED, RESERVED,
3417   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3418   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3419   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3420   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3421   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3422   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3423   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3424   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3425   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3426   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3427   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3428   RESERVED, RESERVED, RESERVED, RESERVED,
3429
3430   /* MQ0-31 are unimplemented on the fr400.  */
3431   /* Each MQ register is a pair of 32 bit registers.  */
3432   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3433   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3434   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3435   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3436   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3437   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3438   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3439   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3440   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3441   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3442   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3443   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3444   RESERVED, RESERVED, RESERVED, RESERVED,
3445
3446   /* Accumulators are read-only by the user except for special
3447      insns and side effect of other insns.  */
3448   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACC0 */
3449   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
3450   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
3451   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
3452
3453   /* ACC4-63 are unimplemented on the fr400.  */
3454   RESERVED,
3455   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3456   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3457   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3458   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3459   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3460   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3461   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3462   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3463   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3464   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3465   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3466   RESERVED, RESERVED, RESERVED, RESERVED,
3467
3468   /* Accumulator guards are read-only by the user except for special
3469      insns and side effect of other insns.  */
3470   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER}, /* ACCG0 */
3471   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
3472   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
3473   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,  USER},
3474
3475   /* ACCG4-63 are unimplemented on the fr400.  */
3476   RESERVED,
3477   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3478   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3479   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3480   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3481   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3482   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3483   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3484   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3485   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3486   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3487   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3488   RESERVED, RESERVED, RESERVED, RESERVED,
3489
3490   /* EAR0-14 are unimplemented on the fr400.  */
3491   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3492   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3493   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3494
3495   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* EAR15 */
3496
3497   /* EAR16-63 are unimplemented on the fr400.  */
3498   RESERVED, RESERVED, RESERVED, RESERVED,
3499   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3500   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3501   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3502   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3503   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3504   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3505   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3506   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3507   RESERVED, RESERVED, RESERVED, RESERVED,
3508
3509   /* EDR0-63 are unimplemented on the fr400.  */
3510   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3511   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3512   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3513   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3514   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3515   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3516   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3517   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3518   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3519   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3520   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3521   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3522   RESERVED, RESERVED, RESERVED, RESERVED,
3523
3524   /* IAMLR0-63 are unimplemented on the fr400.  */
3525   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3526   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3527   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3528   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3529   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3530   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3531   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3532   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3533   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3534   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3535   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3536   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3537   RESERVED, RESERVED, RESERVED, RESERVED,
3538
3539   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP}, /* IAMPR0 */
3540   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP},
3541   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP},
3542   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP},
3543   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP},
3544   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP},
3545   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP},
3546   {0x00000000, 0x00000000, 0x00000000, 0x000fff02,   IMPL,   SUP}, /* IAMPR7 */
3547
3548   /* IAMPR08-63 are unimplemented on the fr400.  */
3549   RESERVED, RESERVED,
3550   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3551   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3552   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3553   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3554   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3555   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3556   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3557   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3558   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3559   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3560   RESERVED, RESERVED, RESERVED, RESERVED,
3561
3562   /* DAMLR0-63 are unimplemented on the fr400.  */
3563   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3564   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3565   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3566   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3567   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3568   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3569   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3570   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3571   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3572   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3573   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3574   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3575   RESERVED, RESERVED, RESERVED, RESERVED,
3576
3577   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP}, /* DAMPR0 */
3578   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
3579   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
3580   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
3581   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
3582   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
3583   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP},
3584   {0x00000000, 0x00000000, 0x00000001, 0x000fff00,   IMPL,   SUP}, /* DAMPR7 */
3585
3586   /* DAMPR08-63 are unimplemented on the fr400.  */
3587   RESERVED, RESERVED,
3588   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3589   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3590   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3591   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3592   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3593   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3594   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3595   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3596   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3597   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3598   RESERVED, RESERVED, RESERVED, RESERVED,
3599
3600   {0x00000808, 0x00000808, 0x00000808, 0xffffffff,   IMPL,   SUP}, /* AMCR  */
3601
3602   /* STBAR, MMCR not implemented on the fr400.  */
3603   RESERVED, RESERVED,
3604
3605   /* spr registers 1923-2047 are reserved */
3606   RESERVED, RESERVED,
3607   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3608   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3609   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3610   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3611   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3612   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3613   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3614   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3615   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3616   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3617   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3618   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3619   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3620   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3621   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3622   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3623   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3624   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3625   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3626   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3627   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3628   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3629   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3630   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3631   RESERVED, RESERVED, RESERVED,
3632
3633   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DCR */
3634   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* BRR */
3635   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* NMAR */
3636
3637   RESERVED, /* spr register 2051 */
3638
3639   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IBAR0 */
3640   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3641   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3642   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* IBAR3 */
3643
3644   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBAR0 */
3645   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3646
3647   /* DBAR2-3 not implemented on the fr400.  */
3648   RESERVED, RESERVED,
3649
3650   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR00 */
3651   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3652
3653   /* DBDR02-03 are unimplemented on the fr400.  */
3654   RESERVED, RESERVED,
3655
3656   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBDR10 */
3657   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3658
3659   /* DBDR12-13 are unimplemented on the fr400.  */
3660   RESERVED, RESERVED,
3661
3662   /* DBDR20-23 are unimplemented on the fr400.  */
3663   RESERVED, RESERVED, RESERVED, RESERVED,
3664
3665   /* DBDR30-33 are unimplemented on the fr400.  */
3666   RESERVED, RESERVED, RESERVED, RESERVED,
3667
3668   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR00 */
3669   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3670
3671   /* DBMR02-03 are unimplemented on the fr400.  */
3672   RESERVED, RESERVED,
3673
3674   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP}, /* DBMR10 */
3675   {0x00000000, 0x00000000, 0x00000000, 0xffffffff,   IMPL,   SUP},
3676
3677   /* DBMR12-13 are unimplemented on the fr400.  */
3678   RESERVED, RESERVED,
3679
3680   /* DBMR20-23 are unimplemented on the fr400.  */
3681   RESERVED, RESERVED, RESERVED, RESERVED,
3682
3683   /* DBMR30-33 are unimplemented on the fr400.  */
3684   RESERVED, RESERVED, RESERVED, RESERVED,
3685
3686   /* CPCFR, CPCR and CPSR are unimplemented on the fr400.  */
3687   RESERVED, RESERVED, RESERVED,
3688
3689   RESERVED, /* spr register 2095 */
3690
3691   /* CPESR0-1 are unimplemented on the fr400.  */
3692   RESERVED, RESERVED,
3693
3694   /* CPEMR0-1 are unimplemented on the fr400.  */
3695   RESERVED, RESERVED,
3696
3697   /* spr registers 2100-2199 are reserved */
3698   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3699   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3700   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3701   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3702   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3703   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3704   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3705   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3706   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3707   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3708   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3709   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3710   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3711   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3712   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3713   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3714   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3715   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3716   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3717   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3718
3719   /* spr registers 2200-2299 are reserved */
3720   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3721   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3722   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3723   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3724   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3725   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3726   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3727   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3728   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3729   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3730   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3731   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3732   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3733   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3734   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3735   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3736   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3737   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3738   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3739   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3740
3741   /* spr registers 2300-2399 are reserved */
3742   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3743   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3744   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3745   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3746   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3747   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3748   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3749   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3750   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3751   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3752   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3753   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3754   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3755   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3756   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3757   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3758   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3759   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3760   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3761   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3762
3763   /* spr registers 2400-2499 are reserved */
3764   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3765   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3766   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3767   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3768   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3769   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3770   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3771   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3772   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3773   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3774   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3775   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3776   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3777   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3778   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3779   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3780   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3781   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3782   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3783   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3784
3785   /* spr registers 2500-2599 are reserved */
3786   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3787   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3788   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3789   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3790   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3791   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3792   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3793   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3794   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3795   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3796   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3797   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3798   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3799   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3800   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3801   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3802   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3803   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3804   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3805   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3806
3807   /* spr registers 2600-2699 are reserved */
3808   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3809   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3810   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3811   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3812   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3813   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3814   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3815   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3816   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3817   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3818   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3819   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3820   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3821   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3822   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3823   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3824   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3825   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3826   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3827   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3828
3829   /* spr registers 2700-2799 are reserved */
3830   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3831   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3832   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3833   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3834   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3835   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3836   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3837   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3838   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3839   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3840   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3841   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3842   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3843   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3844   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3845   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3846   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3847   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3848   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3849   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3850
3851   /* spr registers 2800-2899 are reserved */
3852   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3853   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3854   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3855   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3856   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3857   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3858   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3859   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3860   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3861   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3862   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3863   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3864   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3865   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3866   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3867   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3868   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3869   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3870   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3871   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3872
3873   /* spr registers 2900-2999 are reserved */
3874   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3875   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3876   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3877   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3878   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3879   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3880   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3881   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3882   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3883   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3884   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3885   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3886   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3887   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3888   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3889   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3890   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3891   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3892   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3893   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3894
3895   /* spr registers 3000-3099 are reserved */
3896   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3897   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3898   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3899   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3900   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3901   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3902   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3903   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3904   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3905   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3906   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3907   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3908   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3909   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3910   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3911   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3912   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3913   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3914   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3915   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3916
3917   /* spr registers 3100-3199 are reserved */
3918   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3919   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3920   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3921   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3922   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3923   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3924   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3925   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3926   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3927   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3928   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3929   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3930   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3931   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3932   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3933   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3934   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3935   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3936   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3937   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3938
3939   /* spr registers 3200-3299 are reserved */
3940   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3941   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3942   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3943   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3944   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3945   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3946   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3947   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3948   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3949   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3950   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3951   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3952   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3953   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3954   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3955   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3956   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3957   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3958   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3959   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3960
3961   /* spr registers 3300-3399 are reserved */
3962   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3963   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3964   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3965   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3966   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3967   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3968   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3969   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3970   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3971   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3972   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3973   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3974   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3975   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3976   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3977   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3978   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3979   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3980   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3981   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3982
3983   /* spr registers 3400-3499 are reserved */
3984   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3985   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3986   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3987   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3988   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3989   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3990   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3991   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3992   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3993   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3994   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3995   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3996   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3997   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3998   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
3999   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4000   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4001   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4002   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4003   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4004
4005   /* spr registers 3500-3599 are reserved */
4006   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4007   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4008   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4009   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4010   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4011   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4012   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4013   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4014   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4015   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4016   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4017   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4018   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4019   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4020   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4021   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4022   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4023   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4024   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4025   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4026
4027   /* spr registers 3600-3699 are reserved */
4028   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4029   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4030   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4031   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4032   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4033   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4034   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4035   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4036   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4037   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4038   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4039   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4040   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4041   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4042   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4043   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4044   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4045   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4046   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4047   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4048
4049   /* spr registers 3700-3799 are reserved */
4050   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4051   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4052   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4053   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4054   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4055   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4056   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4057   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4058   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4059   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4060   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4061   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4062   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4063   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4064   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4065   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4066   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4067   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4068   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4069   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4070
4071   /* spr registers 3800-3899 are reserved */
4072   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4073   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4074   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4075   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4076   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4077   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4078   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4079   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4080   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4081   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4082   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4083   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4084   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4085   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4086   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4087   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4088   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4089   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4090   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4091   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4092
4093   /* spr registers 3900-3999 are reserved */
4094   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4095   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4096   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4097   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4098   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4099   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4100   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4101   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4102   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4103   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4104   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4105   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4106   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4107   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4108   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4109   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4110   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4111   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4112   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4113   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4114
4115   /* spr registers 4000-4095 are reserved */
4116   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4117   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4118   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4119   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4120   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4121   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4122   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4123   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4124   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4125   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4126   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4127   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4128   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4129   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4130   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4131   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4132   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4133   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4134   RESERVED, RESERVED, RESERVED, RESERVED, RESERVED,
4135   RESERVED
4136 };
4137
4138 /* Initialize register control for this cpu */
4139 void
4140 frv_register_control_init (SIM_CPU *cpu)
4141 {
4142   FRV_REGISTER_CONTROL *control = CPU_REGISTER_CONTROL (cpu);
4143   SIM_DESC sd = CPU_STATE (cpu);
4144   int mach = STATE_ARCHITECTURE (sd)->mach;
4145
4146   if (sizeof (fr400_spr) != FRV_MAX_SPR * sizeof (*fr400_spr))
4147     abort ();
4148   if (sizeof (fr500_spr) != FRV_MAX_SPR * sizeof (*fr500_spr))
4149     abort ();
4150   if (sizeof (frv_spr) != FRV_MAX_SPR * sizeof (*frv_spr))
4151     abort ();
4152
4153   switch (mach)
4154     {
4155     case bfd_mach_frvtomcat:
4156     case bfd_mach_fr500:
4157       control->fr = 1;
4158       control->cpr = 0;
4159       control->spr = fr500_spr;
4160       return;
4161     case bfd_mach_fr400:
4162       control->fr = 1;
4163       control->cpr = 0;
4164       control->spr = fr400_spr;
4165       return;
4166     case bfd_mach_frvsimple:
4167       control->fr = 0;
4168       control->cpr = 0;
4169       control->spr = fr500_spr; /* Use the same spr configuration as fr500.  */
4170       return;
4171     case bfd_mach_frv:
4172       control->fr = 1;
4173       control->cpr = 1;
4174       control->spr = frv_spr;
4175       return;
4176     }
4177
4178   {      
4179     IADDR pc = CPU_PC_GET (cpu);
4180     sim_engine_abort (sd, cpu, pc,
4181                       "Register control not defined for bfd machine %d\n",
4182                       mach);
4183   }
4184 }
4185
4186 /* Initialize spr registers.  Used during startup and during hardware reset.  */
4187 void
4188 frv_initialize_spr (SIM_CPU *current_cpu)
4189 {
4190   FRV_REGISTER_CONTROL *control = CPU_REGISTER_CONTROL (current_cpu);
4191   FRV_SPR_CONTROL_INFO *spr_control;
4192   USI save_mask;
4193   int i;
4194
4195   /* Make sure that PSR.S is set in order to avoid access problems.
4196      Set the hardware directly to avoid user/supervisor state change. */
4197   CPU (h_psr_s) = 1;
4198
4199   /* Now initialize each register except PSR.  */
4200   for (i = 0; i < FRV_MAX_SPR; ++i)
4201     {
4202       /* Make sure that the register is implemented and is not PSR.  */
4203       spr_control = & control->spr[i];
4204       if (spr_control->implemented && i != H_SPR_PSR)
4205         {
4206           /* Temporarily disable the read-only mask for this register in order
4207              to initialize read-only fields.  */
4208           save_mask = spr_control->read_only_mask;
4209           spr_control->read_only_mask = 0;
4210           SET_H_SPR (i, spr_control->init_value);
4211           spr_control->read_only_mask = save_mask;
4212         }
4213     }
4214
4215   /* Now explicitely set PSR in order to get the correct setting for PSR.S.  */
4216   spr_control = & control->spr[H_SPR_PSR];
4217   save_mask = spr_control->read_only_mask;
4218   spr_control->read_only_mask = 0;
4219   SET_H_SPR (H_SPR_PSR, spr_control->init_value);
4220   spr_control->read_only_mask = save_mask;
4221 }
4222
4223 /* Reset spr registers.  Used during software reset.  */
4224 void
4225 frv_reset_spr (SIM_CPU *current_cpu)
4226 {
4227   FRV_REGISTER_CONTROL *control = CPU_REGISTER_CONTROL (current_cpu);
4228   FRV_SPR_CONTROL_INFO *spr_control;
4229   USI mask;
4230   USI new_val;
4231   int i;
4232   int psr_s;
4233
4234   /* Save PSR.S so that it can be stored in PSR.PS when initialization is
4235      complete.  */
4236   psr_s = GET_H_PSR_S ();
4237
4238   /* Make sure that PSR.S is set in order to avoid access problems.
4239      Set the hardware directly to avoid user/supervisor state change. */
4240   CPU (h_psr_s) = 1;
4241
4242   /* Now reset each register except PSR.  */
4243   for (i = 0; i < FRV_MAX_SPR; ++i)
4244     {
4245       /* Make sure that the register is implemented and is not PSR.  */
4246       spr_control = & control->spr[i];
4247       if (spr_control->implemented && i != H_SPR_PSR)
4248         {
4249           mask = spr_control->reset_mask;
4250           new_val = GET_H_SPR (i) & ~mask;
4251           new_val |= spr_control->reset_value & mask;
4252           SET_H_SPR (i, new_val);
4253         }
4254     }
4255
4256   /* Now explicitely set PSR in order to get the correct setting for PSR.S.  */
4257   spr_control = & control->spr[H_SPR_PSR];
4258   mask = spr_control->reset_mask;
4259   new_val = GET_H_SPR (H_SPR_PSR) & ~mask;
4260   new_val |= spr_control->reset_value & mask;
4261   SET_H_SPR (H_SPR_PSR, new_val);
4262
4263   /* Now set PSR.PS with the previous value of PSR.S.  */
4264   SET_H_PSR_PS (psr_s);
4265 }
4266
4267 /* Check access to spr registers.  */
4268 void
4269 frv_check_spr_read_access (SIM_CPU *current_cpu, UINT spr)
4270 {
4271   FRV_REGISTER_CONTROL *control = CPU_REGISTER_CONTROL (current_cpu);
4272
4273   if (! control->spr[spr].implemented)
4274     {
4275       SIM_DESC sd = CPU_STATE (current_cpu);
4276       if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400)
4277         {
4278           /* On the fr400: if this is an unimplemented accumulator, then
4279              generate an illegal_instruction_interrupt, otherwise no interrupt.
4280           */
4281           if (spr >= H_SPR_ACC4 && spr <= H_SPR_ACC63
4282               || spr >= H_SPR_ACCG4 && spr <= H_SPR_ACCG63)
4283             frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
4284         }
4285       else
4286         {
4287           /* On other machines, it's a register_exception.  */
4288           frv_queue_register_exception_interrupt (current_cpu,
4289                                                   FRV_REC_UNIMPLEMENTED);
4290         }
4291     }
4292 }
4293
4294 void
4295 frv_check_spr_write_access (SIM_CPU *current_cpu, UINT spr)
4296 {
4297   /* Both a register exception (unimplemented) and a privileged insn exception
4298      are possible. Check for both and the let the priority be resolved by the
4299      exception handling code.  */
4300   FRV_REGISTER_CONTROL *control = CPU_REGISTER_CONTROL (current_cpu);
4301
4302   /* Write access check is a superset of the read access check.  */
4303   frv_check_spr_read_access (current_cpu, spr);
4304
4305   /* Check for write to supervisor register.  */
4306   if (control->spr[spr].supervisor && ! GET_H_PSR_S ())
4307     frv_queue_program_interrupt (current_cpu, FRV_PRIVILEGED_INSTRUCTION);
4308 }
4309
4310 void
4311 frv_fr_registers_available (
4312   SIM_CPU *current_cpu, int *hi_available, int *lo_available
4313 )
4314 {
4315   int all_implemented;
4316   SI hsr0 = GET_HSR0 ();
4317
4318   /* If ! all_implemented, then registers 0-32 are available, otherwise check
4319      availability of the hi/lo banks by checking the HSR0 register.  */
4320   all_implemented = ! GET_HSR0_FRN (hsr0);
4321   *hi_available = all_implemented && GET_HSR0_FRHE (hsr0);
4322   *lo_available = (! all_implemented) || GET_HSR0_FRLE (hsr0);
4323 }
4324
4325 void
4326 frv_gr_registers_available (
4327   SIM_CPU *current_cpu, int *hi_available, int *lo_available
4328 )
4329 {
4330   int all_implemented;
4331   SI hsr0 = GET_HSR0 ();
4332
4333   /* If ! all_implemented, then registers 0-32 are available, otherwise check
4334      availability of the hi/lo banks by checking the HSR0 register.  */
4335   all_implemented = ! GET_HSR0_GRN (hsr0);
4336   *hi_available = all_implemented && GET_HSR0_GRHE (hsr0);
4337   *lo_available = (! all_implemented) || GET_HSR0_GRLE (hsr0);
4338 }
4339
4340 /* Return 1 if the given register is available, 0 otherwise.  TARGET_INDEX==-1
4341    means to check for any register available.  */
4342 int
4343 frv_check_register_access (
4344   SIM_CPU *current_cpu,
4345   SI target_index,
4346   int hi_available,
4347   int lo_available
4348 )
4349 {
4350   SIM_DESC sd;
4351   if (target_index > 31)
4352     {
4353       if (hi_available)
4354         return 1;
4355     }
4356   else
4357     {
4358       if (lo_available)
4359         return 1;
4360
4361       if (target_index == -1 && hi_available)
4362         return 1;
4363     }
4364
4365   /* The register is not available. Generate an exception.  */
4366   sd = CPU_STATE (current_cpu);
4367   if (STATE_ARCHITECTURE (sd)->mach == bfd_mach_fr400)
4368     {
4369       /* On the fr400 this generates an illegal_instruction interrupt.  */
4370       frv_queue_program_interrupt (current_cpu, FRV_ILLEGAL_INSTRUCTION);
4371     }
4372   else
4373     {
4374       /* On other machines, it's a register_exception.  */
4375       frv_queue_register_exception_interrupt (current_cpu,
4376                                               FRV_REC_UNIMPLEMENTED);
4377     }
4378   return 0;
4379 }
4380
4381 /* Return 1 if the given register is available, 0 otherwise.  TARGET_INDEX==-1
4382    means to check for any register available.  */
4383 int
4384 frv_check_gr_access (SIM_CPU *current_cpu, SI target_index)
4385 {
4386   int hi_available;
4387   int lo_available;
4388
4389   frv_gr_registers_available (current_cpu, & hi_available, & lo_available);
4390   return frv_check_register_access (current_cpu, target_index,
4391                                     hi_available, lo_available);
4392 }
4393
4394 /* Return 1 if the given register is available, 0 otherwise.  TARGET_INDEX==-1
4395    means to check for any register available.  */
4396 int
4397 frv_check_fr_access (SIM_CPU *current_cpu, SI target_index)
4398 {
4399   int hi_available;
4400   int lo_available;
4401
4402   frv_fr_registers_available (current_cpu, & hi_available, & lo_available);
4403   return frv_check_register_access (current_cpu, target_index,
4404                                     hi_available, lo_available);
4405 }