cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

cpu-models.c (50382B)


      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.1 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#include "qemu/osdep.h"
     23#include "cpu.h"
     24#include "qemu/module.h"
     25#include "cpu-models.h"
     26
     27#if defined(CONFIG_USER_ONLY)
     28#define TODO_USER_ONLY 1
     29#endif
     30
     31/***************************************************************************/
     32/* PowerPC CPU definitions                                                 */
     33#define POWERPC_DEF_PREFIX(pvr, svr, type)                                  \
     34    glue(glue(glue(glue(pvr, _), svr), _), type)
     35#define POWERPC_DEF_SVR(_name, _desc, _pvr, _svr, _type)                    \
     36    static void                                                             \
     37    glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_class_init)            \
     38    (ObjectClass *oc, void *data)                                           \
     39    {                                                                       \
     40        DeviceClass *dc = DEVICE_CLASS(oc);                                 \
     41        PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);                       \
     42                                                                            \
     43        pcc->pvr          = _pvr;                                           \
     44        pcc->svr          = _svr;                                           \
     45        dc->desc          = _desc;                                          \
     46    }                                                                       \
     47                                                                            \
     48    static const TypeInfo                                                   \
     49    glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_type_info) = {         \
     50        .name       = POWERPC_CPU_TYPE_NAME(_name),                           \
     51        .parent     = stringify(_type) "-family-" TYPE_POWERPC_CPU,         \
     52        .class_init =                                                       \
     53            glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_class_init),   \
     54    };                                                                      \
     55                                                                            \
     56    static void                                                             \
     57    glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_register_types)(void)  \
     58    {                                                                       \
     59        type_register_static(                                               \
     60            &glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_type_info));  \
     61    }                                                                       \
     62                                                                            \
     63    type_init(                                                              \
     64        glue(POWERPC_DEF_PREFIX(_pvr, _svr, _type), _cpu_register_types))
     65
     66#define POWERPC_DEF(_name, _pvr, _type, _desc)                              \
     67    POWERPC_DEF_SVR(_name, _desc, _pvr, POWERPC_SVR_NONE, _type)
     68
     69    /* Embedded PowerPC                                                      */
     70    /* PowerPC 401 family                                                    */
     71    POWERPC_DEF("401",           CPU_POWERPC_401,                    401,
     72                "Generic PowerPC 401")
     73    /* PowerPC 401 cores                                                     */
     74    POWERPC_DEF("401a1",         CPU_POWERPC_401A1,                  401,
     75                "PowerPC 401A1")
     76    POWERPC_DEF("401b2",         CPU_POWERPC_401B2,                  401x2,
     77                "PowerPC 401B2")
     78    POWERPC_DEF("401c2",         CPU_POWERPC_401C2,                  401x2,
     79                "PowerPC 401C2")
     80    POWERPC_DEF("401d2",         CPU_POWERPC_401D2,                  401x2,
     81                "PowerPC 401D2")
     82    POWERPC_DEF("401e2",         CPU_POWERPC_401E2,                  401x2,
     83                "PowerPC 401E2")
     84    POWERPC_DEF("401f2",         CPU_POWERPC_401F2,                  401x2,
     85                "PowerPC 401F2")
     86    /* XXX: to be checked */
     87    POWERPC_DEF("401g2",         CPU_POWERPC_401G2,                  401x2,
     88                "PowerPC 401G2")
     89    /* PowerPC 401 microcontrollers                                          */
     90    POWERPC_DEF("iop480",        CPU_POWERPC_IOP480,                 IOP480,
     91                "IOP480 (401 microcontroller)")
     92    POWERPC_DEF("cobra",         CPU_POWERPC_COBRA,                  401,
     93                "IBM Processor for Network Resources")
     94    /* PowerPC 403 family                                                    */
     95    /* PowerPC 403 microcontrollers                                          */
     96    POWERPC_DEF("403ga",         CPU_POWERPC_403GA,                  403,
     97                "PowerPC 403 GA")
     98    POWERPC_DEF("403gb",         CPU_POWERPC_403GB,                  403,
     99                "PowerPC 403 GB")
    100    POWERPC_DEF("403gc",         CPU_POWERPC_403GC,                  403,
    101                "PowerPC 403 GC")
    102    POWERPC_DEF("403gcx",        CPU_POWERPC_403GCX,                 403GCX,
    103                "PowerPC 403 GCX")
    104    /* PowerPC 405 family                                                    */
    105    /* PowerPC 405 cores                                                     */
    106    POWERPC_DEF("405d2",         CPU_POWERPC_405D2,                  405,
    107                "PowerPC 405 D2")
    108    POWERPC_DEF("405d4",         CPU_POWERPC_405D4,                  405,
    109                "PowerPC 405 D4")
    110    /* PowerPC 405 microcontrollers                                          */
    111    POWERPC_DEF("405cra",        CPU_POWERPC_405CRa,                 405,
    112                "PowerPC 405 CRa")
    113    POWERPC_DEF("405crb",        CPU_POWERPC_405CRb,                 405,
    114                "PowerPC 405 CRb")
    115    POWERPC_DEF("405crc",        CPU_POWERPC_405CRc,                 405,
    116                "PowerPC 405 CRc")
    117    POWERPC_DEF("405ep",         CPU_POWERPC_405EP,                  405,
    118                "PowerPC 405 EP")
    119    POWERPC_DEF("405ez",         CPU_POWERPC_405EZ,                  405,
    120                "PowerPC 405 EZ")
    121    POWERPC_DEF("405gpa",        CPU_POWERPC_405GPa,                 405,
    122                "PowerPC 405 GPa")
    123    POWERPC_DEF("405gpb",        CPU_POWERPC_405GPb,                 405,
    124                "PowerPC 405 GPb")
    125    POWERPC_DEF("405gpc",        CPU_POWERPC_405GPc,                 405,
    126                "PowerPC 405 GPc")
    127    POWERPC_DEF("405gpd",        CPU_POWERPC_405GPd,                 405,
    128                "PowerPC 405 GPd")
    129    POWERPC_DEF("405gpr",        CPU_POWERPC_405GPR,                 405,
    130                "PowerPC 405 GPR")
    131    POWERPC_DEF("405lp",         CPU_POWERPC_405LP,                  405,
    132                "PowerPC 405 LP")
    133    POWERPC_DEF("npe405h",       CPU_POWERPC_NPE405H,                405,
    134                "Npe405 H")
    135    POWERPC_DEF("npe405h2",      CPU_POWERPC_NPE405H2,               405,
    136                "Npe405 H2")
    137    POWERPC_DEF("npe405l",       CPU_POWERPC_NPE405L,                405,
    138                "Npe405 L")
    139    POWERPC_DEF("npe4gs3",       CPU_POWERPC_NPE4GS3,                405,
    140                "Npe4GS3")
    141    /* PowerPC 401/403/405 based set-top-box microcontrollers                */
    142    POWERPC_DEF("stb03",         CPU_POWERPC_STB03,                  405,
    143                "STB03xx")
    144    POWERPC_DEF("stb04",         CPU_POWERPC_STB04,                  405,
    145                "STB04xx")
    146    POWERPC_DEF("stb25",         CPU_POWERPC_STB25,                  405,
    147                "STB25xx")
    148    /* Xilinx PowerPC 405 cores                                              */
    149    POWERPC_DEF("x2vp4",         CPU_POWERPC_X2VP4,                  405,
    150                NULL)
    151    POWERPC_DEF("x2vp20",        CPU_POWERPC_X2VP20,                 405,
    152                NULL)
    153    /* PowerPC 440 family                                                    */
    154#if defined(TODO_USER_ONLY)
    155    POWERPC_DEF("440",           CPU_POWERPC_440,                    440GP,
    156                "Generic PowerPC 440")
    157#endif
    158    /* PowerPC 440 cores                                                     */
    159    POWERPC_DEF("440-xilinx",    CPU_POWERPC_440_XILINX,             440x5,
    160                "PowerPC 440 Xilinx 5")
    161
    162    POWERPC_DEF("440-xilinx-w-dfpu",    CPU_POWERPC_440_XILINX, 440x5wDFPU,
    163                "PowerPC 440 Xilinx 5 With a Double Prec. FPU")
    164    /* PowerPC 440 microcontrollers                                          */
    165    POWERPC_DEF("440epa",        CPU_POWERPC_440EPa,                 440EP,
    166                "PowerPC 440 EPa")
    167    POWERPC_DEF("440epb",        CPU_POWERPC_440EPb,                 440EP,
    168                "PowerPC 440 EPb")
    169    POWERPC_DEF("440epx",        CPU_POWERPC_440EPX,                 440EP,
    170                "PowerPC 440 EPX")
    171    POWERPC_DEF("460exb",        CPU_POWERPC_460EXb,                 460EX,
    172                "PowerPC 460 EXb")
    173#if defined(TODO_USER_ONLY)
    174    POWERPC_DEF("440gpb",        CPU_POWERPC_440GPb,                 440GP,
    175                "PowerPC 440 GPb")
    176#endif
    177#if defined(TODO_USER_ONLY)
    178    POWERPC_DEF("440gpc",        CPU_POWERPC_440GPc,                 440GP,
    179                "PowerPC 440 GPc")
    180#endif
    181#if defined(TODO_USER_ONLY)
    182    POWERPC_DEF("440gra",        CPU_POWERPC_440GRa,                 440x5,
    183                "PowerPC 440 GRa")
    184#endif
    185#if defined(TODO_USER_ONLY)
    186    POWERPC_DEF("440grx",        CPU_POWERPC_440GRX,                 440x5,
    187                "PowerPC 440 GRX")
    188#endif
    189#if defined(TODO_USER_ONLY)
    190    POWERPC_DEF("440gxa",        CPU_POWERPC_440GXa,                 440EP,
    191                "PowerPC 440 GXa")
    192#endif
    193#if defined(TODO_USER_ONLY)
    194    POWERPC_DEF("440gxb",        CPU_POWERPC_440GXb,                 440EP,
    195                "PowerPC 440 GXb")
    196#endif
    197#if defined(TODO_USER_ONLY)
    198    POWERPC_DEF("440gxc",        CPU_POWERPC_440GXc,                 440EP,
    199                "PowerPC 440 GXc")
    200#endif
    201#if defined(TODO_USER_ONLY)
    202    POWERPC_DEF("440gxf",        CPU_POWERPC_440GXf,                 440EP,
    203                "PowerPC 440 GXf")
    204#endif
    205#if defined(TODO_USER_ONLY)
    206    POWERPC_DEF("440sp",         CPU_POWERPC_440SP,                  440EP,
    207                "PowerPC 440 SP")
    208#endif
    209#if defined(TODO_USER_ONLY)
    210    POWERPC_DEF("440sp2",        CPU_POWERPC_440SP2,                 440EP,
    211                "PowerPC 440 SP2")
    212#endif
    213#if defined(TODO_USER_ONLY)
    214    POWERPC_DEF("440spe",        CPU_POWERPC_440SPE,                 440EP,
    215                "PowerPC 440 SPE")
    216#endif
    217    /* Freescale embedded PowerPC cores                                      */
    218    /* MPC5xx family (aka RCPU)                                              */
    219#if defined(TODO_USER_ONLY)
    220    POWERPC_DEF("mpc5xx",        CPU_POWERPC_MPC5xx,                 MPC5xx,
    221                "Generic MPC5xx core")
    222#endif
    223    /* MPC8xx family (aka PowerQUICC)                                        */
    224#if defined(TODO_USER_ONLY)
    225    POWERPC_DEF("mpc8xx",        CPU_POWERPC_MPC8xx,                 MPC8xx,
    226                "Generic MPC8xx core")
    227#endif
    228    /* MPC82xx family (aka PowerQUICC-II)                                    */
    229    POWERPC_DEF("g2",            CPU_POWERPC_G2,                     G2,
    230                "PowerPC G2 core")
    231    POWERPC_DEF("g2h4",          CPU_POWERPC_G2H4,                   G2,
    232                "PowerPC G2 H4 core")
    233    POWERPC_DEF("g2gp",          CPU_POWERPC_G2gp,                   G2,
    234                "PowerPC G2 GP core")
    235    POWERPC_DEF("g2ls",          CPU_POWERPC_G2ls,                   G2,
    236                "PowerPC G2 LS core")
    237    POWERPC_DEF("g2hip3",        CPU_POWERPC_G2_HIP3,                G2,
    238                "PowerPC G2 HiP3 core")
    239    POWERPC_DEF("g2hip4",        CPU_POWERPC_G2_HIP4,                G2,
    240                "PowerPC G2 HiP4 core")
    241    POWERPC_DEF("mpc603",        CPU_POWERPC_MPC603,                 603E,
    242                "PowerPC MPC603 core")
    243    POWERPC_DEF("g2le",          CPU_POWERPC_G2LE,                   G2LE,
    244        "PowerPC G2le core (same as G2 plus little-endian mode support)")
    245    POWERPC_DEF("g2legp",        CPU_POWERPC_G2LEgp,                 G2LE,
    246                "PowerPC G2LE GP core")
    247    POWERPC_DEF("g2lels",        CPU_POWERPC_G2LEls,                 G2LE,
    248                "PowerPC G2LE LS core")
    249    POWERPC_DEF("g2legp1",       CPU_POWERPC_G2LEgp1,                G2LE,
    250                "PowerPC G2LE GP1 core")
    251    POWERPC_DEF("g2legp3",       CPU_POWERPC_G2LEgp3,                G2LE,
    252                "PowerPC G2LE GP3 core")
    253    /* PowerPC G2 microcontrollers                                           */
    254    POWERPC_DEF_SVR("mpc5200_v10", "MPC5200 v1.0",
    255                    CPU_POWERPC_MPC5200_v10,  POWERPC_SVR_5200_v10,  G2LE)
    256    POWERPC_DEF_SVR("mpc5200_v11", "MPC5200 v1.1",
    257                    CPU_POWERPC_MPC5200_v11,  POWERPC_SVR_5200_v11,  G2LE)
    258    POWERPC_DEF_SVR("mpc5200_v12", "MPC5200 v1.2",
    259                    CPU_POWERPC_MPC5200_v12,  POWERPC_SVR_5200_v12,  G2LE)
    260    POWERPC_DEF_SVR("mpc5200b_v20", "MPC5200B v2.0",
    261                    CPU_POWERPC_MPC5200B_v20, POWERPC_SVR_5200B_v20, G2LE)
    262    POWERPC_DEF_SVR("mpc5200b_v21", "MPC5200B v2.1",
    263                    CPU_POWERPC_MPC5200B_v21, POWERPC_SVR_5200B_v21, G2LE)
    264    /* e200 family                                                           */
    265    POWERPC_DEF("e200z5",        CPU_POWERPC_e200z5,                 e200,
    266                "PowerPC e200z5 core")
    267    POWERPC_DEF("e200z6",        CPU_POWERPC_e200z6,                 e200,
    268                "PowerPC e200z6 core")
    269    /* e300 family                                                           */
    270    POWERPC_DEF("e300c1",        CPU_POWERPC_e300c1,                 e300,
    271                "PowerPC e300c1 core")
    272    POWERPC_DEF("e300c2",        CPU_POWERPC_e300c2,                 e300,
    273                "PowerPC e300c2 core")
    274    POWERPC_DEF("e300c3",        CPU_POWERPC_e300c3,                 e300,
    275                "PowerPC e300c3 core")
    276    POWERPC_DEF("e300c4",        CPU_POWERPC_e300c4,                 e300,
    277                "PowerPC e300c4 core")
    278    /* PowerPC e300 microcontrollers                                         */
    279    POWERPC_DEF_SVR("mpc8343", "MPC8343",
    280                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8343,      e300)
    281    POWERPC_DEF_SVR("mpc8343a", "MPC8343A",
    282                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8343A,     e300)
    283    POWERPC_DEF_SVR("mpc8343e", "MPC8343E",
    284                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8343E,     e300)
    285    POWERPC_DEF_SVR("mpc8343ea", "MPC8343EA",
    286                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8343EA,    e300)
    287    POWERPC_DEF_SVR("mpc8347t", "MPC8347T",
    288                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347T,     e300)
    289    POWERPC_DEF_SVR("mpc8347p", "MPC8347P",
    290                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347P,     e300)
    291    POWERPC_DEF_SVR("mpc8347at", "MPC8347AT",
    292                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347AT,    e300)
    293    POWERPC_DEF_SVR("mpc8347ap", "MPC8347AP",
    294                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347AP,    e300)
    295    POWERPC_DEF_SVR("mpc8347et", "MPC8347ET",
    296                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347ET,    e300)
    297    POWERPC_DEF_SVR("mpc8347ep", "MPC8343EP",
    298                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347EP,    e300)
    299    POWERPC_DEF_SVR("mpc8347eat", "MPC8347EAT",
    300                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347EAT,   e300)
    301    POWERPC_DEF_SVR("mpc8347eap", "MPC8343EAP",
    302                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8347EAP,   e300)
    303    POWERPC_DEF_SVR("mpc8349", "MPC8349",
    304                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8349,      e300)
    305    POWERPC_DEF_SVR("mpc8349a", "MPC8349A",
    306                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8349A,     e300)
    307    POWERPC_DEF_SVR("mpc8349e", "MPC8349E",
    308                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8349E,     e300)
    309    POWERPC_DEF_SVR("mpc8349ea", "MPC8349EA",
    310                    CPU_POWERPC_MPC834x,      POWERPC_SVR_8349EA,    e300)
    311    POWERPC_DEF_SVR("mpc8377", "MPC8377",
    312                    CPU_POWERPC_MPC837x,      POWERPC_SVR_8377,      e300)
    313    POWERPC_DEF_SVR("mpc8377e", "MPC8377E",
    314                    CPU_POWERPC_MPC837x,      POWERPC_SVR_8377E,     e300)
    315    POWERPC_DEF_SVR("mpc8378", "MPC8378",
    316                    CPU_POWERPC_MPC837x,      POWERPC_SVR_8378,      e300)
    317    POWERPC_DEF_SVR("mpc8378e", "MPC8378E",
    318                    CPU_POWERPC_MPC837x,      POWERPC_SVR_8378E,     e300)
    319    POWERPC_DEF_SVR("mpc8379", "MPC8379",
    320                    CPU_POWERPC_MPC837x,      POWERPC_SVR_8379,      e300)
    321    POWERPC_DEF_SVR("mpc8379e", "MPC8379E",
    322                    CPU_POWERPC_MPC837x,      POWERPC_SVR_8379E,     e300)
    323    /* e500 family                                                           */
    324    POWERPC_DEF_SVR("e500_v10", "PowerPC e500 v1.0 core",
    325                    CPU_POWERPC_e500v1_v10,   POWERPC_SVR_E500,      e500v1);
    326    POWERPC_DEF_SVR("e500_v20", "PowerPC e500 v2.0 core",
    327                    CPU_POWERPC_e500v1_v20,   POWERPC_SVR_E500,      e500v1);
    328    POWERPC_DEF_SVR("e500v2_v10", "PowerPC e500v2 v1.0 core",
    329                    CPU_POWERPC_e500v2_v10,   POWERPC_SVR_E500,      e500v2);
    330    POWERPC_DEF_SVR("e500v2_v20", "PowerPC e500v2 v2.0 core",
    331                    CPU_POWERPC_e500v2_v20,   POWERPC_SVR_E500,      e500v2);
    332    POWERPC_DEF_SVR("e500v2_v21", "PowerPC e500v2 v2.1 core",
    333                    CPU_POWERPC_e500v2_v21,   POWERPC_SVR_E500,      e500v2);
    334    POWERPC_DEF_SVR("e500v2_v22", "PowerPC e500v2 v2.2 core",
    335                    CPU_POWERPC_e500v2_v22,   POWERPC_SVR_E500,      e500v2);
    336    POWERPC_DEF_SVR("e500v2_v30", "PowerPC e500v2 v3.0 core",
    337                    CPU_POWERPC_e500v2_v30,   POWERPC_SVR_E500,      e500v2);
    338    POWERPC_DEF_SVR("e500mc", "e500mc",
    339                    CPU_POWERPC_e500mc,       POWERPC_SVR_E500,      e500mc)
    340#ifdef TARGET_PPC64
    341    POWERPC_DEF_SVR("e5500", "e5500",
    342                    CPU_POWERPC_e5500,        POWERPC_SVR_E500,      e5500)
    343    POWERPC_DEF_SVR("e6500", "e6500",
    344                    CPU_POWERPC_e6500,        POWERPC_SVR_E500,      e6500)
    345#endif
    346    /* PowerPC e500 microcontrollers                                         */
    347    POWERPC_DEF_SVR("mpc8533_v10", "MPC8533 v1.0",
    348                    CPU_POWERPC_MPC8533_v10,  POWERPC_SVR_8533_v10,  e500v2)
    349    POWERPC_DEF_SVR("mpc8533_v11", "MPC8533 v1.1",
    350                    CPU_POWERPC_MPC8533_v11,  POWERPC_SVR_8533_v11,  e500v2)
    351    POWERPC_DEF_SVR("mpc8533e_v10", "MPC8533E v1.0",
    352                    CPU_POWERPC_MPC8533E_v10, POWERPC_SVR_8533E_v10, e500v2)
    353    POWERPC_DEF_SVR("mpc8533e_v11", "MPC8533E v1.1",
    354                    CPU_POWERPC_MPC8533E_v11, POWERPC_SVR_8533E_v11, e500v2)
    355    POWERPC_DEF_SVR("mpc8540_v10", "MPC8540 v1.0",
    356                    CPU_POWERPC_MPC8540_v10,  POWERPC_SVR_8540_v10,  e500v1)
    357    POWERPC_DEF_SVR("mpc8540_v20", "MPC8540 v2.0",
    358                    CPU_POWERPC_MPC8540_v20,  POWERPC_SVR_8540_v20,  e500v1)
    359    POWERPC_DEF_SVR("mpc8540_v21", "MPC8540 v2.1",
    360                    CPU_POWERPC_MPC8540_v21,  POWERPC_SVR_8540_v21,  e500v1)
    361    POWERPC_DEF_SVR("mpc8541_v10", "MPC8541 v1.0",
    362                    CPU_POWERPC_MPC8541_v10,  POWERPC_SVR_8541_v10,  e500v1)
    363    POWERPC_DEF_SVR("mpc8541_v11", "MPC8541 v1.1",
    364                    CPU_POWERPC_MPC8541_v11,  POWERPC_SVR_8541_v11,  e500v1)
    365    POWERPC_DEF_SVR("mpc8541e_v10", "MPC8541E v1.0",
    366                    CPU_POWERPC_MPC8541E_v10, POWERPC_SVR_8541E_v10, e500v1)
    367    POWERPC_DEF_SVR("mpc8541e_v11", "MPC8541E v1.1",
    368                    CPU_POWERPC_MPC8541E_v11, POWERPC_SVR_8541E_v11, e500v1)
    369    POWERPC_DEF_SVR("mpc8543_v10", "MPC8543 v1.0",
    370                    CPU_POWERPC_MPC8543_v10,  POWERPC_SVR_8543_v10,  e500v2)
    371    POWERPC_DEF_SVR("mpc8543_v11", "MPC8543 v1.1",
    372                    CPU_POWERPC_MPC8543_v11,  POWERPC_SVR_8543_v11,  e500v2)
    373    POWERPC_DEF_SVR("mpc8543_v20", "MPC8543 v2.0",
    374                    CPU_POWERPC_MPC8543_v20,  POWERPC_SVR_8543_v20,  e500v2)
    375    POWERPC_DEF_SVR("mpc8543_v21", "MPC8543 v2.1",
    376                    CPU_POWERPC_MPC8543_v21,  POWERPC_SVR_8543_v21,  e500v2)
    377    POWERPC_DEF_SVR("mpc8543e_v10", "MPC8543E v1.0",
    378                    CPU_POWERPC_MPC8543E_v10, POWERPC_SVR_8543E_v10, e500v2)
    379    POWERPC_DEF_SVR("mpc8543e_v11", "MPC8543E v1.1",
    380                    CPU_POWERPC_MPC8543E_v11, POWERPC_SVR_8543E_v11, e500v2)
    381    POWERPC_DEF_SVR("mpc8543e_v20", "MPC8543E v2.0",
    382                    CPU_POWERPC_MPC8543E_v20, POWERPC_SVR_8543E_v20, e500v2)
    383    POWERPC_DEF_SVR("mpc8543e_v21", "MPC8543E v2.1",
    384                    CPU_POWERPC_MPC8543E_v21, POWERPC_SVR_8543E_v21, e500v2)
    385    POWERPC_DEF_SVR("mpc8544_v10", "MPC8544 v1.0",
    386                    CPU_POWERPC_MPC8544_v10,  POWERPC_SVR_8544_v10,  e500v2)
    387    POWERPC_DEF_SVR("mpc8544_v11", "MPC8544 v1.1",
    388                    CPU_POWERPC_MPC8544_v11,  POWERPC_SVR_8544_v11,  e500v2)
    389    POWERPC_DEF_SVR("mpc8544e_v10", "MPC8544E v1.0",
    390                    CPU_POWERPC_MPC8544E_v10, POWERPC_SVR_8544E_v10, e500v2)
    391    POWERPC_DEF_SVR("mpc8544e_v11", "MPC8544E v1.1",
    392                    CPU_POWERPC_MPC8544E_v11, POWERPC_SVR_8544E_v11, e500v2)
    393    POWERPC_DEF_SVR("mpc8545_v20", "MPC8545 v2.0",
    394                    CPU_POWERPC_MPC8545_v20,  POWERPC_SVR_8545_v20,  e500v2)
    395    POWERPC_DEF_SVR("mpc8545_v21", "MPC8545 v2.1",
    396                    CPU_POWERPC_MPC8545_v21,  POWERPC_SVR_8545_v21,  e500v2)
    397    POWERPC_DEF_SVR("mpc8545e_v20", "MPC8545E v2.0",
    398                    CPU_POWERPC_MPC8545E_v20, POWERPC_SVR_8545E_v20, e500v2)
    399    POWERPC_DEF_SVR("mpc8545e_v21", "MPC8545E v2.1",
    400                    CPU_POWERPC_MPC8545E_v21, POWERPC_SVR_8545E_v21, e500v2)
    401    POWERPC_DEF_SVR("mpc8547e_v20", "MPC8547E v2.0",
    402                    CPU_POWERPC_MPC8547E_v20, POWERPC_SVR_8547E_v20, e500v2)
    403    POWERPC_DEF_SVR("mpc8547e_v21", "MPC8547E v2.1",
    404                    CPU_POWERPC_MPC8547E_v21, POWERPC_SVR_8547E_v21, e500v2)
    405    POWERPC_DEF_SVR("mpc8548_v10", "MPC8548 v1.0",
    406                    CPU_POWERPC_MPC8548_v10,  POWERPC_SVR_8548_v10,  e500v2)
    407    POWERPC_DEF_SVR("mpc8548_v11", "MPC8548 v1.1",
    408                    CPU_POWERPC_MPC8548_v11,  POWERPC_SVR_8548_v11,  e500v2)
    409    POWERPC_DEF_SVR("mpc8548_v20", "MPC8548 v2.0",
    410                    CPU_POWERPC_MPC8548_v20,  POWERPC_SVR_8548_v20,  e500v2)
    411    POWERPC_DEF_SVR("mpc8548_v21", "MPC8548 v2.1",
    412                    CPU_POWERPC_MPC8548_v21,  POWERPC_SVR_8548_v21,  e500v2)
    413    POWERPC_DEF_SVR("mpc8548e_v10", "MPC8548E v1.0",
    414                    CPU_POWERPC_MPC8548E_v10, POWERPC_SVR_8548E_v10, e500v2)
    415    POWERPC_DEF_SVR("mpc8548e_v11", "MPC8548E v1.1",
    416                    CPU_POWERPC_MPC8548E_v11, POWERPC_SVR_8548E_v11, e500v2)
    417    POWERPC_DEF_SVR("mpc8548e_v20", "MPC8548E v2.0",
    418                    CPU_POWERPC_MPC8548E_v20, POWERPC_SVR_8548E_v20, e500v2)
    419    POWERPC_DEF_SVR("mpc8548e_v21", "MPC8548E v2.1",
    420                    CPU_POWERPC_MPC8548E_v21, POWERPC_SVR_8548E_v21, e500v2)
    421    POWERPC_DEF_SVR("mpc8555_v10", "MPC8555 v1.0",
    422                    CPU_POWERPC_MPC8555_v10,  POWERPC_SVR_8555_v10,  e500v2)
    423    POWERPC_DEF_SVR("mpc8555_v11", "MPC8555 v1.1",
    424                    CPU_POWERPC_MPC8555_v11,  POWERPC_SVR_8555_v11,  e500v2)
    425    POWERPC_DEF_SVR("mpc8555e_v10", "MPC8555E v1.0",
    426                    CPU_POWERPC_MPC8555E_v10, POWERPC_SVR_8555E_v10, e500v2)
    427    POWERPC_DEF_SVR("mpc8555e_v11", "MPC8555E v1.1",
    428                    CPU_POWERPC_MPC8555E_v11, POWERPC_SVR_8555E_v11, e500v2)
    429    POWERPC_DEF_SVR("mpc8560_v10", "MPC8560 v1.0",
    430                    CPU_POWERPC_MPC8560_v10,  POWERPC_SVR_8560_v10,  e500v2)
    431    POWERPC_DEF_SVR("mpc8560_v20", "MPC8560 v2.0",
    432                    CPU_POWERPC_MPC8560_v20,  POWERPC_SVR_8560_v20,  e500v2)
    433    POWERPC_DEF_SVR("mpc8560_v21", "MPC8560 v2.1",
    434                    CPU_POWERPC_MPC8560_v21,  POWERPC_SVR_8560_v21,  e500v2)
    435    POWERPC_DEF_SVR("mpc8567", "MPC8567",
    436                    CPU_POWERPC_MPC8567,      POWERPC_SVR_8567,      e500v2)
    437    POWERPC_DEF_SVR("mpc8567e", "MPC8567E",
    438                    CPU_POWERPC_MPC8567E,     POWERPC_SVR_8567E,     e500v2)
    439    POWERPC_DEF_SVR("mpc8568", "MPC8568",
    440                    CPU_POWERPC_MPC8568,      POWERPC_SVR_8568,      e500v2)
    441    POWERPC_DEF_SVR("mpc8568e", "MPC8568E",
    442                    CPU_POWERPC_MPC8568E,     POWERPC_SVR_8568E,     e500v2)
    443    POWERPC_DEF_SVR("mpc8572", "MPC8572",
    444                    CPU_POWERPC_MPC8572,      POWERPC_SVR_8572,      e500v2)
    445    POWERPC_DEF_SVR("mpc8572e", "MPC8572E",
    446                    CPU_POWERPC_MPC8572E,     POWERPC_SVR_8572E,     e500v2)
    447    /* e600 family                                                           */
    448    POWERPC_DEF("e600",          CPU_POWERPC_e600,                   e600,
    449                "PowerPC e600 core")
    450    /* PowerPC e600 microcontrollers                                         */
    451    POWERPC_DEF_SVR("mpc8610", "MPC8610",
    452                    CPU_POWERPC_MPC8610,      POWERPC_SVR_8610,      e600)
    453    POWERPC_DEF_SVR("mpc8641", "MPC8641",
    454                    CPU_POWERPC_MPC8641,      POWERPC_SVR_8641,      e600)
    455    POWERPC_DEF_SVR("mpc8641d", "MPC8641D",
    456                    CPU_POWERPC_MPC8641D,     POWERPC_SVR_8641D,     e600)
    457    /* 32 bits "classic" PowerPC                                             */
    458    /* PowerPC 6xx family                                                    */
    459    POWERPC_DEF("601_v0",        CPU_POWERPC_601_v0,                 601,
    460                "PowerPC 601v0")
    461    POWERPC_DEF("601_v1",        CPU_POWERPC_601_v1,                 601,
    462                "PowerPC 601v1")
    463    POWERPC_DEF("601_v2",        CPU_POWERPC_601_v2,                 601v,
    464                "PowerPC 601v2")
    465    POWERPC_DEF("602",           CPU_POWERPC_602,                    602,
    466                "PowerPC 602")
    467    POWERPC_DEF("603",           CPU_POWERPC_603,                    603,
    468                "PowerPC 603")
    469    POWERPC_DEF("603e_v1.1",     CPU_POWERPC_603E_v11,               603E,
    470                "PowerPC 603e v1.1")
    471    POWERPC_DEF("603e_v1.2",     CPU_POWERPC_603E_v12,               603E,
    472                "PowerPC 603e v1.2")
    473    POWERPC_DEF("603e_v1.3",     CPU_POWERPC_603E_v13,               603E,
    474                "PowerPC 603e v1.3")
    475    POWERPC_DEF("603e_v1.4",     CPU_POWERPC_603E_v14,               603E,
    476                "PowerPC 603e v1.4")
    477    POWERPC_DEF("603e_v2.2",     CPU_POWERPC_603E_v22,               603E,
    478                "PowerPC 603e v2.2")
    479    POWERPC_DEF("603e_v3",       CPU_POWERPC_603E_v3,                603E,
    480                "PowerPC 603e v3")
    481    POWERPC_DEF("603e_v4",       CPU_POWERPC_603E_v4,                603E,
    482                "PowerPC 603e v4")
    483    POWERPC_DEF("603e_v4.1",     CPU_POWERPC_603E_v41,               603E,
    484                "PowerPC 603e v4.1")
    485    POWERPC_DEF("603e7",         CPU_POWERPC_603E7,                  603E,
    486                "PowerPC 603e (aka PID7)")
    487    POWERPC_DEF("603e7t",        CPU_POWERPC_603E7t,                 603E,
    488                "PowerPC 603e7t")
    489    POWERPC_DEF("603e7v",        CPU_POWERPC_603E7v,                 603E,
    490                "PowerPC 603e7v")
    491    POWERPC_DEF("603e7v1",       CPU_POWERPC_603E7v1,                603E,
    492                "PowerPC 603e7v1")
    493    POWERPC_DEF("603e7v2",       CPU_POWERPC_603E7v2,                603E,
    494                "PowerPC 603e7v2")
    495    POWERPC_DEF("603p",          CPU_POWERPC_603P,                   603E,
    496                "PowerPC 603p (aka PID7v)")
    497    POWERPC_DEF("604",           CPU_POWERPC_604,                    604,
    498                "PowerPC 604")
    499    POWERPC_DEF("604e_v1.0",     CPU_POWERPC_604E_v10,               604E,
    500                "PowerPC 604e v1.0")
    501    POWERPC_DEF("604e_v2.2",     CPU_POWERPC_604E_v22,               604E,
    502                "PowerPC 604e v2.2")
    503    POWERPC_DEF("604e_v2.4",     CPU_POWERPC_604E_v24,               604E,
    504                "PowerPC 604e v2.4")
    505    POWERPC_DEF("604r",          CPU_POWERPC_604R,                   604E,
    506                "PowerPC 604r (aka PIDA)")
    507    /* PowerPC 7xx family                                                    */
    508    POWERPC_DEF("740_v1.0",      CPU_POWERPC_7x0_v10,                740,
    509                "PowerPC 740 v1.0 (G3)")
    510    POWERPC_DEF("750_v1.0",      CPU_POWERPC_7x0_v10,                750,
    511                "PowerPC 750 v1.0 (G3)")
    512    POWERPC_DEF("740_v2.0",      CPU_POWERPC_7x0_v20,                740,
    513                "PowerPC 740 v2.0 (G3)")
    514    POWERPC_DEF("750_v2.0",      CPU_POWERPC_7x0_v20,                750,
    515                "PowerPC 750 v2.0 (G3)")
    516    POWERPC_DEF("740_v2.1",      CPU_POWERPC_7x0_v21,                740,
    517                "PowerPC 740 v2.1 (G3)")
    518    POWERPC_DEF("750_v2.1",      CPU_POWERPC_7x0_v21,                750,
    519                "PowerPC 750 v2.1 (G3)")
    520    POWERPC_DEF("740_v2.2",      CPU_POWERPC_7x0_v22,                740,
    521                "PowerPC 740 v2.2 (G3)")
    522    POWERPC_DEF("750_v2.2",      CPU_POWERPC_7x0_v22,                750,
    523                "PowerPC 750 v2.2 (G3)")
    524    POWERPC_DEF("740_v3.0",      CPU_POWERPC_7x0_v30,                740,
    525                "PowerPC 740 v3.0 (G3)")
    526    POWERPC_DEF("750_v3.0",      CPU_POWERPC_7x0_v30,                750,
    527                "PowerPC 750 v3.0 (G3)")
    528    POWERPC_DEF("740_v3.1",      CPU_POWERPC_7x0_v31,                740,
    529                "PowerPC 740 v3.1 (G3)")
    530    POWERPC_DEF("750_v3.1",      CPU_POWERPC_7x0_v31,                750,
    531                "PowerPC 750 v3.1 (G3)")
    532    POWERPC_DEF("740e",          CPU_POWERPC_740E,                   740,
    533                "PowerPC 740E (G3)")
    534    POWERPC_DEF("750e",          CPU_POWERPC_750E,                   750,
    535                "PowerPC 750E (G3)")
    536    POWERPC_DEF("740p",          CPU_POWERPC_7x0P,                   740,
    537                "PowerPC 740P (G3)")
    538    POWERPC_DEF("750p",          CPU_POWERPC_7x0P,                   750,
    539                "PowerPC 750P (G3)")
    540    POWERPC_DEF("750cl_v1.0",    CPU_POWERPC_750CL_v10,              750cl,
    541                "PowerPC 750CL v1.0")
    542    POWERPC_DEF("750cl_v2.0",    CPU_POWERPC_750CL_v20,              750cl,
    543                "PowerPC 750CL v2.0")
    544    POWERPC_DEF("750cx_v1.0",    CPU_POWERPC_750CX_v10,              750cx,
    545                "PowerPC 750CX v1.0 (G3 embedded)")
    546    POWERPC_DEF("750cx_v2.0",    CPU_POWERPC_750CX_v20,              750cx,
    547                "PowerPC 750CX v2.1 (G3 embedded)")
    548    POWERPC_DEF("750cx_v2.1",    CPU_POWERPC_750CX_v21,              750cx,
    549                "PowerPC 750CX v2.1 (G3 embedded)")
    550    POWERPC_DEF("750cx_v2.2",    CPU_POWERPC_750CX_v22,              750cx,
    551                "PowerPC 750CX v2.2 (G3 embedded)")
    552    POWERPC_DEF("750cxe_v2.1",   CPU_POWERPC_750CXE_v21,             750cx,
    553                "PowerPC 750CXe v2.1 (G3 embedded)")
    554    POWERPC_DEF("750cxe_v2.2",   CPU_POWERPC_750CXE_v22,             750cx,
    555                "PowerPC 750CXe v2.2 (G3 embedded)")
    556    POWERPC_DEF("750cxe_v2.3",   CPU_POWERPC_750CXE_v23,             750cx,
    557                "PowerPC 750CXe v2.3 (G3 embedded)")
    558    POWERPC_DEF("750cxe_v2.4",   CPU_POWERPC_750CXE_v24,             750cx,
    559                "PowerPC 750CXe v2.4 (G3 embedded)")
    560    POWERPC_DEF("750cxe_v2.4b",  CPU_POWERPC_750CXE_v24b,            750cx,
    561                "PowerPC 750CXe v2.4b (G3 embedded)")
    562    POWERPC_DEF("750cxe_v3.0",   CPU_POWERPC_750CXE_v30,             750cx,
    563                "PowerPC 750CXe v3.0 (G3 embedded)")
    564    POWERPC_DEF("750cxe_v3.1",   CPU_POWERPC_750CXE_v31,             750cx,
    565                "PowerPC 750CXe v3.1 (G3 embedded)")
    566    POWERPC_DEF("750cxe_v3.1b",  CPU_POWERPC_750CXE_v31b,            750cx,
    567                "PowerPC 750CXe v3.1b (G3 embedded)")
    568    POWERPC_DEF("750cxr",        CPU_POWERPC_750CXR,                 750cx,
    569                "PowerPC 750CXr (G3 embedded)")
    570    POWERPC_DEF("750fl",         CPU_POWERPC_750FL,                  750fx,
    571                "PowerPC 750FL (G3 embedded)")
    572    POWERPC_DEF("750fx_v1.0",    CPU_POWERPC_750FX_v10,              750fx,
    573                "PowerPC 750FX v1.0 (G3 embedded)")
    574    POWERPC_DEF("750fx_v2.0",    CPU_POWERPC_750FX_v20,              750fx,
    575                "PowerPC 750FX v2.0 (G3 embedded)")
    576    POWERPC_DEF("750fx_v2.1",    CPU_POWERPC_750FX_v21,              750fx,
    577                "PowerPC 750FX v2.1 (G3 embedded)")
    578    POWERPC_DEF("750fx_v2.2",    CPU_POWERPC_750FX_v22,              750fx,
    579                "PowerPC 750FX v2.2 (G3 embedded)")
    580    POWERPC_DEF("750fx_v2.3",    CPU_POWERPC_750FX_v23,              750fx,
    581                "PowerPC 750FX v2.3 (G3 embedded)")
    582    POWERPC_DEF("750gl",         CPU_POWERPC_750GL,                  750gx,
    583                "PowerPC 750GL (G3 embedded)")
    584    POWERPC_DEF("750gx_v1.0",    CPU_POWERPC_750GX_v10,              750gx,
    585                "PowerPC 750GX v1.0 (G3 embedded)")
    586    POWERPC_DEF("750gx_v1.1",    CPU_POWERPC_750GX_v11,              750gx,
    587                "PowerPC 750GX v1.1 (G3 embedded)")
    588    POWERPC_DEF("750gx_v1.2",    CPU_POWERPC_750GX_v12,              750gx,
    589                "PowerPC 750GX v1.2 (G3 embedded)")
    590    POWERPC_DEF("750l_v2.0",     CPU_POWERPC_750L_v20,               750,
    591                "PowerPC 750L v2.0 (G3 embedded)")
    592    POWERPC_DEF("750l_v2.1",     CPU_POWERPC_750L_v21,               750,
    593                "PowerPC 750L v2.1 (G3 embedded)")
    594    POWERPC_DEF("750l_v2.2",     CPU_POWERPC_750L_v22,               750,
    595                "PowerPC 750L v2.2 (G3 embedded)")
    596    POWERPC_DEF("750l_v3.0",     CPU_POWERPC_750L_v30,               750,
    597                "PowerPC 750L v3.0 (G3 embedded)")
    598    POWERPC_DEF("750l_v3.2",     CPU_POWERPC_750L_v32,               750,
    599                "PowerPC 750L v3.2 (G3 embedded)")
    600    POWERPC_DEF("745_v1.0",      CPU_POWERPC_7x5_v10,                745,
    601                "PowerPC 745 v1.0")
    602    POWERPC_DEF("755_v1.0",      CPU_POWERPC_7x5_v10,                755,
    603                "PowerPC 755 v1.0")
    604    POWERPC_DEF("745_v1.1",      CPU_POWERPC_7x5_v11,                745,
    605                "PowerPC 745 v1.1")
    606    POWERPC_DEF("755_v1.1",      CPU_POWERPC_7x5_v11,                755,
    607                "PowerPC 755 v1.1")
    608    POWERPC_DEF("745_v2.0",      CPU_POWERPC_7x5_v20,                745,
    609                "PowerPC 745 v2.0")
    610    POWERPC_DEF("755_v2.0",      CPU_POWERPC_7x5_v20,                755,
    611                "PowerPC 755 v2.0")
    612    POWERPC_DEF("745_v2.1",      CPU_POWERPC_7x5_v21,                745,
    613                "PowerPC 745 v2.1")
    614    POWERPC_DEF("755_v2.1",      CPU_POWERPC_7x5_v21,                755,
    615                "PowerPC 755 v2.1")
    616    POWERPC_DEF("745_v2.2",      CPU_POWERPC_7x5_v22,                745,
    617                "PowerPC 745 v2.2")
    618    POWERPC_DEF("755_v2.2",      CPU_POWERPC_7x5_v22,                755,
    619                "PowerPC 755 v2.2")
    620    POWERPC_DEF("745_v2.3",      CPU_POWERPC_7x5_v23,                745,
    621                "PowerPC 745 v2.3")
    622    POWERPC_DEF("755_v2.3",      CPU_POWERPC_7x5_v23,                755,
    623                "PowerPC 755 v2.3")
    624    POWERPC_DEF("745_v2.4",      CPU_POWERPC_7x5_v24,                745,
    625                "PowerPC 745 v2.4")
    626    POWERPC_DEF("755_v2.4",      CPU_POWERPC_7x5_v24,                755,
    627                "PowerPC 755 v2.4")
    628    POWERPC_DEF("745_v2.5",      CPU_POWERPC_7x5_v25,                745,
    629                "PowerPC 745 v2.5")
    630    POWERPC_DEF("755_v2.5",      CPU_POWERPC_7x5_v25,                755,
    631                "PowerPC 755 v2.5")
    632    POWERPC_DEF("745_v2.6",      CPU_POWERPC_7x5_v26,                745,
    633                "PowerPC 745 v2.6")
    634    POWERPC_DEF("755_v2.6",      CPU_POWERPC_7x5_v26,                755,
    635                "PowerPC 755 v2.6")
    636    POWERPC_DEF("745_v2.7",      CPU_POWERPC_7x5_v27,                745,
    637                "PowerPC 745 v2.7")
    638    POWERPC_DEF("755_v2.7",      CPU_POWERPC_7x5_v27,                755,
    639                "PowerPC 755 v2.7")
    640    POWERPC_DEF("745_v2.8",      CPU_POWERPC_7x5_v28,                745,
    641                "PowerPC 745 v2.8")
    642    POWERPC_DEF("755_v2.8",      CPU_POWERPC_7x5_v28,                755,
    643                "PowerPC 755 v2.8")
    644    /* PowerPC 74xx family                                                   */
    645    POWERPC_DEF("7400_v1.0",     CPU_POWERPC_7400_v10,               7400,
    646                "PowerPC 7400 v1.0 (G4)")
    647    POWERPC_DEF("7400_v1.1",     CPU_POWERPC_7400_v11,               7400,
    648                "PowerPC 7400 v1.1 (G4)")
    649    POWERPC_DEF("7400_v2.0",     CPU_POWERPC_7400_v20,               7400,
    650                "PowerPC 7400 v2.0 (G4)")
    651    POWERPC_DEF("7400_v2.1",     CPU_POWERPC_7400_v21,               7400,
    652                "PowerPC 7400 v2.1 (G4)")
    653    POWERPC_DEF("7400_v2.2",     CPU_POWERPC_7400_v22,               7400,
    654                "PowerPC 7400 v2.2 (G4)")
    655    POWERPC_DEF("7400_v2.6",     CPU_POWERPC_7400_v26,               7400,
    656                "PowerPC 7400 v2.6 (G4)")
    657    POWERPC_DEF("7400_v2.7",     CPU_POWERPC_7400_v27,               7400,
    658                "PowerPC 7400 v2.7 (G4)")
    659    POWERPC_DEF("7400_v2.8",     CPU_POWERPC_7400_v28,               7400,
    660                "PowerPC 7400 v2.8 (G4)")
    661    POWERPC_DEF("7400_v2.9",     CPU_POWERPC_7400_v29,               7400,
    662                "PowerPC 7400 v2.9 (G4)")
    663    POWERPC_DEF("7410_v1.0",     CPU_POWERPC_7410_v10,               7410,
    664                "PowerPC 7410 v1.0 (G4)")
    665    POWERPC_DEF("7410_v1.1",     CPU_POWERPC_7410_v11,               7410,
    666                "PowerPC 7410 v1.1 (G4)")
    667    POWERPC_DEF("7410_v1.2",     CPU_POWERPC_7410_v12,               7410,
    668                "PowerPC 7410 v1.2 (G4)")
    669    POWERPC_DEF("7410_v1.3",     CPU_POWERPC_7410_v13,               7410,
    670                "PowerPC 7410 v1.3 (G4)")
    671    POWERPC_DEF("7410_v1.4",     CPU_POWERPC_7410_v14,               7410,
    672                "PowerPC 7410 v1.4 (G4)")
    673    POWERPC_DEF("7448_v1.0",     CPU_POWERPC_7448_v10,               7400,
    674                "PowerPC 7448 v1.0 (G4)")
    675    POWERPC_DEF("7448_v1.1",     CPU_POWERPC_7448_v11,               7400,
    676                "PowerPC 7448 v1.1 (G4)")
    677    POWERPC_DEF("7448_v2.0",     CPU_POWERPC_7448_v20,               7400,
    678                "PowerPC 7448 v2.0 (G4)")
    679    POWERPC_DEF("7448_v2.1",     CPU_POWERPC_7448_v21,               7400,
    680                "PowerPC 7448 v2.1 (G4)")
    681    POWERPC_DEF("7450_v1.0",     CPU_POWERPC_7450_v10,               7450,
    682                "PowerPC 7450 v1.0 (G4)")
    683    POWERPC_DEF("7450_v1.1",     CPU_POWERPC_7450_v11,               7450,
    684                "PowerPC 7450 v1.1 (G4)")
    685    POWERPC_DEF("7450_v1.2",     CPU_POWERPC_7450_v12,               7450,
    686                "PowerPC 7450 v1.2 (G4)")
    687    POWERPC_DEF("7450_v2.0",     CPU_POWERPC_7450_v20,               7450,
    688                "PowerPC 7450 v2.0 (G4)")
    689    POWERPC_DEF("7450_v2.1",     CPU_POWERPC_7450_v21,               7450,
    690                "PowerPC 7450 v2.1 (G4)")
    691    POWERPC_DEF("7441_v2.1",     CPU_POWERPC_7450_v21,               7440,
    692                "PowerPC 7441 v2.1 (G4)")
    693    POWERPC_DEF("7441_v2.3",     CPU_POWERPC_74x1_v23,               7440,
    694                "PowerPC 7441 v2.3 (G4)")
    695    POWERPC_DEF("7451_v2.3",     CPU_POWERPC_74x1_v23,               7450,
    696                "PowerPC 7451 v2.3 (G4)")
    697    POWERPC_DEF("7441_v2.10",    CPU_POWERPC_74x1_v210,              7440,
    698                "PowerPC 7441 v2.10 (G4)")
    699    POWERPC_DEF("7451_v2.10",    CPU_POWERPC_74x1_v210,              7450,
    700                "PowerPC 7451 v2.10 (G4)")
    701    POWERPC_DEF("7445_v1.0",     CPU_POWERPC_74x5_v10,               7445,
    702                "PowerPC 7445 v1.0 (G4)")
    703    POWERPC_DEF("7455_v1.0",     CPU_POWERPC_74x5_v10,               7455,
    704                "PowerPC 7455 v1.0 (G4)")
    705    POWERPC_DEF("7445_v2.1",     CPU_POWERPC_74x5_v21,               7445,
    706                "PowerPC 7445 v2.1 (G4)")
    707    POWERPC_DEF("7455_v2.1",     CPU_POWERPC_74x5_v21,               7455,
    708                "PowerPC 7455 v2.1 (G4)")
    709    POWERPC_DEF("7445_v3.2",     CPU_POWERPC_74x5_v32,               7445,
    710                "PowerPC 7445 v3.2 (G4)")
    711    POWERPC_DEF("7455_v3.2",     CPU_POWERPC_74x5_v32,               7455,
    712                "PowerPC 7455 v3.2 (G4)")
    713    POWERPC_DEF("7445_v3.3",     CPU_POWERPC_74x5_v33,               7445,
    714                "PowerPC 7445 v3.3 (G4)")
    715    POWERPC_DEF("7455_v3.3",     CPU_POWERPC_74x5_v33,               7455,
    716                "PowerPC 7455 v3.3 (G4)")
    717    POWERPC_DEF("7445_v3.4",     CPU_POWERPC_74x5_v34,               7445,
    718                "PowerPC 7445 v3.4 (G4)")
    719    POWERPC_DEF("7455_v3.4",     CPU_POWERPC_74x5_v34,               7455,
    720                "PowerPC 7455 v3.4 (G4)")
    721    POWERPC_DEF("7447_v1.0",     CPU_POWERPC_74x7_v10,               7445,
    722                "PowerPC 7447 v1.0 (G4)")
    723    POWERPC_DEF("7457_v1.0",     CPU_POWERPC_74x7_v10,               7455,
    724                "PowerPC 7457 v1.0 (G4)")
    725    POWERPC_DEF("7447_v1.1",     CPU_POWERPC_74x7_v11,               7445,
    726                "PowerPC 7447 v1.1 (G4)")
    727    POWERPC_DEF("7457_v1.1",     CPU_POWERPC_74x7_v11,               7455,
    728                "PowerPC 7457 v1.1 (G4)")
    729    POWERPC_DEF("7457_v1.2",     CPU_POWERPC_74x7_v12,               7455,
    730                "PowerPC 7457 v1.2 (G4)")
    731    POWERPC_DEF("7447a_v1.0",    CPU_POWERPC_74x7A_v10,              7445,
    732                "PowerPC 7447A v1.0 (G4)")
    733    POWERPC_DEF("7457a_v1.0",    CPU_POWERPC_74x7A_v10,              7455,
    734                "PowerPC 7457A v1.0 (G4)")
    735    POWERPC_DEF("7447a_v1.1",    CPU_POWERPC_74x7A_v11,              7445,
    736                "PowerPC 7447A v1.1 (G4)")
    737    POWERPC_DEF("7457a_v1.1",    CPU_POWERPC_74x7A_v11,              7455,
    738                "PowerPC 7457A v1.1 (G4)")
    739    POWERPC_DEF("7447a_v1.2",    CPU_POWERPC_74x7A_v12,              7445,
    740                "PowerPC 7447A v1.2 (G4)")
    741    POWERPC_DEF("7457a_v1.2",    CPU_POWERPC_74x7A_v12,              7455,
    742                "PowerPC 7457A v1.2 (G4)")
    743    /* 64 bits PowerPC                                                       */
    744#if defined(TARGET_PPC64)
    745    POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
    746                "PowerPC 970 v2.2")
    747    POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,
    748                "PowerPC 970FX v1.0 (G5)")
    749    POWERPC_DEF("970fx_v2.0",    CPU_POWERPC_970FX_v20,              970,
    750                "PowerPC 970FX v2.0 (G5)")
    751    POWERPC_DEF("970fx_v2.1",    CPU_POWERPC_970FX_v21,              970,
    752                "PowerPC 970FX v2.1 (G5)")
    753    POWERPC_DEF("970fx_v3.0",    CPU_POWERPC_970FX_v30,              970,
    754                "PowerPC 970FX v3.0 (G5)")
    755    POWERPC_DEF("970fx_v3.1",    CPU_POWERPC_970FX_v31,              970,
    756                "PowerPC 970FX v3.1 (G5)")
    757    POWERPC_DEF("970mp_v1.0",    CPU_POWERPC_970MP_v10,              970,
    758                "PowerPC 970MP v1.0")
    759    POWERPC_DEF("970mp_v1.1",    CPU_POWERPC_970MP_v11,              970,
    760                "PowerPC 970MP v1.1")
    761    POWERPC_DEF("power5+_v2.1",  CPU_POWERPC_POWER5P_v21,            POWER5P,
    762                "POWER5+ v2.1")
    763    POWERPC_DEF("power7_v2.3",   CPU_POWERPC_POWER7_v23,             POWER7,
    764                "POWER7 v2.3")
    765    POWERPC_DEF("power7+_v2.1",  CPU_POWERPC_POWER7P_v21,            POWER7,
    766                "POWER7+ v2.1")
    767    POWERPC_DEF("power8e_v2.1",  CPU_POWERPC_POWER8E_v21,            POWER8,
    768                "POWER8E v2.1")
    769    POWERPC_DEF("power8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
    770                "POWER8 v2.0")
    771    POWERPC_DEF("power8nvl_v1.0", CPU_POWERPC_POWER8NVL_v10,         POWER8,
    772                "POWER8NVL v1.0")
    773    POWERPC_DEF("power9_v1.0",   CPU_POWERPC_POWER9_DD1,             POWER9,
    774                "POWER9 v1.0")
    775    POWERPC_DEF("power9_v2.0",   CPU_POWERPC_POWER9_DD20,            POWER9,
    776                "POWER9 v2.0")
    777    POWERPC_DEF("power10_v1.0",  CPU_POWERPC_POWER10_DD1,            POWER10,
    778                "POWER10 v1.0")
    779    POWERPC_DEF("power10_v2.0",  CPU_POWERPC_POWER10_DD20,           POWER10,
    780                "POWER10 v2.0")
    781#endif /* defined (TARGET_PPC64) */
    782
    783/***************************************************************************/
    784/* PowerPC CPU aliases                                                     */
    785
    786PowerPCCPUAlias ppc_cpu_aliases[] = {
    787    { "403", "403gc" },
    788    { "405", "405d4" },
    789    { "405cr", "405crc" },
    790    { "405gp", "405gpd" },
    791    { "405gpe", "405crc" },
    792    { "x2vp7", "x2vp4" },
    793    { "x2vp50", "x2vp20" },
    794
    795    { "440ep", "440epb" },
    796    { "460ex", "460exb" },
    797#if defined(TODO_USER_ONLY)
    798    { "440gp", "440gpc" },
    799    { "440gr", "440gra" },
    800    { "440gx", "440gxf" },
    801
    802    { "rcpu", "mpc5xx" },
    803    /* MPC5xx microcontrollers */
    804    { "mgt560", "mpc5xx" },
    805    { "mpc509", "mpc5xx" },
    806    { "mpc533", "mpc5xx" },
    807    { "mpc534", "mpc5xx" },
    808    { "mpc555", "mpc5xx" },
    809    { "mpc556", "mpc5xx" },
    810    { "mpc560", "mpc5xx" },
    811    { "mpc561", "mpc5xx" },
    812    { "mpc562", "mpc5xx" },
    813    { "mpc563", "mpc5xx" },
    814    { "mpc564", "mpc5xx" },
    815    { "mpc565", "mpc5xx" },
    816    { "mpc566", "mpc5xx" },
    817
    818    { "powerquicc", "mpc8xx" },
    819    /* MPC8xx microcontrollers */
    820    { "mgt823", "mpc8xx" },
    821    { "mpc821", "mpc8xx" },
    822    { "mpc823", "mpc8xx" },
    823    { "mpc850", "mpc8xx" },
    824    { "mpc852t", "mpc8xx" },
    825    { "mpc855t", "mpc8xx" },
    826    { "mpc857", "mpc8xx" },
    827    { "mpc859", "mpc8xx" },
    828    { "mpc860", "mpc8xx" },
    829    { "mpc862", "mpc8xx" },
    830    { "mpc866", "mpc8xx" },
    831    { "mpc870", "mpc8xx" },
    832    { "mpc875", "mpc8xx" },
    833    { "mpc880", "mpc8xx" },
    834    { "mpc885", "mpc8xx" },
    835#endif
    836
    837    /* PowerPC MPC603 microcontrollers */
    838    { "mpc8240", "603" },
    839
    840    { "mpc52xx", "mpc5200_v12" },
    841    { "mpc5200", "mpc5200_v12" },
    842    { "mpc5200b", "mpc5200b_v21" },
    843
    844    { "mpc82xx", "g2legp3" },
    845    { "powerquicc-ii", "g2legp3" },
    846    { "mpc8241", "g2hip4" },
    847    { "mpc8245", "g2hip4" },
    848    { "mpc8247", "g2legp3" },
    849    { "mpc8248", "g2legp3" },
    850    { "mpc8250", "g2hip4" },
    851    { "mpc8250_hip3", "g2hip3" },
    852    { "mpc8250_hip4", "g2hip4" },
    853    { "mpc8255", "g2hip4" },
    854    { "mpc8255_hip3", "g2hip3" },
    855    { "mpc8255_hip4", "g2hip4" },
    856    { "mpc8260", "g2hip4" },
    857    { "mpc8260_hip3", "g2hip3" },
    858    { "mpc8260_hip4", "g2hip4" },
    859    { "mpc8264", "g2hip4" },
    860    { "mpc8264_hip3", "g2hip3" },
    861    { "mpc8264_hip4", "g2hip4" },
    862    { "mpc8265", "g2hip4" },
    863    { "mpc8265_hip3", "g2hip3" },
    864    { "mpc8265_hip4", "g2hip4" },
    865    { "mpc8266", "g2hip4" },
    866    { "mpc8266_hip3", "g2hip3" },
    867    { "mpc8266_hip4", "g2hip4" },
    868    { "mpc8270", "g2legp3" },
    869    { "mpc8271", "g2legp3" },
    870    { "mpc8272", "g2legp3" },
    871    { "mpc8275", "g2legp3" },
    872    { "mpc8280", "g2legp3" },
    873    { "e200", "e200z6" },
    874    { "e300", "e300c3" },
    875    { "mpc8347", "mpc8347t" },
    876    { "mpc8347a", "mpc8347at" },
    877    { "mpc8347e", "mpc8347et" },
    878    { "mpc8347ea", "mpc8347eat" },
    879    { "e500", "e500v2_v22" },
    880    { "e500v1", "e500_v20" },
    881    { "e500v2", "e500v2_v22" },
    882    { "mpc8533", "mpc8533_v11" },
    883    { "mpc8533e", "mpc8533e_v11" },
    884    { "mpc8540", "mpc8540_v21" },
    885    { "mpc8541", "mpc8541_v11" },
    886    { "mpc8541e", "mpc8541e_v11" },
    887    { "mpc8543", "mpc8543_v21" },
    888    { "mpc8543e", "mpc8543e_v21" },
    889    { "mpc8544", "mpc8544_v11" },
    890    { "mpc8544e", "mpc8544e_v11" },
    891    { "mpc8545", "mpc8545_v21" },
    892    { "mpc8545e", "mpc8545e_v21" },
    893    { "mpc8547e", "mpc8547e_v21" },
    894    { "mpc8548", "mpc8548_v21" },
    895    { "mpc8548e", "mpc8548e_v21" },
    896    { "mpc8555", "mpc8555_v11" },
    897    { "mpc8555e", "mpc8555e_v11" },
    898    { "mpc8560", "mpc8560_v21" },
    899    { "601",  "601_v2" },
    900    { "601v", "601_v2" },
    901    { "vanilla", "603" },
    902    { "603e", "603e_v4.1" },
    903    { "stretch", "603e_v4.1" },
    904    { "vaillant", "603e7v" },
    905    { "603r", "603e7t" },
    906    { "goldeneye", "603e7t" },
    907    { "604e", "604e_v2.4" },
    908    { "sirocco", "604e_v2.4" },
    909    { "mach5", "604r" },
    910    { "740", "740_v3.1" },
    911    { "arthur", "740_v3.1" },
    912    { "750", "750_v3.1" },
    913    { "typhoon", "750_v3.1" },
    914    { "g3",      "750_v3.1" },
    915    { "conan/doyle", "750p" },
    916    { "750cl", "750cl_v2.0" },
    917    { "750cx", "750cx_v2.2" },
    918    { "750cxe", "750cxe_v3.1b" },
    919    { "750fx", "750fx_v2.3" },
    920    { "750gx", "750gx_v1.2" },
    921    { "750l", "750l_v3.2" },
    922    { "lonestar", "750l_v3.2" },
    923    { "745", "745_v2.8" },
    924    { "755", "755_v2.8" },
    925    { "goldfinger", "755_v2.8" },
    926    { "7400", "7400_v2.9" },
    927    { "max", "7400_v2.9" },
    928    { "g4",  "7400_v2.9" },
    929    { "7410", "7410_v1.4" },
    930    { "nitro", "7410_v1.4" },
    931    { "7448", "7448_v2.1" },
    932    { "7450", "7450_v2.1" },
    933    { "vger", "7450_v2.1" },
    934    { "7441", "7441_v2.3" },
    935    { "7451", "7451_v2.3" },
    936    { "7445", "7445_v3.2" },
    937    { "7455", "7455_v3.2" },
    938    { "apollo6", "7455_v3.2" },
    939    { "7447", "7447_v1.1" },
    940    { "7457", "7457_v1.2" },
    941    { "apollo7", "7457_v1.2" },
    942    { "7447a", "7447a_v1.2" },
    943    { "7457a", "7457a_v1.2" },
    944    { "apollo7pm", "7457a_v1.0" },
    945#if defined(TARGET_PPC64)
    946    { "970", "970_v2.2" },
    947    { "970fx", "970fx_v3.1" },
    948    { "970mp", "970mp_v1.1" },
    949    { "power5+", "power5+_v2.1" },
    950    { "power5gs", "power5+_v2.1" },
    951    { "power7", "power7_v2.3" },
    952    { "power7+", "power7+_v2.1" },
    953    { "power8e", "power8e_v2.1" },
    954    { "power8", "power8_v2.0" },
    955    { "power8nvl", "power8nvl_v1.0" },
    956    { "power9", "power9_v2.0" },
    957    { "power10", "power10_v2.0" },
    958#endif
    959
    960    /* Generic PowerPCs */
    961#if defined(TARGET_PPC64)
    962    { "ppc64", "970fx_v3.1" },
    963#endif
    964    { "ppc32", "604" },
    965    { "ppc", "604" },
    966    { "default", "604" },
    967    { NULL, NULL }
    968};