xref: /openbmc/qemu/target/ppc/cpu-models.c (revision 4a09d0bb)
1 /*
2  *  PowerPC CPU initialization for qemu.
3  *
4  *  Copyright (c) 2003-2007 Jocelyn Mayer
5  *  Copyright 2011 Freescale Semiconductor, Inc.
6  *  Copyright 2013 SUSE LINUX Products GmbH
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 /* A lot of PowerPC definition have been included here.
23  * Most of them are not usable for now but have been kept
24  * inside "#if defined(TODO) ... #endif" statements to make tests easier.
25  */
26 
27 #include "qemu/osdep.h"
28 #include "cpu.h"
29 #include "cpu-models.h"
30 
31 #if defined(CONFIG_USER_ONLY)
32 #define TODO_USER_ONLY 1
33 #endif
34 
35 /***************************************************************************/
36 /* PowerPC CPU definitions                                                 */
37 #define POWERPC_DEF_PREFIX(pvr, svr, type)                                  \
38     glue(glue(glue(glue(pvr, _), svr), _), type)
39 #define POWERPC_DEF_SVR(_name, _desc, _pvr, _svr, _type)                    \
40     static void                                                             \
41     glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_class_init)            \
42     (ObjectClass *oc, void *data)                                           \
43     {                                                                       \
44         DeviceClass *dc = DEVICE_CLASS(oc);                                 \
45         PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);                       \
46                                                                             \
47         pcc->pvr          = _pvr;                                           \
48         pcc->svr          = _svr;                                           \
49         dc->desc          = _desc;                                          \
50     }                                                                       \
51                                                                             \
52     static const TypeInfo                                                   \
53     glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_type_info) = {         \
54         .name       = _name "-" TYPE_POWERPC_CPU,                           \
55         .parent     = stringify(_type) "-family-" TYPE_POWERPC_CPU,         \
56         .class_init =                                                       \
57             glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_class_init),   \
58     };                                                                      \
59                                                                             \
60     static void                                                             \
61     glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_register_types)(void)  \
62     {                                                                       \
63         type_register_static(                                               \
64             &glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_type_info));  \
65     }                                                                       \
66                                                                             \
67     type_init(                                                              \
68         glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_register_types))
69 
70 #define POWERPC_DEF(_name, _pvr, _type, _desc)                              \
71     POWERPC_DEF_SVR(_name, _desc, _pvr, POWERPC_SVR_NONE, _type)
72 
73     /* Embedded PowerPC                                                      */
74     /* PowerPC 401 family                                                    */
75     POWERPC_DEF("401",           CPU_POWERPC_401,                    401,
76                 "Generic PowerPC 401")
77     /* PowerPC 401 cores                                                     */
78     POWERPC_DEF("401A1",         CPU_POWERPC_401A1,                  401,
79                 "PowerPC 401A1")
80     POWERPC_DEF("401B2",         CPU_POWERPC_401B2,                  401x2,
81                 "PowerPC 401B2")
82 #if defined(TODO)
83     POWERPC_DEF("401B3",         CPU_POWERPC_401B3,                  401x3,
84                 "PowerPC 401B3")
85 #endif
86     POWERPC_DEF("401C2",         CPU_POWERPC_401C2,                  401x2,
87                 "PowerPC 401C2")
88     POWERPC_DEF("401D2",         CPU_POWERPC_401D2,                  401x2,
89                 "PowerPC 401D2")
90     POWERPC_DEF("401E2",         CPU_POWERPC_401E2,                  401x2,
91                 "PowerPC 401E2")
92     POWERPC_DEF("401F2",         CPU_POWERPC_401F2,                  401x2,
93                 "PowerPC 401F2")
94     /* XXX: to be checked */
95     POWERPC_DEF("401G2",         CPU_POWERPC_401G2,                  401x2,
96                 "PowerPC 401G2")
97     /* PowerPC 401 microcontrollers                                          */
98 #if defined(TODO)
99     POWERPC_DEF("401GF",         CPU_POWERPC_401GF,                  401,
100                 "PowerPC 401GF")
101 #endif
102     POWERPC_DEF("IOP480",        CPU_POWERPC_IOP480,                 IOP480,
103                 "IOP480 (401 microcontroller)")
104     POWERPC_DEF("Cobra",         CPU_POWERPC_COBRA,                  401,
105                 "IBM Processor for Network Resources")
106 #if defined(TODO)
107     POWERPC_DEF("Xipchip",       CPU_POWERPC_XIPCHIP,                401,
108                 NULL)
109 #endif
110     /* PowerPC 403 family                                                    */
111     /* PowerPC 403 microcontrollers                                          */
112     POWERPC_DEF("403GA",         CPU_POWERPC_403GA,                  403,
113                 "PowerPC 403 GA")
114     POWERPC_DEF("403GB",         CPU_POWERPC_403GB,                  403,
115                 "PowerPC 403 GB")
116     POWERPC_DEF("403GC",         CPU_POWERPC_403GC,                  403,
117                 "PowerPC 403 GC")
118     POWERPC_DEF("403GCX",        CPU_POWERPC_403GCX,                 403GCX,
119                 "PowerPC 403 GCX")
120 #if defined(TODO)
121     POWERPC_DEF("403GP",         CPU_POWERPC_403GP,                  403,
122                 "PowerPC 403 GP")
123 #endif
124     /* PowerPC 405 family                                                    */
125     /* PowerPC 405 cores                                                     */
126 #if defined(TODO)
127     POWERPC_DEF("405A3",         CPU_POWERPC_405A3,                  405,
128                 "PowerPC 405 A3")
129 #endif
130 #if defined(TODO)
131     POWERPC_DEF("405A4",         CPU_POWERPC_405A4,                  405,
132                 "PowerPC 405 A4")
133 #endif
134 #if defined(TODO)
135     POWERPC_DEF("405B3",         CPU_POWERPC_405B3,                  405,
136                 "PowerPC 405 B3")
137 #endif
138 #if defined(TODO)
139     POWERPC_DEF("405B4",         CPU_POWERPC_405B4,                  405,
140                 "PowerPC 405 B4")
141 #endif
142 #if defined(TODO)
143     POWERPC_DEF("405C3",         CPU_POWERPC_405C3,                  405,
144                 "PowerPC 405 C3")
145 #endif
146 #if defined(TODO)
147     POWERPC_DEF("405C4",         CPU_POWERPC_405C4,                  405,
148                 "PowerPC 405 C4")
149 #endif
150     POWERPC_DEF("405D2",         CPU_POWERPC_405D2,                  405,
151                 "PowerPC 405 D2")
152 #if defined(TODO)
153     POWERPC_DEF("405D3",         CPU_POWERPC_405D3,                  405,
154                 "PowerPC 405 D3")
155 #endif
156     POWERPC_DEF("405D4",         CPU_POWERPC_405D4,                  405,
157                 "PowerPC 405 D4")
158 #if defined(TODO)
159     POWERPC_DEF("405D5",         CPU_POWERPC_405D5,                  405,
160                 "PowerPC 405 D5")
161 #endif
162 #if defined(TODO)
163     POWERPC_DEF("405E4",         CPU_POWERPC_405E4,                  405,
164                 "PowerPC 405 E4")
165 #endif
166 #if defined(TODO)
167     POWERPC_DEF("405F4",         CPU_POWERPC_405F4,                  405,
168                 "PowerPC 405 F4")
169 #endif
170 #if defined(TODO)
171     POWERPC_DEF("405F5",         CPU_POWERPC_405F5,                  405,
172                 "PowerPC 405 F5")
173 #endif
174 #if defined(TODO)
175     POWERPC_DEF("405F6",         CPU_POWERPC_405F6,                  405,
176                 "PowerPC 405 F6")
177 #endif
178     /* PowerPC 405 microcontrollers                                          */
179     POWERPC_DEF("405CRa",        CPU_POWERPC_405CRa,                 405,
180                 "PowerPC 405 CRa")
181     POWERPC_DEF("405CRb",        CPU_POWERPC_405CRb,                 405,
182                 "PowerPC 405 CRb")
183     POWERPC_DEF("405CRc",        CPU_POWERPC_405CRc,                 405,
184                 "PowerPC 405 CRc")
185     POWERPC_DEF("405EP",         CPU_POWERPC_405EP,                  405,
186                 "PowerPC 405 EP")
187 #if defined(TODO)
188     POWERPC_DEF("405EXr",        CPU_POWERPC_405EXr,                 405,
189                 "PowerPC 405 EXr")
190 #endif
191     POWERPC_DEF("405EZ",         CPU_POWERPC_405EZ,                  405,
192                 "PowerPC 405 EZ")
193 #if defined(TODO)
194     POWERPC_DEF("405FX",         CPU_POWERPC_405FX,                  405,
195                 "PowerPC 405 FX")
196 #endif
197     POWERPC_DEF("405GPa",        CPU_POWERPC_405GPa,                 405,
198                 "PowerPC 405 GPa")
199     POWERPC_DEF("405GPb",        CPU_POWERPC_405GPb,                 405,
200                 "PowerPC 405 GPb")
201     POWERPC_DEF("405GPc",        CPU_POWERPC_405GPc,                 405,
202                 "PowerPC 405 GPc")
203     POWERPC_DEF("405GPd",        CPU_POWERPC_405GPd,                 405,
204                 "PowerPC 405 GPd")
205     POWERPC_DEF("405GPR",        CPU_POWERPC_405GPR,                 405,
206                 "PowerPC 405 GPR")
207 #if defined(TODO)
208     POWERPC_DEF("405H",          CPU_POWERPC_405H,                   405,
209                 "PowerPC 405 H")
210 #endif
211 #if defined(TODO)
212     POWERPC_DEF("405L",          CPU_POWERPC_405L,                   405,
213                 "PowerPC 405 L")
214 #endif
215     POWERPC_DEF("405LP",         CPU_POWERPC_405LP,                  405,
216                 "PowerPC 405 LP")
217 #if defined(TODO)
218     POWERPC_DEF("405PM",         CPU_POWERPC_405PM,                  405,
219                 "PowerPC 405 PM")
220 #endif
221 #if defined(TODO)
222     POWERPC_DEF("405PS",         CPU_POWERPC_405PS,                  405,
223                 "PowerPC 405 PS")
224 #endif
225 #if defined(TODO)
226     POWERPC_DEF("405S",          CPU_POWERPC_405S,                   405,
227                 "PowerPC 405 S")
228 #endif
229     POWERPC_DEF("Npe405H",       CPU_POWERPC_NPE405H,                405,
230                 "Npe405 H")
231     POWERPC_DEF("Npe405H2",      CPU_POWERPC_NPE405H2,               405,
232                 "Npe405 H2")
233     POWERPC_DEF("Npe405L",       CPU_POWERPC_NPE405L,                405,
234                 "Npe405 L")
235     POWERPC_DEF("Npe4GS3",       CPU_POWERPC_NPE4GS3,                405,
236                 "Npe4GS3")
237 #if defined(TODO)
238     POWERPC_DEF("Npcxx1",        CPU_POWERPC_NPCxx1,                 405,
239                 NULL)
240 #endif
241 #if defined(TODO)
242     POWERPC_DEF("Npr161",        CPU_POWERPC_NPR161,                 405,
243                 NULL)
244 #endif
245 #if defined(TODO)
246     POWERPC_DEF("LC77700",       CPU_POWERPC_LC77700,                405,
247                 "PowerPC LC77700 (Sanyo)")
248 #endif
249     /* PowerPC 401/403/405 based set-top-box microcontrollers                */
250 #if defined(TODO)
251     POWERPC_DEF("STB01000",      CPU_POWERPC_STB01000,               401x2,
252                 "STB010000")
253 #endif
254 #if defined(TODO)
255     POWERPC_DEF("STB01010",      CPU_POWERPC_STB01010,               401x2,
256                 "STB01010")
257 #endif
258 #if defined(TODO)
259     POWERPC_DEF("STB0210",       CPU_POWERPC_STB0210,                401x3,
260                 "STB0210")
261 #endif
262     POWERPC_DEF("STB03",         CPU_POWERPC_STB03,                  405,
263                 "STB03xx")
264 #if defined(TODO)
265     POWERPC_DEF("STB043",        CPU_POWERPC_STB043,                 405,
266                 "STB043x")
267 #endif
268 #if defined(TODO)
269     POWERPC_DEF("STB045",        CPU_POWERPC_STB045,                 405,
270                 "STB045x")
271 #endif
272     POWERPC_DEF("STB04",         CPU_POWERPC_STB04,                  405,
273                 "STB04xx")
274     POWERPC_DEF("STB25",         CPU_POWERPC_STB25,                  405,
275                 "STB25xx")
276 #if defined(TODO)
277     POWERPC_DEF("STB130",        CPU_POWERPC_STB130,                 405,
278                 "STB130")
279 #endif
280     /* Xilinx PowerPC 405 cores                                              */
281     POWERPC_DEF("x2vp4",         CPU_POWERPC_X2VP4,                  405,
282                 NULL)
283     POWERPC_DEF("x2vp20",        CPU_POWERPC_X2VP20,                 405,
284                 NULL)
285 #if defined(TODO)
286     POWERPC_DEF("zl10310",       CPU_POWERPC_ZL10310,                405,
287                 "Zarlink ZL10310")
288 #endif
289 #if defined(TODO)
290     POWERPC_DEF("zl10311",       CPU_POWERPC_ZL10311,                405,
291                 "Zarlink ZL10311")
292 #endif
293 #if defined(TODO)
294     POWERPC_DEF("zl10320",       CPU_POWERPC_ZL10320,                405,
295                 "Zarlink ZL10320")
296 #endif
297 #if defined(TODO)
298     POWERPC_DEF("zl10321",       CPU_POWERPC_ZL10321,                405,
299                 "Zarlink ZL10321")
300 #endif
301     /* PowerPC 440 family                                                    */
302 #if defined(TODO_USER_ONLY)
303     POWERPC_DEF("440",           CPU_POWERPC_440,                    440GP,
304                 "Generic PowerPC 440")
305 #endif
306     /* PowerPC 440 cores                                                     */
307 #if defined(TODO)
308     POWERPC_DEF("440A4",         CPU_POWERPC_440A4,                  440x4,
309                 "PowerPC 440 A4")
310 #endif
311     POWERPC_DEF("440-Xilinx",    CPU_POWERPC_440_XILINX,             440x5,
312                 "PowerPC 440 Xilinx 5")
313 
314     POWERPC_DEF("440-Xilinx-w-dfpu",    CPU_POWERPC_440_XILINX, 440x5wDFPU,
315                 "PowerPC 440 Xilinx 5 With a Double Prec. FPU")
316 #if defined(TODO)
317     POWERPC_DEF("440A5",         CPU_POWERPC_440A5,                  440x5,
318                 "PowerPC 440 A5")
319 #endif
320 #if defined(TODO)
321     POWERPC_DEF("440B4",         CPU_POWERPC_440B4,                  440x4,
322                 "PowerPC 440 B4")
323 #endif
324 #if defined(TODO)
325     POWERPC_DEF("440G4",         CPU_POWERPC_440G4,                  440x4,
326                 "PowerPC 440 G4")
327 #endif
328 #if defined(TODO)
329     POWERPC_DEF("440F5",         CPU_POWERPC_440F5,                  440x5,
330                 "PowerPC 440 F5")
331 #endif
332 #if defined(TODO)
333     POWERPC_DEF("440G5",         CPU_POWERPC_440G5,                  440x5,
334                 "PowerPC 440 G5")
335 #endif
336 #if defined(TODO)
337     POWERPC_DEF("440H4",         CPU_POWERPC_440H4,                  440x4,
338                 "PowerPC 440H4")
339 #endif
340 #if defined(TODO)
341     POWERPC_DEF("440H6",         CPU_POWERPC_440H6,                  440Gx5,
342                 "PowerPC 440H6")
343 #endif
344     /* PowerPC 440 microcontrollers                                          */
345     POWERPC_DEF("440EPa",        CPU_POWERPC_440EPa,                 440EP,
346                 "PowerPC 440 EPa")
347     POWERPC_DEF("440EPb",        CPU_POWERPC_440EPb,                 440EP,
348                 "PowerPC 440 EPb")
349     POWERPC_DEF("440EPX",        CPU_POWERPC_440EPX,                 440EP,
350                 "PowerPC 440 EPX")
351 #if defined(TODO_USER_ONLY)
352     POWERPC_DEF("440GPb",        CPU_POWERPC_440GPb,                 440GP,
353                 "PowerPC 440 GPb")
354 #endif
355 #if defined(TODO_USER_ONLY)
356     POWERPC_DEF("440GPc",        CPU_POWERPC_440GPc,                 440GP,
357                 "PowerPC 440 GPc")
358 #endif
359 #if defined(TODO_USER_ONLY)
360     POWERPC_DEF("440GRa",        CPU_POWERPC_440GRa,                 440x5,
361                 "PowerPC 440 GRa")
362 #endif
363 #if defined(TODO_USER_ONLY)
364     POWERPC_DEF("440GRX",        CPU_POWERPC_440GRX,                 440x5,
365                 "PowerPC 440 GRX")
366 #endif
367 #if defined(TODO_USER_ONLY)
368     POWERPC_DEF("440GXa",        CPU_POWERPC_440GXa,                 440EP,
369                 "PowerPC 440 GXa")
370 #endif
371 #if defined(TODO_USER_ONLY)
372     POWERPC_DEF("440GXb",        CPU_POWERPC_440GXb,                 440EP,
373                 "PowerPC 440 GXb")
374 #endif
375 #if defined(TODO_USER_ONLY)
376     POWERPC_DEF("440GXc",        CPU_POWERPC_440GXc,                 440EP,
377                 "PowerPC 440 GXc")
378 #endif
379 #if defined(TODO_USER_ONLY)
380     POWERPC_DEF("440GXf",        CPU_POWERPC_440GXf,                 440EP,
381                 "PowerPC 440 GXf")
382 #endif
383 #if defined(TODO)
384     POWERPC_DEF("440S",          CPU_POWERPC_440S,                   440,
385                 "PowerPC 440 S")
386 #endif
387 #if defined(TODO_USER_ONLY)
388     POWERPC_DEF("440SP",         CPU_POWERPC_440SP,                  440EP,
389                 "PowerPC 440 SP")
390 #endif
391 #if defined(TODO_USER_ONLY)
392     POWERPC_DEF("440SP2",        CPU_POWERPC_440SP2,                 440EP,
393                 "PowerPC 440 SP2")
394 #endif
395 #if defined(TODO_USER_ONLY)
396     POWERPC_DEF("440SPE",        CPU_POWERPC_440SPE,                 440EP,
397                 "PowerPC 440 SPE")
398 #endif
399     /* PowerPC 460 family                                                    */
400 #if defined(TODO)
401     POWERPC_DEF("464",           CPU_POWERPC_464,                    460,
402                 "Generic PowerPC 464")
403 #endif
404     /* PowerPC 464 microcontrollers                                          */
405 #if defined(TODO)
406     POWERPC_DEF("464H90",        CPU_POWERPC_464H90,                 460,
407                 "PowerPC 464H90")
408 #endif
409 #if defined(TODO)
410     POWERPC_DEF("464H90F",       CPU_POWERPC_464H90F,                460F,
411                 "PowerPC 464H90F")
412 #endif
413     /* Freescale embedded PowerPC cores                                      */
414     /* MPC5xx family (aka RCPU)                                              */
415 #if defined(TODO_USER_ONLY)
416     POWERPC_DEF("MPC5xx",        CPU_POWERPC_MPC5xx,                 MPC5xx,
417                 "Generic MPC5xx core")
418 #endif
419     /* MPC8xx family (aka PowerQUICC)                                        */
420 #if defined(TODO_USER_ONLY)
421     POWERPC_DEF("MPC8xx",        CPU_POWERPC_MPC8xx,                 MPC8xx,
422                 "Generic MPC8xx core")
423 #endif
424     /* MPC82xx family (aka PowerQUICC-II)                                    */
425     POWERPC_DEF("G2",            CPU_POWERPC_G2,                     G2,
426                 "PowerPC G2 core")
427     POWERPC_DEF("G2H4",          CPU_POWERPC_G2H4,                   G2,
428                 "PowerPC G2 H4 core")
429     POWERPC_DEF("G2GP",          CPU_POWERPC_G2gp,                   G2,
430                 "PowerPC G2 GP core")
431     POWERPC_DEF("G2LS",          CPU_POWERPC_G2ls,                   G2,
432                 "PowerPC G2 LS core")
433     POWERPC_DEF("G2HiP3",        CPU_POWERPC_G2_HIP3,                G2,
434                 "PowerPC G2 HiP3 core")
435     POWERPC_DEF("G2HiP4",        CPU_POWERPC_G2_HIP4,                G2,
436                 "PowerPC G2 HiP4 core")
437     POWERPC_DEF("MPC603",        CPU_POWERPC_MPC603,                 603E,
438                 "PowerPC MPC603 core")
439     POWERPC_DEF("G2le",          CPU_POWERPC_G2LE,                   G2LE,
440         "PowerPC G2le core (same as G2 plus little-endian mode support)")
441     POWERPC_DEF("G2leGP",        CPU_POWERPC_G2LEgp,                 G2LE,
442                 "PowerPC G2LE GP core")
443     POWERPC_DEF("G2leLS",        CPU_POWERPC_G2LEls,                 G2LE,
444                 "PowerPC G2LE LS core")
445     POWERPC_DEF("G2leGP1",       CPU_POWERPC_G2LEgp1,                G2LE,
446                 "PowerPC G2LE GP1 core")
447     POWERPC_DEF("G2leGP3",       CPU_POWERPC_G2LEgp3,                G2LE,
448                 "PowerPC G2LE GP3 core")
449     /* PowerPC G2 microcontrollers                                           */
450 #if defined(TODO)
451     POWERPC_DEF_SVR("MPC5121", "MPC5121",
452                     CPU_POWERPC_MPC5121,      POWERPC_SVR_5121,      G2LE)
453 #endif
454     POWERPC_DEF_SVR("MPC5200_v10", "MPC5200 v1.0",
455                     CPU_POWERPC_MPC5200_v10,  POWERPC_SVR_5200_v10,  G2LE)
456     POWERPC_DEF_SVR("MPC5200_v11", "MPC5200 v1.1",
457                     CPU_POWERPC_MPC5200_v11,  POWERPC_SVR_5200_v11,  G2LE)
458     POWERPC_DEF_SVR("MPC5200_v12", "MPC5200 v1.2",
459                     CPU_POWERPC_MPC5200_v12,  POWERPC_SVR_5200_v12,  G2LE)
460     POWERPC_DEF_SVR("MPC5200B_v20", "MPC5200B v2.0",
461                     CPU_POWERPC_MPC5200B_v20, POWERPC_SVR_5200B_v20, G2LE)
462     POWERPC_DEF_SVR("MPC5200B_v21", "MPC5200B v2.1",
463                     CPU_POWERPC_MPC5200B_v21, POWERPC_SVR_5200B_v21, G2LE)
464     /* e200 family                                                           */
465 #if defined(TODO)
466     POWERPC_DEF_SVR("MPC55xx", "Generic MPC55xx core",
467                     CPU_POWERPC_MPC55xx,      POWERPC_SVR_55xx,      e200)
468 #endif
469 #if defined(TODO)
470     POWERPC_DEF("e200z0",        CPU_POWERPC_e200z0,                 e200,
471                 "PowerPC e200z0 core")
472 #endif
473 #if defined(TODO)
474     POWERPC_DEF("e200z1",        CPU_POWERPC_e200z1,                 e200,
475                 "PowerPC e200z1 core")
476 #endif
477 #if defined(TODO)
478     POWERPC_DEF("e200z3",        CPU_POWERPC_e200z3,                 e200,
479                 "PowerPC e200z3 core")
480 #endif
481     POWERPC_DEF("e200z5",        CPU_POWERPC_e200z5,                 e200,
482                 "PowerPC e200z5 core")
483     POWERPC_DEF("e200z6",        CPU_POWERPC_e200z6,                 e200,
484                 "PowerPC e200z6 core")
485     /* PowerPC e200 microcontrollers                                         */
486 #if defined(TODO)
487     POWERPC_DEF_SVR("MPC5514E", "MPC5514E",
488                     CPU_POWERPC_MPC5514E,     POWERPC_SVR_5514E,     e200)
489 #endif
490 #if defined(TODO)
491     POWERPC_DEF_SVR("MPC5514E_v0", "MPC5514E v0",
492                     CPU_POWERPC_MPC5514E_v0,  POWERPC_SVR_5514E_v0,  e200)
493 #endif
494 #if defined(TODO)
495     POWERPC_DEF_SVR("MPC5514E_v1", "MPC5514E v1",
496                     CPU_POWERPC_MPC5514E_v1,  POWERPC_SVR_5514E_v1,  e200)
497 #endif
498 #if defined(TODO)
499     POWERPC_DEF_SVR("MPC5514G", "MPC5514G",
500                     CPU_POWERPC_MPC5514G,     POWERPC_SVR_5514G,     e200)
501 #endif
502 #if defined(TODO)
503     POWERPC_DEF_SVR("MPC5514G_v0", "MPC5514G v0",
504                     CPU_POWERPC_MPC5514G_v0,  POWERPC_SVR_5514G_v0,  e200)
505 #endif
506 #if defined(TODO)
507     POWERPC_DEF_SVR("MPC5514G_v1", "MPC5514G v1",
508                     CPU_POWERPC_MPC5514G_v1,  POWERPC_SVR_5514G_v1,  e200)
509 #endif
510 #if defined(TODO)
511     POWERPC_DEF_SVR("MPC5515S", "MPC5515S",
512                     CPU_POWERPC_MPC5515S,     POWERPC_SVR_5515S,     e200)
513 #endif
514 #if defined(TODO)
515     POWERPC_DEF_SVR("MPC5516E", "MPC5516E",
516                     CPU_POWERPC_MPC5516E,     POWERPC_SVR_5516E,     e200)
517 #endif
518 #if defined(TODO)
519     POWERPC_DEF_SVR("MPC5516E_v0", "MPC5516E v0",
520                     CPU_POWERPC_MPC5516E_v0,  POWERPC_SVR_5516E_v0,  e200)
521 #endif
522 #if defined(TODO)
523     POWERPC_DEF_SVR("MPC5516E_v1", "MPC5516E v1",
524                     CPU_POWERPC_MPC5516E_v1,  POWERPC_SVR_5516E_v1,  e200)
525 #endif
526 #if defined(TODO)
527     POWERPC_DEF_SVR("MPC5516G", "MPC5516G",
528                     CPU_POWERPC_MPC5516G,     POWERPC_SVR_5516G,     e200)
529 #endif
530 #if defined(TODO)
531     POWERPC_DEF_SVR("MPC5516G_v0", "MPC5516G v0",
532                     CPU_POWERPC_MPC5516G_v0,  POWERPC_SVR_5516G_v0,  e200)
533 #endif
534 #if defined(TODO)
535     POWERPC_DEF_SVR("MPC5516G_v1", "MPC5516G v1",
536                     CPU_POWERPC_MPC5516G_v1,  POWERPC_SVR_5516G_v1,  e200)
537 #endif
538 #if defined(TODO)
539     POWERPC_DEF_SVR("MPC5516S", "MPC5516S",
540                     CPU_POWERPC_MPC5516S,     POWERPC_SVR_5516S,     e200)
541 #endif
542 #if defined(TODO)
543     POWERPC_DEF_SVR("MPC5533", "MPC5533",
544                     CPU_POWERPC_MPC5533,      POWERPC_SVR_5533,      e200)
545 #endif
546 #if defined(TODO)
547     POWERPC_DEF_SVR("MPC5534", "MPC5534",
548                     CPU_POWERPC_MPC5534,      POWERPC_SVR_5534,      e200)
549 #endif
550 #if defined(TODO)
551     POWERPC_DEF_SVR("MPC5553", "MPC5553",
552                     CPU_POWERPC_MPC5553,      POWERPC_SVR_5553,      e200)
553 #endif
554 #if defined(TODO)
555     POWERPC_DEF_SVR("MPC5554", "MPC5554",
556                     CPU_POWERPC_MPC5554,      POWERPC_SVR_5554,      e200)
557 #endif
558 #if defined(TODO)
559     POWERPC_DEF_SVR("MPC5561", "MPC5561",
560                     CPU_POWERPC_MPC5561,      POWERPC_SVR_5561,      e200)
561 #endif
562 #if defined(TODO)
563     POWERPC_DEF_SVR("MPC5565", "MPC5565",
564                     CPU_POWERPC_MPC5565,      POWERPC_SVR_5565,      e200)
565 #endif
566 #if defined(TODO)
567     POWERPC_DEF_SVR("MPC5566", "MPC5566",
568                     CPU_POWERPC_MPC5566,      POWERPC_SVR_5566,      e200)
569 #endif
570 #if defined(TODO)
571     POWERPC_DEF_SVR("MPC5567", "MPC5567",
572                     CPU_POWERPC_MPC5567,      POWERPC_SVR_5567,      e200)
573 #endif
574     /* e300 family                                                           */
575     POWERPC_DEF("e300c1",        CPU_POWERPC_e300c1,                 e300,
576                 "PowerPC e300c1 core")
577     POWERPC_DEF("e300c2",        CPU_POWERPC_e300c2,                 e300,
578                 "PowerPC e300c2 core")
579     POWERPC_DEF("e300c3",        CPU_POWERPC_e300c3,                 e300,
580                 "PowerPC e300c3 core")
581     POWERPC_DEF("e300c4",        CPU_POWERPC_e300c4,                 e300,
582                 "PowerPC e300c4 core")
583     /* PowerPC e300 microcontrollers                                         */
584 #if defined(TODO)
585     POWERPC_DEF_SVR("MPC8313", "MPC8313",
586                     CPU_POWERPC_MPC831x,      POWERPC_SVR_8313,      e300)
587 #endif
588 #if defined(TODO)
589     POWERPC_DEF_SVR("MPC8313E", "MPC8313E",
590                     CPU_POWERPC_MPC831x,      POWERPC_SVR_8313E,     e300)
591 #endif
592 #if defined(TODO)
593     POWERPC_DEF_SVR("MPC8314", "MPC8314",
594                     CPU_POWERPC_MPC831x,      POWERPC_SVR_8314,      e300)
595 #endif
596 #if defined(TODO)
597     POWERPC_DEF_SVR("MPC8314E", "MPC8314E",
598                     CPU_POWERPC_MPC831x,      POWERPC_SVR_8314E,     e300)
599 #endif
600 #if defined(TODO)
601     POWERPC_DEF_SVR("MPC8315", "MPC8315",
602                     CPU_POWERPC_MPC831x,      POWERPC_SVR_8315,      e300)
603 #endif
604 #if defined(TODO)
605     POWERPC_DEF_SVR("MPC8315E", "MPC8315E",
606                     CPU_POWERPC_MPC831x,      POWERPC_SVR_8315E,     e300)
607 #endif
608 #if defined(TODO)
609     POWERPC_DEF_SVR("MPC8321", "MPC8321",
610                     CPU_POWERPC_MPC832x,      POWERPC_SVR_8321,      e300)
611 #endif
612 #if defined(TODO)
613     POWERPC_DEF_SVR("MPC8321E", "MPC8321E",
614                     CPU_POWERPC_MPC832x,      POWERPC_SVR_8321E,     e300)
615 #endif
616 #if defined(TODO)
617     POWERPC_DEF_SVR("MPC8323", "MPC8323",
618                     CPU_POWERPC_MPC832x,      POWERPC_SVR_8323,      e300)
619 #endif
620 #if defined(TODO)
621     POWERPC_DEF_SVR("MPC8323E", "MPC8323E",
622                     CPU_POWERPC_MPC832x,      POWERPC_SVR_8323E,     e300)
623 #endif
624     POWERPC_DEF_SVR("MPC8343", "MPC8343",
625                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8343,      e300)
626     POWERPC_DEF_SVR("MPC8343A", "MPC8343A",
627                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8343A,     e300)
628     POWERPC_DEF_SVR("MPC8343E", "MPC8343E",
629                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8343E,     e300)
630     POWERPC_DEF_SVR("MPC8343EA", "MPC8343EA",
631                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8343EA,    e300)
632     POWERPC_DEF_SVR("MPC8347T", "MPC8347T",
633                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347T,     e300)
634     POWERPC_DEF_SVR("MPC8347P", "MPC8347P",
635                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347P,     e300)
636     POWERPC_DEF_SVR("MPC8347AT", "MPC8347AT",
637                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347AT,    e300)
638     POWERPC_DEF_SVR("MPC8347AP", "MPC8347AP",
639                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347AP,    e300)
640     POWERPC_DEF_SVR("MPC8347ET", "MPC8347ET",
641                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347ET,    e300)
642     POWERPC_DEF_SVR("MPC8347EP", "MPC8343EP",
643                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347EP,    e300)
644     POWERPC_DEF_SVR("MPC8347EAT", "MPC8347EAT",
645                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347EAT,   e300)
646     POWERPC_DEF_SVR("MPC8347EAP", "MPC8343EAP",
647                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8347EAP,   e300)
648     POWERPC_DEF_SVR("MPC8349", "MPC8349",
649                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8349,      e300)
650     POWERPC_DEF_SVR("MPC8349A", "MPC8349A",
651                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8349A,     e300)
652     POWERPC_DEF_SVR("MPC8349E", "MPC8349E",
653                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8349E,     e300)
654     POWERPC_DEF_SVR("MPC8349EA", "MPC8349EA",
655                     CPU_POWERPC_MPC834x,      POWERPC_SVR_8349EA,    e300)
656 #if defined(TODO)
657     POWERPC_DEF_SVR("MPC8358E", "MPC8358E",
658                     CPU_POWERPC_MPC835x,      POWERPC_SVR_8358E,     e300)
659 #endif
660 #if defined(TODO)
661     POWERPC_DEF_SVR("MPC8360E", "MPC8360E",
662                     CPU_POWERPC_MPC836x,      POWERPC_SVR_8360E,     e300)
663 #endif
664     POWERPC_DEF_SVR("MPC8377", "MPC8377",
665                     CPU_POWERPC_MPC837x,      POWERPC_SVR_8377,      e300)
666     POWERPC_DEF_SVR("MPC8377E", "MPC8377E",
667                     CPU_POWERPC_MPC837x,      POWERPC_SVR_8377E,     e300)
668     POWERPC_DEF_SVR("MPC8378", "MPC8378",
669                     CPU_POWERPC_MPC837x,      POWERPC_SVR_8378,      e300)
670     POWERPC_DEF_SVR("MPC8378E", "MPC8378E",
671                     CPU_POWERPC_MPC837x,      POWERPC_SVR_8378E,     e300)
672     POWERPC_DEF_SVR("MPC8379", "MPC8379",
673                     CPU_POWERPC_MPC837x,      POWERPC_SVR_8379,      e300)
674     POWERPC_DEF_SVR("MPC8379E", "MPC8379E",
675                     CPU_POWERPC_MPC837x,      POWERPC_SVR_8379E,     e300)
676     /* e500 family                                                           */
677     POWERPC_DEF_SVR("e500_v10", "PowerPC e500 v1.0 core",
678                     CPU_POWERPC_e500v1_v10,   POWERPC_SVR_E500,      e500v1);
679     POWERPC_DEF_SVR("e500_v20", "PowerPC e500 v2.0 core",
680                     CPU_POWERPC_e500v1_v20,   POWERPC_SVR_E500,      e500v1);
681     POWERPC_DEF_SVR("e500v2_v10", "PowerPC e500v2 v1.0 core",
682                     CPU_POWERPC_e500v2_v10,   POWERPC_SVR_E500,      e500v2);
683     POWERPC_DEF_SVR("e500v2_v20", "PowerPC e500v2 v2.0 core",
684                     CPU_POWERPC_e500v2_v20,   POWERPC_SVR_E500,      e500v2);
685     POWERPC_DEF_SVR("e500v2_v21", "PowerPC e500v2 v2.1 core",
686                     CPU_POWERPC_e500v2_v21,   POWERPC_SVR_E500,      e500v2);
687     POWERPC_DEF_SVR("e500v2_v22", "PowerPC e500v2 v2.2 core",
688                     CPU_POWERPC_e500v2_v22,   POWERPC_SVR_E500,      e500v2);
689     POWERPC_DEF_SVR("e500v2_v30", "PowerPC e500v2 v3.0 core",
690                     CPU_POWERPC_e500v2_v30,   POWERPC_SVR_E500,      e500v2);
691     POWERPC_DEF_SVR("e500mc", "e500mc",
692                     CPU_POWERPC_e500mc,       POWERPC_SVR_E500,      e500mc)
693 #ifdef TARGET_PPC64
694     POWERPC_DEF_SVR("e5500", "e5500",
695                     CPU_POWERPC_e5500,        POWERPC_SVR_E500,      e5500)
696 #endif
697     /* PowerPC e500 microcontrollers                                         */
698     POWERPC_DEF_SVR("MPC8533_v10", "MPC8533 v1.0",
699                     CPU_POWERPC_MPC8533_v10,  POWERPC_SVR_8533_v10,  e500v2)
700     POWERPC_DEF_SVR("MPC8533_v11", "MPC8533 v1.1",
701                     CPU_POWERPC_MPC8533_v11,  POWERPC_SVR_8533_v11,  e500v2)
702     POWERPC_DEF_SVR("MPC8533E_v10", "MPC8533E v1.0",
703                     CPU_POWERPC_MPC8533E_v10, POWERPC_SVR_8533E_v10, e500v2)
704     POWERPC_DEF_SVR("MPC8533E_v11", "MPC8533E v1.1",
705                     CPU_POWERPC_MPC8533E_v11, POWERPC_SVR_8533E_v11, e500v2)
706     POWERPC_DEF_SVR("MPC8540_v10", "MPC8540 v1.0",
707                     CPU_POWERPC_MPC8540_v10,  POWERPC_SVR_8540_v10,  e500v1)
708     POWERPC_DEF_SVR("MPC8540_v20", "MPC8540 v2.0",
709                     CPU_POWERPC_MPC8540_v20,  POWERPC_SVR_8540_v20,  e500v1)
710     POWERPC_DEF_SVR("MPC8540_v21", "MPC8540 v2.1",
711                     CPU_POWERPC_MPC8540_v21,  POWERPC_SVR_8540_v21,  e500v1)
712     POWERPC_DEF_SVR("MPC8541_v10", "MPC8541 v1.0",
713                     CPU_POWERPC_MPC8541_v10,  POWERPC_SVR_8541_v10,  e500v1)
714     POWERPC_DEF_SVR("MPC8541_v11", "MPC8541 v1.1",
715                     CPU_POWERPC_MPC8541_v11,  POWERPC_SVR_8541_v11,  e500v1)
716     POWERPC_DEF_SVR("MPC8541E_v10", "MPC8541E v1.0",
717                     CPU_POWERPC_MPC8541E_v10, POWERPC_SVR_8541E_v10, e500v1)
718     POWERPC_DEF_SVR("MPC8541E_v11", "MPC8541E v1.1",
719                     CPU_POWERPC_MPC8541E_v11, POWERPC_SVR_8541E_v11, e500v1)
720     POWERPC_DEF_SVR("MPC8543_v10", "MPC8543 v1.0",
721                     CPU_POWERPC_MPC8543_v10,  POWERPC_SVR_8543_v10,  e500v2)
722     POWERPC_DEF_SVR("MPC8543_v11", "MPC8543 v1.1",
723                     CPU_POWERPC_MPC8543_v11,  POWERPC_SVR_8543_v11,  e500v2)
724     POWERPC_DEF_SVR("MPC8543_v20", "MPC8543 v2.0",
725                     CPU_POWERPC_MPC8543_v20,  POWERPC_SVR_8543_v20,  e500v2)
726     POWERPC_DEF_SVR("MPC8543_v21", "MPC8543 v2.1",
727                     CPU_POWERPC_MPC8543_v21,  POWERPC_SVR_8543_v21,  e500v2)
728     POWERPC_DEF_SVR("MPC8543E_v10", "MPC8543E v1.0",
729                     CPU_POWERPC_MPC8543E_v10, POWERPC_SVR_8543E_v10, e500v2)
730     POWERPC_DEF_SVR("MPC8543E_v11", "MPC8543E v1.1",
731                     CPU_POWERPC_MPC8543E_v11, POWERPC_SVR_8543E_v11, e500v2)
732     POWERPC_DEF_SVR("MPC8543E_v20", "MPC8543E v2.0",
733                     CPU_POWERPC_MPC8543E_v20, POWERPC_SVR_8543E_v20, e500v2)
734     POWERPC_DEF_SVR("MPC8543E_v21", "MPC8543E v2.1",
735                     CPU_POWERPC_MPC8543E_v21, POWERPC_SVR_8543E_v21, e500v2)
736     POWERPC_DEF_SVR("MPC8544_v10", "MPC8544 v1.0",
737                     CPU_POWERPC_MPC8544_v10,  POWERPC_SVR_8544_v10,  e500v2)
738     POWERPC_DEF_SVR("MPC8544_v11", "MPC8544 v1.1",
739                     CPU_POWERPC_MPC8544_v11,  POWERPC_SVR_8544_v11,  e500v2)
740     POWERPC_DEF_SVR("MPC8544E_v10", "MPC8544E v1.0",
741                     CPU_POWERPC_MPC8544E_v10, POWERPC_SVR_8544E_v10, e500v2)
742     POWERPC_DEF_SVR("MPC8544E_v11", "MPC8544E v1.1",
743                     CPU_POWERPC_MPC8544E_v11, POWERPC_SVR_8544E_v11, e500v2)
744     POWERPC_DEF_SVR("MPC8545_v20", "MPC8545 v2.0",
745                     CPU_POWERPC_MPC8545_v20,  POWERPC_SVR_8545_v20,  e500v2)
746     POWERPC_DEF_SVR("MPC8545_v21", "MPC8545 v2.1",
747                     CPU_POWERPC_MPC8545_v21,  POWERPC_SVR_8545_v21,  e500v2)
748     POWERPC_DEF_SVR("MPC8545E_v20", "MPC8545E v2.0",
749                     CPU_POWERPC_MPC8545E_v20, POWERPC_SVR_8545E_v20, e500v2)
750     POWERPC_DEF_SVR("MPC8545E_v21", "MPC8545E v2.1",
751                     CPU_POWERPC_MPC8545E_v21, POWERPC_SVR_8545E_v21, e500v2)
752     POWERPC_DEF_SVR("MPC8547E_v20", "MPC8547E v2.0",
753                     CPU_POWERPC_MPC8547E_v20, POWERPC_SVR_8547E_v20, e500v2)
754     POWERPC_DEF_SVR("MPC8547E_v21", "MPC8547E v2.1",
755                     CPU_POWERPC_MPC8547E_v21, POWERPC_SVR_8547E_v21, e500v2)
756     POWERPC_DEF_SVR("MPC8548_v10", "MPC8548 v1.0",
757                     CPU_POWERPC_MPC8548_v10,  POWERPC_SVR_8548_v10,  e500v2)
758     POWERPC_DEF_SVR("MPC8548_v11", "MPC8548 v1.1",
759                     CPU_POWERPC_MPC8548_v11,  POWERPC_SVR_8548_v11,  e500v2)
760     POWERPC_DEF_SVR("MPC8548_v20", "MPC8548 v2.0",
761                     CPU_POWERPC_MPC8548_v20,  POWERPC_SVR_8548_v20,  e500v2)
762     POWERPC_DEF_SVR("MPC8548_v21", "MPC8548 v2.1",
763                     CPU_POWERPC_MPC8548_v21,  POWERPC_SVR_8548_v21,  e500v2)
764     POWERPC_DEF_SVR("MPC8548E_v10", "MPC8548E v1.0",
765                     CPU_POWERPC_MPC8548E_v10, POWERPC_SVR_8548E_v10, e500v2)
766     POWERPC_DEF_SVR("MPC8548E_v11", "MPC8548E v1.1",
767                     CPU_POWERPC_MPC8548E_v11, POWERPC_SVR_8548E_v11, e500v2)
768     POWERPC_DEF_SVR("MPC8548E_v20", "MPC8548E v2.0",
769                     CPU_POWERPC_MPC8548E_v20, POWERPC_SVR_8548E_v20, e500v2)
770     POWERPC_DEF_SVR("MPC8548E_v21", "MPC8548E v2.1",
771                     CPU_POWERPC_MPC8548E_v21, POWERPC_SVR_8548E_v21, e500v2)
772     POWERPC_DEF_SVR("MPC8555_v10", "MPC8555 v1.0",
773                     CPU_POWERPC_MPC8555_v10,  POWERPC_SVR_8555_v10,  e500v2)
774     POWERPC_DEF_SVR("MPC8555_v11", "MPC8555 v1.1",
775                     CPU_POWERPC_MPC8555_v11,  POWERPC_SVR_8555_v11,  e500v2)
776     POWERPC_DEF_SVR("MPC8555E_v10", "MPC8555E v1.0",
777                     CPU_POWERPC_MPC8555E_v10, POWERPC_SVR_8555E_v10, e500v2)
778     POWERPC_DEF_SVR("MPC8555E_v11", "MPC8555E v1.1",
779                     CPU_POWERPC_MPC8555E_v11, POWERPC_SVR_8555E_v11, e500v2)
780     POWERPC_DEF_SVR("MPC8560_v10", "MPC8560 v1.0",
781                     CPU_POWERPC_MPC8560_v10,  POWERPC_SVR_8560_v10,  e500v2)
782     POWERPC_DEF_SVR("MPC8560_v20", "MPC8560 v2.0",
783                     CPU_POWERPC_MPC8560_v20,  POWERPC_SVR_8560_v20,  e500v2)
784     POWERPC_DEF_SVR("MPC8560_v21", "MPC8560 v2.1",
785                     CPU_POWERPC_MPC8560_v21,  POWERPC_SVR_8560_v21,  e500v2)
786     POWERPC_DEF_SVR("MPC8567", "MPC8567",
787                     CPU_POWERPC_MPC8567,      POWERPC_SVR_8567,      e500v2)
788     POWERPC_DEF_SVR("MPC8567E", "MPC8567E",
789                     CPU_POWERPC_MPC8567E,     POWERPC_SVR_8567E,     e500v2)
790     POWERPC_DEF_SVR("MPC8568", "MPC8568",
791                     CPU_POWERPC_MPC8568,      POWERPC_SVR_8568,      e500v2)
792     POWERPC_DEF_SVR("MPC8568E", "MPC8568E",
793                     CPU_POWERPC_MPC8568E,     POWERPC_SVR_8568E,     e500v2)
794     POWERPC_DEF_SVR("MPC8572", "MPC8572",
795                     CPU_POWERPC_MPC8572,      POWERPC_SVR_8572,      e500v2)
796     POWERPC_DEF_SVR("MPC8572E", "MPC8572E",
797                     CPU_POWERPC_MPC8572E,     POWERPC_SVR_8572E,     e500v2)
798     /* e600 family                                                           */
799     POWERPC_DEF("e600",          CPU_POWERPC_e600,                   e600,
800                 "PowerPC e600 core")
801     /* PowerPC e600 microcontrollers                                         */
802     POWERPC_DEF_SVR("MPC8610", "MPC8610",
803                     CPU_POWERPC_MPC8610,      POWERPC_SVR_8610,      e600)
804     POWERPC_DEF_SVR("MPC8641", "MPC8641",
805                     CPU_POWERPC_MPC8641,      POWERPC_SVR_8641,      e600)
806     POWERPC_DEF_SVR("MPC8641D", "MPC8641D",
807                     CPU_POWERPC_MPC8641D,     POWERPC_SVR_8641D,     e600)
808     /* 32 bits "classic" PowerPC                                             */
809     /* PowerPC 6xx family                                                    */
810     POWERPC_DEF("601_v0",        CPU_POWERPC_601_v0,                 601,
811                 "PowerPC 601v0")
812     POWERPC_DEF("601_v1",        CPU_POWERPC_601_v1,                 601,
813                 "PowerPC 601v1")
814     POWERPC_DEF("601_v2",        CPU_POWERPC_601_v2,                 601v,
815                 "PowerPC 601v2")
816     POWERPC_DEF("602",           CPU_POWERPC_602,                    602,
817                 "PowerPC 602")
818     POWERPC_DEF("603",           CPU_POWERPC_603,                    603,
819                 "PowerPC 603")
820     POWERPC_DEF("603e_v1.1",     CPU_POWERPC_603E_v11,               603E,
821                 "PowerPC 603e v1.1")
822     POWERPC_DEF("603e_v1.2",     CPU_POWERPC_603E_v12,               603E,
823                 "PowerPC 603e v1.2")
824     POWERPC_DEF("603e_v1.3",     CPU_POWERPC_603E_v13,               603E,
825                 "PowerPC 603e v1.3")
826     POWERPC_DEF("603e_v1.4",     CPU_POWERPC_603E_v14,               603E,
827                 "PowerPC 603e v1.4")
828     POWERPC_DEF("603e_v2.2",     CPU_POWERPC_603E_v22,               603E,
829                 "PowerPC 603e v2.2")
830     POWERPC_DEF("603e_v3",       CPU_POWERPC_603E_v3,                603E,
831                 "PowerPC 603e v3")
832     POWERPC_DEF("603e_v4",       CPU_POWERPC_603E_v4,                603E,
833                 "PowerPC 603e v4")
834     POWERPC_DEF("603e_v4.1",     CPU_POWERPC_603E_v41,               603E,
835                 "PowerPC 603e v4.1")
836     POWERPC_DEF("603e7",         CPU_POWERPC_603E7,                  603E,
837                 "PowerPC 603e (aka PID7)")
838     POWERPC_DEF("603e7t",        CPU_POWERPC_603E7t,                 603E,
839                 "PowerPC 603e7t")
840     POWERPC_DEF("603e7v",        CPU_POWERPC_603E7v,                 603E,
841                 "PowerPC 603e7v")
842     POWERPC_DEF("603e7v1",       CPU_POWERPC_603E7v1,                603E,
843                 "PowerPC 603e7v1")
844     POWERPC_DEF("603e7v2",       CPU_POWERPC_603E7v2,                603E,
845                 "PowerPC 603e7v2")
846     POWERPC_DEF("603p",          CPU_POWERPC_603P,                   603E,
847                 "PowerPC 603p (aka PID7v)")
848     POWERPC_DEF("604",           CPU_POWERPC_604,                    604,
849                 "PowerPC 604")
850     POWERPC_DEF("604e_v1.0",     CPU_POWERPC_604E_v10,               604E,
851                 "PowerPC 604e v1.0")
852     POWERPC_DEF("604e_v2.2",     CPU_POWERPC_604E_v22,               604E,
853                 "PowerPC 604e v2.2")
854     POWERPC_DEF("604e_v2.4",     CPU_POWERPC_604E_v24,               604E,
855                 "PowerPC 604e v2.4")
856     POWERPC_DEF("604r",          CPU_POWERPC_604R,                   604E,
857                 "PowerPC 604r (aka PIDA)")
858 #if defined(TODO)
859     POWERPC_DEF("604ev",         CPU_POWERPC_604EV,                  604E,
860                 "PowerPC 604ev")
861 #endif
862     /* PowerPC 7xx family                                                    */
863     POWERPC_DEF("740_v1.0",      CPU_POWERPC_7x0_v10,                740,
864                 "PowerPC 740 v1.0 (G3)")
865     POWERPC_DEF("750_v1.0",      CPU_POWERPC_7x0_v10,                750,
866                 "PowerPC 750 v1.0 (G3)")
867     POWERPC_DEF("740_v2.0",      CPU_POWERPC_7x0_v20,                740,
868                 "PowerPC 740 v2.0 (G3)")
869     POWERPC_DEF("750_v2.0",      CPU_POWERPC_7x0_v20,                750,
870                 "PowerPC 750 v2.0 (G3)")
871     POWERPC_DEF("740_v2.1",      CPU_POWERPC_7x0_v21,                740,
872                 "PowerPC 740 v2.1 (G3)")
873     POWERPC_DEF("750_v2.1",      CPU_POWERPC_7x0_v21,                750,
874                 "PowerPC 750 v2.1 (G3)")
875     POWERPC_DEF("740_v2.2",      CPU_POWERPC_7x0_v22,                740,
876                 "PowerPC 740 v2.2 (G3)")
877     POWERPC_DEF("750_v2.2",      CPU_POWERPC_7x0_v22,                750,
878                 "PowerPC 750 v2.2 (G3)")
879     POWERPC_DEF("740_v3.0",      CPU_POWERPC_7x0_v30,                740,
880                 "PowerPC 740 v3.0 (G3)")
881     POWERPC_DEF("750_v3.0",      CPU_POWERPC_7x0_v30,                750,
882                 "PowerPC 750 v3.0 (G3)")
883     POWERPC_DEF("740_v3.1",      CPU_POWERPC_7x0_v31,                740,
884                 "PowerPC 740 v3.1 (G3)")
885     POWERPC_DEF("750_v3.1",      CPU_POWERPC_7x0_v31,                750,
886                 "PowerPC 750 v3.1 (G3)")
887     POWERPC_DEF("740e",          CPU_POWERPC_740E,                   740,
888                 "PowerPC 740E (G3)")
889     POWERPC_DEF("750e",          CPU_POWERPC_750E,                   750,
890                 "PowerPC 750E (G3)")
891     POWERPC_DEF("740p",          CPU_POWERPC_7x0P,                   740,
892                 "PowerPC 740P (G3)")
893     POWERPC_DEF("750p",          CPU_POWERPC_7x0P,                   750,
894                 "PowerPC 750P (G3)")
895     POWERPC_DEF("750cl_v1.0",    CPU_POWERPC_750CL_v10,              750cl,
896                 "PowerPC 750CL v1.0")
897     POWERPC_DEF("750cl_v2.0",    CPU_POWERPC_750CL_v20,              750cl,
898                 "PowerPC 750CL v2.0")
899     POWERPC_DEF("750cx_v1.0",    CPU_POWERPC_750CX_v10,              750cx,
900                 "PowerPC 750CX v1.0 (G3 embedded)")
901     POWERPC_DEF("750cx_v2.0",    CPU_POWERPC_750CX_v20,              750cx,
902                 "PowerPC 750CX v2.1 (G3 embedded)")
903     POWERPC_DEF("750cx_v2.1",    CPU_POWERPC_750CX_v21,              750cx,
904                 "PowerPC 750CX v2.1 (G3 embedded)")
905     POWERPC_DEF("750cx_v2.2",    CPU_POWERPC_750CX_v22,              750cx,
906                 "PowerPC 750CX v2.2 (G3 embedded)")
907     POWERPC_DEF("750cxe_v2.1",   CPU_POWERPC_750CXE_v21,             750cx,
908                 "PowerPC 750CXe v2.1 (G3 embedded)")
909     POWERPC_DEF("750cxe_v2.2",   CPU_POWERPC_750CXE_v22,             750cx,
910                 "PowerPC 750CXe v2.2 (G3 embedded)")
911     POWERPC_DEF("750cxe_v2.3",   CPU_POWERPC_750CXE_v23,             750cx,
912                 "PowerPC 750CXe v2.3 (G3 embedded)")
913     POWERPC_DEF("750cxe_v2.4",   CPU_POWERPC_750CXE_v24,             750cx,
914                 "PowerPC 750CXe v2.4 (G3 embedded)")
915     POWERPC_DEF("750cxe_v2.4b",  CPU_POWERPC_750CXE_v24b,            750cx,
916                 "PowerPC 750CXe v2.4b (G3 embedded)")
917     POWERPC_DEF("750cxe_v3.0",   CPU_POWERPC_750CXE_v30,             750cx,
918                 "PowerPC 750CXe v3.0 (G3 embedded)")
919     POWERPC_DEF("750cxe_v3.1",   CPU_POWERPC_750CXE_v31,             750cx,
920                 "PowerPC 750CXe v3.1 (G3 embedded)")
921     POWERPC_DEF("750cxe_v3.1b",  CPU_POWERPC_750CXE_v31b,            750cx,
922                 "PowerPC 750CXe v3.1b (G3 embedded)")
923     POWERPC_DEF("750cxr",        CPU_POWERPC_750CXR,                 750cx,
924                 "PowerPC 750CXr (G3 embedded)")
925     POWERPC_DEF("750fl",         CPU_POWERPC_750FL,                  750fx,
926                 "PowerPC 750FL (G3 embedded)")
927     POWERPC_DEF("750fx_v1.0",    CPU_POWERPC_750FX_v10,              750fx,
928                 "PowerPC 750FX v1.0 (G3 embedded)")
929     POWERPC_DEF("750fx_v2.0",    CPU_POWERPC_750FX_v20,              750fx,
930                 "PowerPC 750FX v2.0 (G3 embedded)")
931     POWERPC_DEF("750fx_v2.1",    CPU_POWERPC_750FX_v21,              750fx,
932                 "PowerPC 750FX v2.1 (G3 embedded)")
933     POWERPC_DEF("750fx_v2.2",    CPU_POWERPC_750FX_v22,              750fx,
934                 "PowerPC 750FX v2.2 (G3 embedded)")
935     POWERPC_DEF("750fx_v2.3",    CPU_POWERPC_750FX_v23,              750fx,
936                 "PowerPC 750FX v2.3 (G3 embedded)")
937     POWERPC_DEF("750gl",         CPU_POWERPC_750GL,                  750gx,
938                 "PowerPC 750GL (G3 embedded)")
939     POWERPC_DEF("750gx_v1.0",    CPU_POWERPC_750GX_v10,              750gx,
940                 "PowerPC 750GX v1.0 (G3 embedded)")
941     POWERPC_DEF("750gx_v1.1",    CPU_POWERPC_750GX_v11,              750gx,
942                 "PowerPC 750GX v1.1 (G3 embedded)")
943     POWERPC_DEF("750gx_v1.2",    CPU_POWERPC_750GX_v12,              750gx,
944                 "PowerPC 750GX v1.2 (G3 embedded)")
945     POWERPC_DEF("750l_v2.0",     CPU_POWERPC_750L_v20,               750,
946                 "PowerPC 750L v2.0 (G3 embedded)")
947     POWERPC_DEF("750l_v2.1",     CPU_POWERPC_750L_v21,               750,
948                 "PowerPC 750L v2.1 (G3 embedded)")
949     POWERPC_DEF("750l_v2.2",     CPU_POWERPC_750L_v22,               750,
950                 "PowerPC 750L v2.2 (G3 embedded)")
951     POWERPC_DEF("750l_v3.0",     CPU_POWERPC_750L_v30,               750,
952                 "PowerPC 750L v3.0 (G3 embedded)")
953     POWERPC_DEF("750l_v3.2",     CPU_POWERPC_750L_v32,               750,
954                 "PowerPC 750L v3.2 (G3 embedded)")
955     POWERPC_DEF("745_v1.0",      CPU_POWERPC_7x5_v10,                745,
956                 "PowerPC 745 v1.0")
957     POWERPC_DEF("755_v1.0",      CPU_POWERPC_7x5_v10,                755,
958                 "PowerPC 755 v1.0")
959     POWERPC_DEF("745_v1.1",      CPU_POWERPC_7x5_v11,                745,
960                 "PowerPC 745 v1.1")
961     POWERPC_DEF("755_v1.1",      CPU_POWERPC_7x5_v11,                755,
962                 "PowerPC 755 v1.1")
963     POWERPC_DEF("745_v2.0",      CPU_POWERPC_7x5_v20,                745,
964                 "PowerPC 745 v2.0")
965     POWERPC_DEF("755_v2.0",      CPU_POWERPC_7x5_v20,                755,
966                 "PowerPC 755 v2.0")
967     POWERPC_DEF("745_v2.1",      CPU_POWERPC_7x5_v21,                745,
968                 "PowerPC 745 v2.1")
969     POWERPC_DEF("755_v2.1",      CPU_POWERPC_7x5_v21,                755,
970                 "PowerPC 755 v2.1")
971     POWERPC_DEF("745_v2.2",      CPU_POWERPC_7x5_v22,                745,
972                 "PowerPC 745 v2.2")
973     POWERPC_DEF("755_v2.2",      CPU_POWERPC_7x5_v22,                755,
974                 "PowerPC 755 v2.2")
975     POWERPC_DEF("745_v2.3",      CPU_POWERPC_7x5_v23,                745,
976                 "PowerPC 745 v2.3")
977     POWERPC_DEF("755_v2.3",      CPU_POWERPC_7x5_v23,                755,
978                 "PowerPC 755 v2.3")
979     POWERPC_DEF("745_v2.4",      CPU_POWERPC_7x5_v24,                745,
980                 "PowerPC 745 v2.4")
981     POWERPC_DEF("755_v2.4",      CPU_POWERPC_7x5_v24,                755,
982                 "PowerPC 755 v2.4")
983     POWERPC_DEF("745_v2.5",      CPU_POWERPC_7x5_v25,                745,
984                 "PowerPC 745 v2.5")
985     POWERPC_DEF("755_v2.5",      CPU_POWERPC_7x5_v25,                755,
986                 "PowerPC 755 v2.5")
987     POWERPC_DEF("745_v2.6",      CPU_POWERPC_7x5_v26,                745,
988                 "PowerPC 745 v2.6")
989     POWERPC_DEF("755_v2.6",      CPU_POWERPC_7x5_v26,                755,
990                 "PowerPC 755 v2.6")
991     POWERPC_DEF("745_v2.7",      CPU_POWERPC_7x5_v27,                745,
992                 "PowerPC 745 v2.7")
993     POWERPC_DEF("755_v2.7",      CPU_POWERPC_7x5_v27,                755,
994                 "PowerPC 755 v2.7")
995     POWERPC_DEF("745_v2.8",      CPU_POWERPC_7x5_v28,                745,
996                 "PowerPC 745 v2.8")
997     POWERPC_DEF("755_v2.8",      CPU_POWERPC_7x5_v28,                755,
998                 "PowerPC 755 v2.8")
999 #if defined(TODO)
1000     POWERPC_DEF("745p",          CPU_POWERPC_7x5P,                   745,
1001                 "PowerPC 745P (G3)")
1002     POWERPC_DEF("755p",          CPU_POWERPC_7x5P,                   755,
1003                 "PowerPC 755P (G3)")
1004 #endif
1005     /* PowerPC 74xx family                                                   */
1006     POWERPC_DEF("7400_v1.0",     CPU_POWERPC_7400_v10,               7400,
1007                 "PowerPC 7400 v1.0 (G4)")
1008     POWERPC_DEF("7400_v1.1",     CPU_POWERPC_7400_v11,               7400,
1009                 "PowerPC 7400 v1.1 (G4)")
1010     POWERPC_DEF("7400_v2.0",     CPU_POWERPC_7400_v20,               7400,
1011                 "PowerPC 7400 v2.0 (G4)")
1012     POWERPC_DEF("7400_v2.1",     CPU_POWERPC_7400_v21,               7400,
1013                 "PowerPC 7400 v2.1 (G4)")
1014     POWERPC_DEF("7400_v2.2",     CPU_POWERPC_7400_v22,               7400,
1015                 "PowerPC 7400 v2.2 (G4)")
1016     POWERPC_DEF("7400_v2.6",     CPU_POWERPC_7400_v26,               7400,
1017                 "PowerPC 7400 v2.6 (G4)")
1018     POWERPC_DEF("7400_v2.7",     CPU_POWERPC_7400_v27,               7400,
1019                 "PowerPC 7400 v2.7 (G4)")
1020     POWERPC_DEF("7400_v2.8",     CPU_POWERPC_7400_v28,               7400,
1021                 "PowerPC 7400 v2.8 (G4)")
1022     POWERPC_DEF("7400_v2.9",     CPU_POWERPC_7400_v29,               7400,
1023                 "PowerPC 7400 v2.9 (G4)")
1024     POWERPC_DEF("7410_v1.0",     CPU_POWERPC_7410_v10,               7410,
1025                 "PowerPC 7410 v1.0 (G4)")
1026     POWERPC_DEF("7410_v1.1",     CPU_POWERPC_7410_v11,               7410,
1027                 "PowerPC 7410 v1.1 (G4)")
1028     POWERPC_DEF("7410_v1.2",     CPU_POWERPC_7410_v12,               7410,
1029                 "PowerPC 7410 v1.2 (G4)")
1030     POWERPC_DEF("7410_v1.3",     CPU_POWERPC_7410_v13,               7410,
1031                 "PowerPC 7410 v1.3 (G4)")
1032     POWERPC_DEF("7410_v1.4",     CPU_POWERPC_7410_v14,               7410,
1033                 "PowerPC 7410 v1.4 (G4)")
1034     POWERPC_DEF("7448_v1.0",     CPU_POWERPC_7448_v10,               7400,
1035                 "PowerPC 7448 v1.0 (G4)")
1036     POWERPC_DEF("7448_v1.1",     CPU_POWERPC_7448_v11,               7400,
1037                 "PowerPC 7448 v1.1 (G4)")
1038     POWERPC_DEF("7448_v2.0",     CPU_POWERPC_7448_v20,               7400,
1039                 "PowerPC 7448 v2.0 (G4)")
1040     POWERPC_DEF("7448_v2.1",     CPU_POWERPC_7448_v21,               7400,
1041                 "PowerPC 7448 v2.1 (G4)")
1042     POWERPC_DEF("7450_v1.0",     CPU_POWERPC_7450_v10,               7450,
1043                 "PowerPC 7450 v1.0 (G4)")
1044     POWERPC_DEF("7450_v1.1",     CPU_POWERPC_7450_v11,               7450,
1045                 "PowerPC 7450 v1.1 (G4)")
1046     POWERPC_DEF("7450_v1.2",     CPU_POWERPC_7450_v12,               7450,
1047                 "PowerPC 7450 v1.2 (G4)")
1048     POWERPC_DEF("7450_v2.0",     CPU_POWERPC_7450_v20,               7450,
1049                 "PowerPC 7450 v2.0 (G4)")
1050     POWERPC_DEF("7450_v2.1",     CPU_POWERPC_7450_v21,               7450,
1051                 "PowerPC 7450 v2.1 (G4)")
1052     POWERPC_DEF("7441_v2.1",     CPU_POWERPC_7450_v21,               7440,
1053                 "PowerPC 7441 v2.1 (G4)")
1054     POWERPC_DEF("7441_v2.3",     CPU_POWERPC_74x1_v23,               7440,
1055                 "PowerPC 7441 v2.3 (G4)")
1056     POWERPC_DEF("7451_v2.3",     CPU_POWERPC_74x1_v23,               7450,
1057                 "PowerPC 7451 v2.3 (G4)")
1058     POWERPC_DEF("7441_v2.10",    CPU_POWERPC_74x1_v210,              7440,
1059                 "PowerPC 7441 v2.10 (G4)")
1060     POWERPC_DEF("7451_v2.10",    CPU_POWERPC_74x1_v210,              7450,
1061                 "PowerPC 7451 v2.10 (G4)")
1062     POWERPC_DEF("7445_v1.0",     CPU_POWERPC_74x5_v10,               7445,
1063                 "PowerPC 7445 v1.0 (G4)")
1064     POWERPC_DEF("7455_v1.0",     CPU_POWERPC_74x5_v10,               7455,
1065                 "PowerPC 7455 v1.0 (G4)")
1066     POWERPC_DEF("7445_v2.1",     CPU_POWERPC_74x5_v21,               7445,
1067                 "PowerPC 7445 v2.1 (G4)")
1068     POWERPC_DEF("7455_v2.1",     CPU_POWERPC_74x5_v21,               7455,
1069                 "PowerPC 7455 v2.1 (G4)")
1070     POWERPC_DEF("7445_v3.2",     CPU_POWERPC_74x5_v32,               7445,
1071                 "PowerPC 7445 v3.2 (G4)")
1072     POWERPC_DEF("7455_v3.2",     CPU_POWERPC_74x5_v32,               7455,
1073                 "PowerPC 7455 v3.2 (G4)")
1074     POWERPC_DEF("7445_v3.3",     CPU_POWERPC_74x5_v33,               7445,
1075                 "PowerPC 7445 v3.3 (G4)")
1076     POWERPC_DEF("7455_v3.3",     CPU_POWERPC_74x5_v33,               7455,
1077                 "PowerPC 7455 v3.3 (G4)")
1078     POWERPC_DEF("7445_v3.4",     CPU_POWERPC_74x5_v34,               7445,
1079                 "PowerPC 7445 v3.4 (G4)")
1080     POWERPC_DEF("7455_v3.4",     CPU_POWERPC_74x5_v34,               7455,
1081                 "PowerPC 7455 v3.4 (G4)")
1082     POWERPC_DEF("7447_v1.0",     CPU_POWERPC_74x7_v10,               7445,
1083                 "PowerPC 7447 v1.0 (G4)")
1084     POWERPC_DEF("7457_v1.0",     CPU_POWERPC_74x7_v10,               7455,
1085                 "PowerPC 7457 v1.0 (G4)")
1086     POWERPC_DEF("7447_v1.1",     CPU_POWERPC_74x7_v11,               7445,
1087                 "PowerPC 7447 v1.1 (G4)")
1088     POWERPC_DEF("7457_v1.1",     CPU_POWERPC_74x7_v11,               7455,
1089                 "PowerPC 7457 v1.1 (G4)")
1090     POWERPC_DEF("7457_v1.2",     CPU_POWERPC_74x7_v12,               7455,
1091                 "PowerPC 7457 v1.2 (G4)")
1092     POWERPC_DEF("7447A_v1.0",    CPU_POWERPC_74x7A_v10,              7445,
1093                 "PowerPC 7447A v1.0 (G4)")
1094     POWERPC_DEF("7457A_v1.0",    CPU_POWERPC_74x7A_v10,              7455,
1095                 "PowerPC 7457A v1.0 (G4)")
1096     POWERPC_DEF("7447A_v1.1",    CPU_POWERPC_74x7A_v11,              7445,
1097                 "PowerPC 7447A v1.1 (G4)")
1098     POWERPC_DEF("7457A_v1.1",    CPU_POWERPC_74x7A_v11,              7455,
1099                 "PowerPC 7457A v1.1 (G4)")
1100     POWERPC_DEF("7447A_v1.2",    CPU_POWERPC_74x7A_v12,              7445,
1101                 "PowerPC 7447A v1.2 (G4)")
1102     POWERPC_DEF("7457A_v1.2",    CPU_POWERPC_74x7A_v12,              7455,
1103                 "PowerPC 7457A v1.2 (G4)")
1104     /* 64 bits PowerPC                                                       */
1105 #if defined (TARGET_PPC64)
1106 #if defined(TODO)
1107     POWERPC_DEF("620",           CPU_POWERPC_620,                    620,
1108                 "PowerPC 620")
1109     POWERPC_DEF("630",           CPU_POWERPC_630,                    630,
1110                 "PowerPC 630 (POWER3)")
1111 #endif
1112 #if defined(TODO)
1113     POWERPC_DEF("631",           CPU_POWERPC_631,                    631,
1114                 "PowerPC 631 (Power 3+)")
1115 #endif
1116 #if defined(TODO)
1117     POWERPC_DEF("POWER4",        CPU_POWERPC_POWER4,                 POWER4,
1118                 "POWER4")
1119 #endif
1120 #if defined(TODO)
1121     POWERPC_DEF("POWER4+",       CPU_POWERPC_POWER4P,                POWER4P,
1122                 "POWER4p")
1123 #endif
1124 #if defined(TODO)
1125     POWERPC_DEF("POWER5",        CPU_POWERPC_POWER5,                 POWER5,
1126                 "POWER5")
1127 #endif
1128     POWERPC_DEF("POWER5+_v2.1",  CPU_POWERPC_POWER5P_v21,            POWER5P,
1129                 "POWER5+ v2.1")
1130 #if defined(TODO)
1131     POWERPC_DEF("POWER6",        CPU_POWERPC_POWER6,                 POWER6,
1132                 "POWER6")
1133 #endif
1134     POWERPC_DEF("POWER7_v2.3",   CPU_POWERPC_POWER7_v23,             POWER7,
1135                 "POWER7 v2.3")
1136     POWERPC_DEF("POWER7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,
1137                 "POWER7+ v2.1")
1138     POWERPC_DEF("POWER8E_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,
1139                 "POWER8E v2.1")
1140     POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
1141                 "POWER8 v2.0")
1142     POWERPC_DEF("POWER8NVL_v1.0",CPU_POWERPC_POWER8NVL_v10,          POWER8,
1143                 "POWER8NVL v1.0")
1144     POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
1145                 "PowerPC 970 v2.2")
1146 
1147     POWERPC_DEF("POWER9_v1.0",   CPU_POWERPC_POWER9_BASE,            POWER9,
1148                 "POWER9 v1.0")
1149 
1150     POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,
1151                 "PowerPC 970FX v1.0 (G5)")
1152     POWERPC_DEF("970fx_v2.0",    CPU_POWERPC_970FX_v20,              970,
1153                 "PowerPC 970FX v2.0 (G5)")
1154     POWERPC_DEF("970fx_v2.1",    CPU_POWERPC_970FX_v21,              970,
1155                 "PowerPC 970FX v2.1 (G5)")
1156     POWERPC_DEF("970fx_v3.0",    CPU_POWERPC_970FX_v30,              970,
1157                 "PowerPC 970FX v3.0 (G5)")
1158     POWERPC_DEF("970fx_v3.1",    CPU_POWERPC_970FX_v31,              970,
1159                 "PowerPC 970FX v3.1 (G5)")
1160     POWERPC_DEF("970mp_v1.0",    CPU_POWERPC_970MP_v10,              970,
1161                 "PowerPC 970MP v1.0")
1162     POWERPC_DEF("970mp_v1.1",    CPU_POWERPC_970MP_v11,              970,
1163                 "PowerPC 970MP v1.1")
1164 #if defined(TODO)
1165     POWERPC_DEF("Cell",          CPU_POWERPC_CELL,                   970,
1166                 "PowerPC Cell")
1167 #endif
1168 #if defined(TODO)
1169     POWERPC_DEF("Cell_v1.0",     CPU_POWERPC_CELL_v10,               970,
1170                 "PowerPC Cell v1.0")
1171 #endif
1172 #if defined(TODO)
1173     POWERPC_DEF("Cell_v2.0",     CPU_POWERPC_CELL_v20,               970,
1174                 "PowerPC Cell v2.0")
1175 #endif
1176 #if defined(TODO)
1177     POWERPC_DEF("Cell_v3.0",     CPU_POWERPC_CELL_v30,               970,
1178                 "PowerPC Cell v3.0")
1179 #endif
1180 #if defined(TODO)
1181     POWERPC_DEF("Cell_v3.1",     CPU_POWERPC_CELL_v31,               970,
1182                 "PowerPC Cell v3.1")
1183 #endif
1184 #if defined(TODO)
1185     POWERPC_DEF("Cell_v3.2",     CPU_POWERPC_CELL_v32,               970,
1186                 "PowerPC Cell v3.2")
1187 #endif
1188 #if defined(TODO)
1189     /* This one seems to support the whole POWER2 instruction set
1190      * and the PowerPC 64 one.
1191      */
1192     /* What about A10 & A30 ? */
1193     POWERPC_DEF("RS64",          CPU_POWERPC_RS64,                   RS64,
1194                 "RS64 (Apache/A35)")
1195 #endif
1196 #if defined(TODO)
1197     POWERPC_DEF("RS64-II",       CPU_POWERPC_RS64II,                 RS64,
1198                 "RS64-II (NorthStar/A50)")
1199 #endif
1200 #if defined(TODO)
1201     POWERPC_DEF("RS64-III",      CPU_POWERPC_RS64III,                RS64,
1202                 "RS64-III (Pulsar)")
1203 #endif
1204 #if defined(TODO)
1205     POWERPC_DEF("RS64-IV",       CPU_POWERPC_RS64IV,                 RS64,
1206                 "RS64-IV (IceStar/IStar/SStar)")
1207 #endif
1208 #endif /* defined (TARGET_PPC64) */
1209     /* POWER                                                                 */
1210 #if defined(TODO)
1211     POWERPC_DEF("POWER",         CPU_POWERPC_POWER,                  POWER,
1212                 "Original POWER")
1213 #endif
1214 #if defined(TODO)
1215     POWERPC_DEF("POWER2",        CPU_POWERPC_POWER2,                 POWER,
1216                 "POWER2")
1217 #endif
1218     /* PA semi cores                                                         */
1219 #if defined(TODO)
1220     POWERPC_DEF("PA6T",          CPU_POWERPC_PA6T,                   PA6T,
1221                 "PA PA6T")
1222 #endif
1223 
1224 
1225 /***************************************************************************/
1226 /* PowerPC CPU aliases                                                     */
1227 
1228 PowerPCCPUAlias ppc_cpu_aliases[] = {
1229     { "403", "403GC" },
1230     { "405", "405D4" },
1231     { "405CR", "405CRc" },
1232     { "405GP", "405GPd" },
1233     { "405GPe", "405CRc" },
1234     { "x2vp7", "x2vp4" },
1235     { "x2vp50", "x2vp20" },
1236 
1237     { "440EP", "440EPb" },
1238     { "440GP", "440GPc" },
1239     { "440GR", "440GRa" },
1240     { "440GX", "440GXf" },
1241 
1242     { "RCPU", "MPC5xx" },
1243     /* MPC5xx microcontrollers */
1244     { "MGT560", "MPC5xx" },
1245     { "MPC509", "MPC5xx" },
1246     { "MPC533", "MPC5xx" },
1247     { "MPC534", "MPC5xx" },
1248     { "MPC555", "MPC5xx" },
1249     { "MPC556", "MPC5xx" },
1250     { "MPC560", "MPC5xx" },
1251     { "MPC561", "MPC5xx" },
1252     { "MPC562", "MPC5xx" },
1253     { "MPC563", "MPC5xx" },
1254     { "MPC564", "MPC5xx" },
1255     { "MPC565", "MPC5xx" },
1256     { "MPC566", "MPC5xx" },
1257 
1258     { "PowerQUICC", "MPC8xx" },
1259     /* MPC8xx microcontrollers */
1260     { "MGT823", "MPC8xx" },
1261     { "MPC821", "MPC8xx" },
1262     { "MPC823", "MPC8xx" },
1263     { "MPC850", "MPC8xx" },
1264     { "MPC852T", "MPC8xx" },
1265     { "MPC855T", "MPC8xx" },
1266     { "MPC857", "MPC8xx" },
1267     { "MPC859", "MPC8xx" },
1268     { "MPC860", "MPC8xx" },
1269     { "MPC862", "MPC8xx" },
1270     { "MPC866", "MPC8xx" },
1271     { "MPC870", "MPC8xx" },
1272     { "MPC875", "MPC8xx" },
1273     { "MPC880", "MPC8xx" },
1274     { "MPC885", "MPC8xx" },
1275 
1276     /* PowerPC MPC603 microcontrollers */
1277     { "MPC8240", "603" },
1278 
1279     { "MPC52xx", "MPC5200" },
1280     { "MPC5200", "MPC5200_v12" },
1281     { "MPC5200B", "MPC5200B_v21" },
1282 
1283     { "MPC82xx", "MPC8280" },
1284     { "PowerQUICC-II", "MPC82xx" },
1285     { "MPC8241", "G2HiP4" },
1286     { "MPC8245", "G2HiP4" },
1287     { "MPC8247", "G2leGP3" },
1288     { "MPC8248", "G2leGP3" },
1289     { "MPC8250", "MPC8250_HiP4" },
1290     { "MPC8250_HiP3", "G2HiP3" },
1291     { "MPC8250_HiP4", "G2HiP4" },
1292     { "MPC8255", "MPC8255_HiP4" },
1293     { "MPC8255_HiP3", "G2HiP3" },
1294     { "MPC8255_HiP4", "G2HiP4" },
1295     { "MPC8260", "MPC8260_HiP4" },
1296     { "MPC8260_HiP3", "G2HiP3" },
1297     { "MPC8260_HiP4", "G2HiP4" },
1298     { "MPC8264", "MPC8264_HiP4" },
1299     { "MPC8264_HiP3", "G2HiP3" },
1300     { "MPC8264_HiP4", "G2HiP4" },
1301     { "MPC8265", "MPC8265_HiP4" },
1302     { "MPC8265_HiP3", "G2HiP3" },
1303     { "MPC8265_HiP4", "G2HiP4" },
1304     { "MPC8266", "MPC8266_HiP4" },
1305     { "MPC8266_HiP3", "G2HiP3" },
1306     { "MPC8266_HiP4", "G2HiP4" },
1307     { "MPC8270", "G2leGP3" },
1308     { "MPC8271", "G2leGP3" },
1309     { "MPC8272", "G2leGP3" },
1310     { "MPC8275", "G2leGP3" },
1311     { "MPC8280", "G2leGP3" },
1312     { "e200", "e200z6" },
1313     { "e300", "e300c3" },
1314     { "MPC8347", "MPC8347T" },
1315     { "MPC8347A", "MPC8347AT" },
1316     { "MPC8347E", "MPC8347ET" },
1317     { "MPC8347EA", "MPC8347EAT" },
1318     { "e500", "e500v2_v22" },
1319     { "e500v1", "e500_v20" },
1320     { "e500v2", "e500v2_v22" },
1321     { "MPC8533", "MPC8533_v11" },
1322     { "MPC8533E", "MPC8533E_v11" },
1323     { "MPC8540", "MPC8540_v21" },
1324     { "MPC8541", "MPC8541_v11" },
1325     { "MPC8541E", "MPC8541E_v11" },
1326     { "MPC8543", "MPC8543_v21" },
1327     { "MPC8543E", "MPC8543E_v21" },
1328     { "MPC8544", "MPC8544_v11" },
1329     { "MPC8544E", "MPC8544E_v11" },
1330     { "MPC8545", "MPC8545_v21" },
1331     { "MPC8545E", "MPC8545E_v21" },
1332     { "MPC8547E", "MPC8547E_v21" },
1333     { "MPC8548", "MPC8548_v21" },
1334     { "MPC8548E", "MPC8548E_v21" },
1335     { "MPC8555", "MPC8555_v11" },
1336     { "MPC8555E", "MPC8555E_v11" },
1337     { "MPC8560", "MPC8560_v21" },
1338     { "601",  "601_v2" },
1339     { "601v", "601_v2" },
1340     { "Vanilla", "603" },
1341     { "603e", "603e_v4.1" },
1342     { "Stretch", "603e" },
1343     { "Vaillant", "603e7v" },
1344     { "603r", "603e7t" },
1345     { "Goldeneye", "603r" },
1346     { "604e", "604e_v2.4" },
1347     { "Sirocco", "604e" },
1348     { "Mach5", "604r" },
1349     { "740", "740_v3.1" },
1350     { "Arthur", "740" },
1351     { "750", "750_v3.1" },
1352     { "Typhoon", "750" },
1353     { "G3",      "750" },
1354     { "Conan/Doyle", "750p" },
1355     { "750cl", "750cl_v2.0" },
1356     { "750cx", "750cx_v2.2" },
1357     { "750cxe", "750cxe_v3.1b" },
1358     { "750fx", "750fx_v2.3" },
1359     { "750gx", "750gx_v1.2" },
1360     { "750l", "750l_v3.2" },
1361     { "LoneStar", "750l" },
1362     { "745", "745_v2.8" },
1363     { "755", "755_v2.8" },
1364     { "Goldfinger", "755" },
1365     { "7400", "7400_v2.9" },
1366     { "Max", "7400" },
1367     { "G4",  "7400" },
1368     { "7410", "7410_v1.4" },
1369     { "Nitro", "7410" },
1370     { "7448", "7448_v2.1" },
1371     { "7450", "7450_v2.1" },
1372     { "Vger", "7450" },
1373     { "7441", "7441_v2.3" },
1374     { "7451", "7451_v2.3" },
1375     { "7445", "7445_v3.2" },
1376     { "7455", "7455_v3.2" },
1377     { "Apollo6", "7455" },
1378     { "7447", "7447_v1.1" },
1379     { "7457", "7457_v1.2" },
1380     { "Apollo7", "7457" },
1381     { "7447A", "7447A_v1.2" },
1382     { "7457A", "7457A_v1.2" },
1383     { "Apollo7PM", "7457A_v1.0" },
1384 #if defined(TARGET_PPC64)
1385     { "POWER3", "630" },
1386     { "POWER3+", "631" },
1387     { "POWER5+", "POWER5+_v2.1" },
1388     { "POWER5gs", "POWER5+_v2.1" },
1389     { "POWER7", "POWER7_v2.3" },
1390     { "POWER7+", "POWER7+_v2.1" },
1391     { "POWER8E", "POWER8E_v2.1" },
1392     { "POWER8", "POWER8_v2.0" },
1393     { "POWER8NVL", "POWER8NVL_v1.0" },
1394     { "POWER9", "POWER9_v1.0" },
1395     { "970", "970_v2.2" },
1396     { "970fx", "970fx_v3.1" },
1397     { "970mp", "970mp_v1.1" },
1398 #endif
1399 
1400     /* Generic PowerPCs */
1401 #if defined(TARGET_PPC64)
1402     { "ppc64", "970fx" },
1403 #endif
1404     { "ppc32", "604" },
1405     { "ppc", "ppc32" },
1406     { "default", "ppc" },
1407     { NULL, NULL }
1408 };
1409