qemu/target-ppc/cpu-models.c
<<
>>
Prefs
   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    POWERPC_DEF("POWER6_5",      CPU_POWERPC_POWER6_5,               POWER5,
1134                "POWER6 running in POWER5 mode")
1135    POWERPC_DEF("POWER6A",       CPU_POWERPC_POWER6A,                POWER6,
1136                "POWER6A")
1137#endif
1138    POWERPC_DEF("POWER7_v2.3",   CPU_POWERPC_POWER7_v23,             POWER7,
1139                "POWER7 v2.3")
1140    POWERPC_DEF("POWER7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,
1141                "POWER7+ v2.1")
1142    POWERPC_DEF("POWER8E_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,
1143                "POWER8E v2.1")
1144    POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
1145                "POWER8 v2.0")
1146    POWERPC_DEF("POWER8NVL_v1.0",CPU_POWERPC_POWER8NVL_v10,          POWER8,
1147                "POWER8NVL v1.0")
1148    POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
1149                "PowerPC 970 v2.2")
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
1228PowerPCCPUAlias 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.2" },
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    { "Trident", "620" },
1386    { "POWER3", "630" },
1387    { "Boxer", "POWER3" },
1388    { "Dino",  "POWER3" },
1389    { "POWER3+", "631" },
1390    { "POWER5gr", "POWER5" },
1391    { "POWER5+", "POWER5+_v2.1" },
1392    { "POWER5gs", "POWER5+_v2.1" },
1393    { "POWER7", "POWER7_v2.3" },
1394    { "POWER7+", "POWER7+_v2.1" },
1395    { "POWER8E", "POWER8E_v2.1" },
1396    { "POWER8", "POWER8_v2.0" },
1397    { "POWER8NVL", "POWER8NVL_v1.0" },
1398    { "970", "970_v2.2" },
1399    { "970fx", "970fx_v3.1" },
1400    { "970mp", "970mp_v1.1" },
1401    { "Apache", "RS64" },
1402    { "A35",    "RS64" },
1403    { "NorthStar", "RS64-II" },
1404    { "A50",       "RS64-II" },
1405    { "Pulsar", "RS64-III" },
1406    { "IceStar", "RS64-IV" },
1407    { "IStar",   "RS64-IV" },
1408    { "SStar",   "RS64-IV" },
1409#endif
1410    { "RIOS",    "POWER" },
1411    { "RSC",     "POWER" },
1412    { "RSC3308", "POWER" },
1413    { "RSC4608", "POWER" },
1414    { "RSC2", "POWER2" },
1415    { "P2SC", "POWER2" },
1416
1417    /* Generic PowerPCs */
1418#if defined(TARGET_PPC64)
1419    { "ppc64", "970fx" },
1420#endif
1421    { "ppc32", "604" },
1422    { "ppc", "ppc32" },
1423    { "default", "ppc" },
1424    { NULL, NULL }
1425};
1426