Revision ee4e83ed target-ppc/translate_init.c

b/target-ppc/translate_init.c
24 24
 */
25 25

  
26 26
#include "dis-asm.h"
27
#include "host-utils.h"
27 28

  
28 29
//#define PPC_DUMP_CPU
29 30
//#define PPC_DEBUG_SPR
......
32 33
struct ppc_def_t {
33 34
    const unsigned char *name;
34 35
    uint32_t pvr;
35
    uint32_t pvr_mask;
36 36
    uint64_t insns_flags;
37 37
    uint64_t msr_mask;
38 38
    uint8_t mmu_model;
......
5004 5004

  
5005 5005
/*****************************************************************************/
5006 5006
/* PowerPC CPU definitions                                                   */
5007
#define POWERPC_DEF(_name, _pvr, _pvr_mask, _type)                            \
5007
#define POWERPC_DEF(_name, _pvr, _type)                                       \
5008 5008
    {                                                                         \
5009 5009
        .name        = _name,                                                 \
5010 5010
        .pvr         = _pvr,                                                  \
5011
        .pvr_mask    = _pvr_mask,                                             \
5012 5011
        .insns_flags = glue(POWERPC_INSNS_,_type),                            \
5013 5012
        .msr_mask    = glue(POWERPC_MSRM_,_type),                             \
5014 5013
        .mmu_model   = glue(POWERPC_MMU_,_type),                              \
......
5020 5019
        .check_pow   = &glue(check_pow_,_type),                               \
5021 5020
    }
5022 5021

  
5023
static ppc_def_t ppc_defs[] = {
5022
static const ppc_def_t ppc_defs[] = {
5024 5023
    /* Embedded PowerPC                                                      */
5025 5024
    /* PowerPC 401 family                                                    */
5026 5025
    /* Generic PowerPC 401 */
5027
    POWERPC_DEF("401",         CPU_POWERPC_401,         0xFFFF0000, 401),
5026
    POWERPC_DEF("401",         CPU_POWERPC_401,         401),
5028 5027
    /* PowerPC 401 cores                                                     */
5029 5028
    /* PowerPC 401A1 */
5030
    POWERPC_DEF("401A1",       CPU_POWERPC_401A1,       0xFFFFFFFF, 401),
5029
    POWERPC_DEF("401A1",       CPU_POWERPC_401A1,       401),
5031 5030
    /* PowerPC 401B2                                                         */
5032
    POWERPC_DEF("401B2",       CPU_POWERPC_401B2,       0xFFFFFFFF, 401x2),
5031
    POWERPC_DEF("401B2",       CPU_POWERPC_401B2,       401x2),
5033 5032
#if defined (TODO)
5034 5033
    /* PowerPC 401B3                                                         */
5035
    POWERPC_DEF("401B3",       CPU_POWERPC_401B3,       0xFFFFFFFF, 401x3),
5034
    POWERPC_DEF("401B3",       CPU_POWERPC_401B3,       401x3),
5036 5035
#endif
5037 5036
    /* PowerPC 401C2                                                         */
5038
    POWERPC_DEF("401C2",       CPU_POWERPC_401C2,       0xFFFFFFFF, 401x2),
5037
    POWERPC_DEF("401C2",       CPU_POWERPC_401C2,       401x2),
5039 5038
    /* PowerPC 401D2                                                         */
5040
    POWERPC_DEF("401D2",       CPU_POWERPC_401D2,       0xFFFFFFFF, 401x2),
5039
    POWERPC_DEF("401D2",       CPU_POWERPC_401D2,       401x2),
5041 5040
    /* PowerPC 401E2                                                         */
5042
    POWERPC_DEF("401E2",       CPU_POWERPC_401E2,       0xFFFFFFFF, 401x2),
5041
    POWERPC_DEF("401E2",       CPU_POWERPC_401E2,       401x2),
5043 5042
    /* PowerPC 401F2                                                         */
5044
    POWERPC_DEF("401F2",       CPU_POWERPC_401F2,       0xFFFFFFFF, 401x2),
5043
    POWERPC_DEF("401F2",       CPU_POWERPC_401F2,       401x2),
5045 5044
    /* PowerPC 401G2                                                         */
5046 5045
    /* XXX: to be checked */
5047
    POWERPC_DEF("401G2",       CPU_POWERPC_401G2,       0xFFFFFFFF, 401x2),
5046
    POWERPC_DEF("401G2",       CPU_POWERPC_401G2,       401x2),
5048 5047
    /* PowerPC 401 microcontrolers                                           */
5049 5048
#if defined (TODO)
5050 5049
    /* PowerPC 401GF                                                         */
5051
    POWERPC_DEF("401GF",       CPU_POWERPC_401GF,       0xFFFFFFFF, 401),
5050
    POWERPC_DEF("401GF",       CPU_POWERPC_401GF,       401),
5052 5051
#endif
5053 5052
    /* IOP480 (401 microcontroler)                                           */
5054
    POWERPC_DEF("IOP480",      CPU_POWERPC_IOP480,      0xFFFFFFFF, IOP480),
5053
    POWERPC_DEF("IOP480",      CPU_POWERPC_IOP480,      IOP480),
5055 5054
    /* IBM Processor for Network Resources                                   */
5056
    POWERPC_DEF("Cobra",       CPU_POWERPC_COBRA,       0xFFFFFFFF, 401),
5055
    POWERPC_DEF("Cobra",       CPU_POWERPC_COBRA,       401),
5057 5056
#if defined (TODO)
5058
    POWERPC_DEF("Xipchip",     CPU_POWERPC_XIPCHIP,     0xFFFFFFFF, 401),
5057
    POWERPC_DEF("Xipchip",     CPU_POWERPC_XIPCHIP,     401),
5059 5058
#endif
5060 5059
    /* PowerPC 403 family                                                    */
5061 5060
    /* Generic PowerPC 403                                                   */
5062
    POWERPC_DEF("403",         CPU_POWERPC_403,         0xFFFF0000, 403),
5061
    POWERPC_DEF("403",         CPU_POWERPC_403,         403),
5063 5062
    /* PowerPC 403 microcontrolers                                           */
5064 5063
    /* PowerPC 403 GA                                                        */
5065
    POWERPC_DEF("403GA",       CPU_POWERPC_403GA,       0xFFFFFFFF, 403),
5064
    POWERPC_DEF("403GA",       CPU_POWERPC_403GA,       403),
5066 5065
    /* PowerPC 403 GB                                                        */
5067
    POWERPC_DEF("403GB",       CPU_POWERPC_403GB,       0xFFFFFFFF, 403),
5066
    POWERPC_DEF("403GB",       CPU_POWERPC_403GB,       403),
5068 5067
    /* PowerPC 403 GC                                                        */
5069
    POWERPC_DEF("403GC",       CPU_POWERPC_403GC,       0xFFFFFFFF, 403),
5068
    POWERPC_DEF("403GC",       CPU_POWERPC_403GC,       403),
5070 5069
    /* PowerPC 403 GCX                                                       */
5071
    POWERPC_DEF("403GCX",      CPU_POWERPC_403GCX,      0xFFFFFFFF, 403GCX),
5070
    POWERPC_DEF("403GCX",      CPU_POWERPC_403GCX,      403GCX),
5072 5071
#if defined (TODO)
5073 5072
    /* PowerPC 403 GP                                                        */
5074
    POWERPC_DEF("403GP",       CPU_POWERPC_403GP,       0xFFFFFFFF, 403),
5073
    POWERPC_DEF("403GP",       CPU_POWERPC_403GP,       403),
5075 5074
#endif
5076 5075
    /* PowerPC 405 family                                                    */
5077 5076
    /* Generic PowerPC 405                                                   */
5078
    POWERPC_DEF("405",         CPU_POWERPC_405,         0xFFFF0000, 405),
5077
    POWERPC_DEF("405",         CPU_POWERPC_405,         405),
5079 5078
    /* PowerPC 405 cores                                                     */
5080 5079
#if defined (TODO)
5081 5080
    /* PowerPC 405 A3                                                        */
5082
    POWERPC_DEF("405A3",       CPU_POWERPC_405A3,       0xFFFFFFFF, 405),
5081
    POWERPC_DEF("405A3",       CPU_POWERPC_405A3,       405),
5083 5082
#endif
5084 5083
#if defined (TODO)
5085 5084
    /* PowerPC 405 A4                                                        */
5086
    POWERPC_DEF("405A4",       CPU_POWERPC_405A4,       0xFFFFFFFF, 405),
5085
    POWERPC_DEF("405A4",       CPU_POWERPC_405A4,       405),
5087 5086
#endif
5088 5087
#if defined (TODO)
5089 5088
    /* PowerPC 405 B3                                                        */
5090
    POWERPC_DEF("405B3",       CPU_POWERPC_405B3,       0xFFFFFFFF, 405),
5089
    POWERPC_DEF("405B3",       CPU_POWERPC_405B3,       405),
5091 5090
#endif
5092 5091
#if defined (TODO)
5093 5092
    /* PowerPC 405 B4                                                        */
5094
    POWERPC_DEF("405B4",       CPU_POWERPC_405B4,       0xFFFFFFFF, 405),
5093
    POWERPC_DEF("405B4",       CPU_POWERPC_405B4,       405),
5095 5094
#endif
5096 5095
#if defined (TODO)
5097 5096
    /* PowerPC 405 C3                                                        */
5098
    POWERPC_DEF("405C3",       CPU_POWERPC_405C3,       0xFFFFFFFF, 405),
5097
    POWERPC_DEF("405C3",       CPU_POWERPC_405C3,       405),
5099 5098
#endif
5100 5099
#if defined (TODO)
5101 5100
    /* PowerPC 405 C4                                                        */
5102
    POWERPC_DEF("405C4",       CPU_POWERPC_405C4,       0xFFFFFFFF, 405),
5101
    POWERPC_DEF("405C4",       CPU_POWERPC_405C4,       405),
5103 5102
#endif
5104 5103
    /* PowerPC 405 D2                                                        */
5105
    POWERPC_DEF("405D2",       CPU_POWERPC_405D2,       0xFFFFFFFF, 405),
5104
    POWERPC_DEF("405D2",       CPU_POWERPC_405D2,       405),
5106 5105
#if defined (TODO)
5107 5106
    /* PowerPC 405 D3                                                        */
5108
    POWERPC_DEF("405D3",       CPU_POWERPC_405D3,       0xFFFFFFFF, 405),
5107
    POWERPC_DEF("405D3",       CPU_POWERPC_405D3,       405),
5109 5108
#endif
5110 5109
    /* PowerPC 405 D4                                                        */
5111
    POWERPC_DEF("405D4",       CPU_POWERPC_405D4,       0xFFFFFFFF, 405),
5110
    POWERPC_DEF("405D4",       CPU_POWERPC_405D4,       405),
5112 5111
#if defined (TODO)
5113 5112
    /* PowerPC 405 D5                                                        */
5114
    POWERPC_DEF("405D5",       CPU_POWERPC_405D5,       0xFFFFFFFF, 405),
5113
    POWERPC_DEF("405D5",       CPU_POWERPC_405D5,       405),
5115 5114
#endif
5116 5115
#if defined (TODO)
5117 5116
    /* PowerPC 405 E4                                                        */
5118
    POWERPC_DEF("405E4",       CPU_POWERPC_405E4,       0xFFFFFFFF, 405),
5117
    POWERPC_DEF("405E4",       CPU_POWERPC_405E4,       405),
5119 5118
#endif
5120 5119
#if defined (TODO)
5121 5120
    /* PowerPC 405 F4                                                        */
5122
    POWERPC_DEF("405F4",       CPU_POWERPC_405F4,       0xFFFFFFFF, 405),
5121
    POWERPC_DEF("405F4",       CPU_POWERPC_405F4,       405),
5123 5122
#endif
5124 5123
#if defined (TODO)
5125 5124
    /* PowerPC 405 F5                                                        */
5126
    POWERPC_DEF("405F5",       CPU_POWERPC_405F5,       0xFFFFFFFF, 405),
5125
    POWERPC_DEF("405F5",       CPU_POWERPC_405F5,       405),
5127 5126
#endif
5128 5127
#if defined (TODO)
5129 5128
    /* PowerPC 405 F6                                                        */
5130
    POWERPC_DEF("405F6",       CPU_POWERPC_405F6,       0xFFFFFFFF, 405),
5129
    POWERPC_DEF("405F6",       CPU_POWERPC_405F6,       405),
5131 5130
#endif
5132 5131
    /* PowerPC 405 microcontrolers                                           */
5133 5132
    /* PowerPC 405 CR                                                        */
5134
    POWERPC_DEF("405CR",       CPU_POWERPC_405CR,       0xFFFFFFFF, 405),
5133
    POWERPC_DEF("405CR",       CPU_POWERPC_405CR,       405),
5135 5134
    /* PowerPC 405 CRa                                                       */
5136
    POWERPC_DEF("405CRa",      CPU_POWERPC_405CRa,      0xFFFFFFFF, 405),
5135
    POWERPC_DEF("405CRa",      CPU_POWERPC_405CRa,      405),
5137 5136
    /* PowerPC 405 CRb                                                       */
5138
    POWERPC_DEF("405CRb",      CPU_POWERPC_405CRb,      0xFFFFFFFF, 405),
5137
    POWERPC_DEF("405CRb",      CPU_POWERPC_405CRb,      405),
5139 5138
    /* PowerPC 405 CRc                                                       */
5140
    POWERPC_DEF("405CRc",      CPU_POWERPC_405CRc,      0xFFFFFFFF, 405),
5139
    POWERPC_DEF("405CRc",      CPU_POWERPC_405CRc,      405),
5141 5140
    /* PowerPC 405 EP                                                        */
5142
    POWERPC_DEF("405EP",       CPU_POWERPC_405EP,       0xFFFFFFFF, 405),
5141
    POWERPC_DEF("405EP",       CPU_POWERPC_405EP,       405),
5143 5142
#if defined(TODO)
5144 5143
    /* PowerPC 405 EXr                                                       */
5145
    POWERPC_DEF("405EXr",      CPU_POWERPC_405EXr,      0xFFFFFFFF, 405),
5144
    POWERPC_DEF("405EXr",      CPU_POWERPC_405EXr,      405),
5146 5145
#endif
5147 5146
    /* PowerPC 405 EZ                                                        */
5148
    POWERPC_DEF("405EZ",       CPU_POWERPC_405EZ,       0xFFFFFFFF, 405),
5147
    POWERPC_DEF("405EZ",       CPU_POWERPC_405EZ,       405),
5149 5148
#if defined(TODO)
5150 5149
    /* PowerPC 405 FX                                                        */
5151
    POWERPC_DEF("405FX",       CPU_POWERPC_405FX,       0xFFFFFFFF, 405),
5150
    POWERPC_DEF("405FX",       CPU_POWERPC_405FX,       405),
5152 5151
#endif
5153 5152
    /* PowerPC 405 GP                                                        */
5154
    POWERPC_DEF("405GP",       CPU_POWERPC_405GP,       0xFFFFFFFF, 405),
5153
    POWERPC_DEF("405GP",       CPU_POWERPC_405GP,       405),
5155 5154
    /* PowerPC 405 GPa                                                       */
5156
    POWERPC_DEF("405GPa",      CPU_POWERPC_405GPa,      0xFFFFFFFF, 405),
5155
    POWERPC_DEF("405GPa",      CPU_POWERPC_405GPa,      405),
5157 5156
    /* PowerPC 405 GPb                                                       */
5158
    POWERPC_DEF("405GPb",      CPU_POWERPC_405GPb,      0xFFFFFFFF, 405),
5157
    POWERPC_DEF("405GPb",      CPU_POWERPC_405GPb,      405),
5159 5158
    /* PowerPC 405 GPc                                                       */
5160
    POWERPC_DEF("405GPc",      CPU_POWERPC_405GPc,      0xFFFFFFFF, 405),
5159
    POWERPC_DEF("405GPc",      CPU_POWERPC_405GPc,      405),
5161 5160
    /* PowerPC 405 GPd                                                       */
5162
    POWERPC_DEF("405GPd",      CPU_POWERPC_405GPd,      0xFFFFFFFF, 405),
5161
    POWERPC_DEF("405GPd",      CPU_POWERPC_405GPd,      405),
5163 5162
    /* PowerPC 405 GPe                                                       */
5164
    POWERPC_DEF("405GPe",      CPU_POWERPC_405GPe,      0xFFFFFFFF, 405),
5163
    POWERPC_DEF("405GPe",      CPU_POWERPC_405GPe,      405),
5165 5164
    /* PowerPC 405 GPR                                                       */
5166
    POWERPC_DEF("405GPR",      CPU_POWERPC_405GPR,      0xFFFFFFFF, 405),
5165
    POWERPC_DEF("405GPR",      CPU_POWERPC_405GPR,      405),
5167 5166
#if defined(TODO)
5168 5167
    /* PowerPC 405 H                                                         */
5169
    POWERPC_DEF("405H",        CPU_POWERPC_405H,        0xFFFFFFFF, 405),
5168
    POWERPC_DEF("405H",        CPU_POWERPC_405H,        405),
5170 5169
#endif
5171 5170
#if defined(TODO)
5172 5171
    /* PowerPC 405 L                                                         */
5173
    POWERPC_DEF("405L",        CPU_POWERPC_405L,        0xFFFFFFFF, 405),
5172
    POWERPC_DEF("405L",        CPU_POWERPC_405L,        405),
5174 5173
#endif
5175 5174
    /* PowerPC 405 LP                                                        */
5176
    POWERPC_DEF("405LP",       CPU_POWERPC_405LP,       0xFFFFFFFF, 405),
5175
    POWERPC_DEF("405LP",       CPU_POWERPC_405LP,       405),
5177 5176
#if defined(TODO)
5178 5177
    /* PowerPC 405 PM                                                        */
5179
    POWERPC_DEF("405PM",       CPU_POWERPC_405PM,       0xFFFFFFFF, 405),
5178
    POWERPC_DEF("405PM",       CPU_POWERPC_405PM,       405),
5180 5179
#endif
5181 5180
#if defined(TODO)
5182 5181
    /* PowerPC 405 PS                                                        */
5183
    POWERPC_DEF("405PS",       CPU_POWERPC_405PS,       0xFFFFFFFF, 405),
5182
    POWERPC_DEF("405PS",       CPU_POWERPC_405PS,       405),
5184 5183
#endif
5185 5184
#if defined(TODO)
5186 5185
    /* PowerPC 405 S                                                         */
5187
    POWERPC_DEF("405S",        CPU_POWERPC_405S,        0xFFFFFFFF, 405),
5186
    POWERPC_DEF("405S",        CPU_POWERPC_405S,        405),
5188 5187
#endif
5189 5188
    /* Npe405 H                                                              */
5190
    POWERPC_DEF("Npe405H",     CPU_POWERPC_NPE405H,     0xFFFFFFFF, 405),
5189
    POWERPC_DEF("Npe405H",     CPU_POWERPC_NPE405H,     405),
5191 5190
    /* Npe405 H2                                                             */
5192
    POWERPC_DEF("Npe405H2",    CPU_POWERPC_NPE405H2,    0xFFFFFFFF, 405),
5191
    POWERPC_DEF("Npe405H2",    CPU_POWERPC_NPE405H2,    405),
5193 5192
    /* Npe405 L                                                              */
5194
    POWERPC_DEF("Npe405L",     CPU_POWERPC_NPE405L,     0xFFFFFFFF, 405),
5193
    POWERPC_DEF("Npe405L",     CPU_POWERPC_NPE405L,     405),
5195 5194
    /* Npe4GS3                                                               */
5196
    POWERPC_DEF("Npe4GS3",     CPU_POWERPC_NPE4GS3,     0xFFFFFFFF, 405),
5195
    POWERPC_DEF("Npe4GS3",     CPU_POWERPC_NPE4GS3,     405),
5197 5196
#if defined (TODO)
5198
    POWERPC_DEF("Npcxx1",      CPU_POWERPC_NPCxx1,      0xFFFFFFFF, 405),
5197
    POWERPC_DEF("Npcxx1",      CPU_POWERPC_NPCxx1,      405),
5199 5198
#endif
5200 5199
#if defined (TODO)
5201
    POWERPC_DEF("Npr161",      CPU_POWERPC_NPR161,      0xFFFFFFFF, 405),
5200
    POWERPC_DEF("Npr161",      CPU_POWERPC_NPR161,      405),
5202 5201
#endif
5203 5202
#if defined (TODO)
5204 5203
    /* PowerPC LC77700 (Sanyo)                                               */
5205
    POWERPC_DEF("LC77700",     CPU_POWERPC_LC77700,     0xFFFFFFFF, 405),
5204
    POWERPC_DEF("LC77700",     CPU_POWERPC_LC77700,     405),
5206 5205
#endif
5207 5206
    /* PowerPC 401/403/405 based set-top-box microcontrolers                 */
5208 5207
#if defined (TODO)
5209 5208
    /* STB010000                                                             */
5210
    POWERPC_DEF("STB01000",    CPU_POWERPC_STB01000,    0xFFFFFFFF, 401x2),
5209
    POWERPC_DEF("STB01000",    CPU_POWERPC_STB01000,    401x2),
5211 5210
#endif
5212 5211
#if defined (TODO)
5213 5212
    /* STB01010                                                              */
5214
    POWERPC_DEF("STB01010",    CPU_POWERPC_STB01010,    0xFFFFFFFF, 401x2),
5213
    POWERPC_DEF("STB01010",    CPU_POWERPC_STB01010,    401x2),
5215 5214
#endif
5216 5215
#if defined (TODO)
5217 5216
    /* STB0210                                                               */
5218
    POWERPC_DEF("STB0210",     CPU_POWERPC_STB0210,     0xFFFFFFFF, 401x3),
5217
    POWERPC_DEF("STB0210",     CPU_POWERPC_STB0210,     401x3),
5219 5218
#endif
5220 5219
    /* STB03xx                                                               */
5221
    POWERPC_DEF("STB03",       CPU_POWERPC_STB03,       0xFFFFFFFF, 405),
5220
    POWERPC_DEF("STB03",       CPU_POWERPC_STB03,       405),
5222 5221
#if defined (TODO)
5223 5222
    /* STB043x                                                               */
5224
    POWERPC_DEF("STB043",      CPU_POWERPC_STB043,      0xFFFFFFFF, 405),
5223
    POWERPC_DEF("STB043",      CPU_POWERPC_STB043,      405),
5225 5224
#endif
5226 5225
#if defined (TODO)
5227 5226
    /* STB045x                                                               */
5228
    POWERPC_DEF("STB045",      CPU_POWERPC_STB045,      0xFFFFFFFF, 405),
5227
    POWERPC_DEF("STB045",      CPU_POWERPC_STB045,      405),
5229 5228
#endif
5230 5229
    /* STB04xx                                                               */
5231
    POWERPC_DEF("STB04",       CPU_POWERPC_STB04,       0xFFFF0000, 405),
5230
    POWERPC_DEF("STB04",       CPU_POWERPC_STB04,       405),
5232 5231
    /* STB25xx                                                               */
5233
    POWERPC_DEF("STB25",       CPU_POWERPC_STB25,       0xFFFFFFFF, 405),
5232
    POWERPC_DEF("STB25",       CPU_POWERPC_STB25,       405),
5234 5233
#if defined (TODO)
5235 5234
    /* STB130                                                                */
5236
    POWERPC_DEF("STB130",      CPU_POWERPC_STB130,      0xFFFFFFFF, 405),
5235
    POWERPC_DEF("STB130",      CPU_POWERPC_STB130,      405),
5237 5236
#endif
5238 5237
    /* Xilinx PowerPC 405 cores                                              */
5239
    POWERPC_DEF("x2vp4",       CPU_POWERPC_X2VP4,       0xFFFFFFFF, 405),
5240
    POWERPC_DEF("x2vp7",       CPU_POWERPC_X2VP7,       0xFFFFFFFF, 405),
5241
    POWERPC_DEF("x2vp20",      CPU_POWERPC_X2VP20,      0xFFFFFFFF, 405),
5242
    POWERPC_DEF("x2vp50",      CPU_POWERPC_X2VP50,      0xFFFFFFFF, 405),
5238
    POWERPC_DEF("x2vp4",       CPU_POWERPC_X2VP4,       405),
5239
    POWERPC_DEF("x2vp7",       CPU_POWERPC_X2VP7,       405),
5240
    POWERPC_DEF("x2vp20",      CPU_POWERPC_X2VP20,      405),
5241
    POWERPC_DEF("x2vp50",      CPU_POWERPC_X2VP50,      405),
5243 5242
#if defined (TODO)
5244 5243
    /* Zarlink ZL10310                                                       */
5245
    POWERPC_DEF("zl10310",     CPU_POWERPC_ZL10310,     0xFFFFFFFF, 405),
5244
    POWERPC_DEF("zl10310",     CPU_POWERPC_ZL10310,     405),
5246 5245
#endif
5247 5246
#if defined (TODO)
5248 5247
    /* Zarlink ZL10311                                                       */
5249
    POWERPC_DEF("zl10311",     CPU_POWERPC_ZL10311,     0xFFFFFFFF, 405),
5248
    POWERPC_DEF("zl10311",     CPU_POWERPC_ZL10311,     405),
5250 5249
#endif
5251 5250
#if defined (TODO)
5252 5251
    /* Zarlink ZL10320                                                       */
5253
    POWERPC_DEF("zl10320",     CPU_POWERPC_ZL10320,     0xFFFFFFFF, 405),
5252
    POWERPC_DEF("zl10320",     CPU_POWERPC_ZL10320,     405),
5254 5253
#endif
5255 5254
#if defined (TODO)
5256 5255
    /* Zarlink ZL10321                                                       */
5257
    POWERPC_DEF("zl10321",     CPU_POWERPC_ZL10321,     0xFFFFFFFF, 405),
5256
    POWERPC_DEF("zl10321",     CPU_POWERPC_ZL10321,     405),
5258 5257
#endif
5259 5258
    /* PowerPC 440 family                                                    */
5260 5259
    /* Generic PowerPC 440                                                   */
5261
    POWERPC_DEF("440",         CPU_POWERPC_440,         0xFFFFFFFF, 440GP),
5260
    POWERPC_DEF("440",         CPU_POWERPC_440,         440GP),
5262 5261
    /* PowerPC 440 cores                                                     */
5263 5262
#if defined (TODO)
5264 5263
    /* PowerPC 440 A4                                                        */
5265
    POWERPC_DEF("440A4",       CPU_POWERPC_440A4,       0xFFFFFFFF, 440x4),
5264
    POWERPC_DEF("440A4",       CPU_POWERPC_440A4,       440x4),
5266 5265
#endif
5267 5266
#if defined (TODO)
5268 5267
    /* PowerPC 440 A5                                                        */
5269
    POWERPC_DEF("440A5",       CPU_POWERPC_440A5,       0xFFFFFFFF, 440x5),
5268
    POWERPC_DEF("440A5",       CPU_POWERPC_440A5,       440x5),
5270 5269
#endif
5271 5270
#if defined (TODO)
5272 5271
    /* PowerPC 440 B4                                                        */
5273
    POWERPC_DEF("440B4",       CPU_POWERPC_440B4,       0xFFFFFFFF, 440x4),
5272
    POWERPC_DEF("440B4",       CPU_POWERPC_440B4,       440x4),
5274 5273
#endif
5275 5274
#if defined (TODO)
5276 5275
    /* PowerPC 440 G4                                                        */
5277
    POWERPC_DEF("440G4",       CPU_POWERPC_440G4,       0xFFFFFFFF, 440x4),
5276
    POWERPC_DEF("440G4",       CPU_POWERPC_440G4,       440x4),
5278 5277
#endif
5279 5278
#if defined (TODO)
5280 5279
    /* PowerPC 440 F5                                                        */
5281
    POWERPC_DEF("440F5",       CPU_POWERPC_440F5,       0xFFFFFFFF, 440x5),
5280
    POWERPC_DEF("440F5",       CPU_POWERPC_440F5,       440x5),
5282 5281
#endif
5283 5282
#if defined (TODO)
5284 5283
    /* PowerPC 440 G5                                                        */
5285
    POWERPC_DEF("440G5",       CPU_POWERPC_440G5,       0xFFFFFFFF, 440x5),
5284
    POWERPC_DEF("440G5",       CPU_POWERPC_440G5,       440x5),
5286 5285
#endif
5287 5286
#if defined (TODO)
5288 5287
    /* PowerPC 440H4                                                         */
5289
    POWERPC_DEF("440H4",       CPU_POWERPC_440H4,       0xFFFFFFFF, 440x4),
5288
    POWERPC_DEF("440H4",       CPU_POWERPC_440H4,       440x4),
5290 5289
#endif
5291 5290
#if defined (TODO)
5292 5291
    /* PowerPC 440H6                                                         */
5293
    POWERPC_DEF("440H6",       CPU_POWERPC_440H6,       0xFFFFFFFF, 440Gx5),
5292
    POWERPC_DEF("440H6",       CPU_POWERPC_440H6,       440Gx5),
5294 5293
#endif
5295 5294
    /* PowerPC 440 microcontrolers                                           */
5296 5295
    /* PowerPC 440 EP                                                        */
5297
    POWERPC_DEF("440EP",       CPU_POWERPC_440EP,       0xFFFFFFFF, 440EP),
5296
    POWERPC_DEF("440EP",       CPU_POWERPC_440EP,       440EP),
5298 5297
    /* PowerPC 440 EPa                                                       */
5299
    POWERPC_DEF("440EPa",      CPU_POWERPC_440EPa,      0xFFFFFFFF, 440EP),
5298
    POWERPC_DEF("440EPa",      CPU_POWERPC_440EPa,      440EP),
5300 5299
    /* PowerPC 440 EPb                                                       */
5301
    POWERPC_DEF("440EPb",      CPU_POWERPC_440EPb,      0xFFFFFFFF, 440EP),
5300
    POWERPC_DEF("440EPb",      CPU_POWERPC_440EPb,      440EP),
5302 5301
    /* PowerPC 440 EPX                                                       */
5303
    POWERPC_DEF("440EPX",      CPU_POWERPC_440EPX,      0xFFFFFFFF, 440EP),
5302
    POWERPC_DEF("440EPX",      CPU_POWERPC_440EPX,      440EP),
5304 5303
    /* PowerPC 440 GP                                                        */
5305
    POWERPC_DEF("440GP",       CPU_POWERPC_440GP,       0xFFFFFFFF, 440GP),
5304
    POWERPC_DEF("440GP",       CPU_POWERPC_440GP,       440GP),
5306 5305
    /* PowerPC 440 GPb                                                       */
5307
    POWERPC_DEF("440GPb",      CPU_POWERPC_440GPb,      0xFFFFFFFF, 440GP),
5306
    POWERPC_DEF("440GPb",      CPU_POWERPC_440GPb,      440GP),
5308 5307
    /* PowerPC 440 GPc                                                       */
5309
    POWERPC_DEF("440GPc",      CPU_POWERPC_440GPc,      0xFFFFFFFF, 440GP),
5308
    POWERPC_DEF("440GPc",      CPU_POWERPC_440GPc,      440GP),
5310 5309
    /* PowerPC 440 GR                                                        */
5311
    POWERPC_DEF("440GR",       CPU_POWERPC_440GR,       0xFFFFFFFF, 440x5),
5310
    POWERPC_DEF("440GR",       CPU_POWERPC_440GR,       440x5),
5312 5311
    /* PowerPC 440 GRa                                                       */
5313
    POWERPC_DEF("440GRa",      CPU_POWERPC_440GRa,      0xFFFFFFFF, 440x5),
5312
    POWERPC_DEF("440GRa",      CPU_POWERPC_440GRa,      440x5),
5314 5313
    /* PowerPC 440 GRX                                                       */
5315
    POWERPC_DEF("440GRX",      CPU_POWERPC_440GRX,      0xFFFFFFFF, 440x5),
5314
    POWERPC_DEF("440GRX",      CPU_POWERPC_440GRX,      440x5),
5316 5315
    /* PowerPC 440 GX                                                        */
5317
    POWERPC_DEF("440GX",       CPU_POWERPC_440GX,       0xFFFFFFFF, 440EP),
5316
    POWERPC_DEF("440GX",       CPU_POWERPC_440GX,       440EP),
5318 5317
    /* PowerPC 440 GXa                                                       */
5319
    POWERPC_DEF("440GXa",      CPU_POWERPC_440GXa,      0xFFFFFFFF, 440EP),
5318
    POWERPC_DEF("440GXa",      CPU_POWERPC_440GXa,      440EP),
5320 5319
    /* PowerPC 440 GXb                                                       */
5321
    POWERPC_DEF("440GXb",      CPU_POWERPC_440GXb,      0xFFFFFFFF, 440EP),
5320
    POWERPC_DEF("440GXb",      CPU_POWERPC_440GXb,      440EP),
5322 5321
    /* PowerPC 440 GXc                                                       */
5323
    POWERPC_DEF("440GXc",      CPU_POWERPC_440GXc,      0xFFFFFFFF, 440EP),
5322
    POWERPC_DEF("440GXc",      CPU_POWERPC_440GXc,      440EP),
5324 5323
    /* PowerPC 440 GXf                                                       */
5325
    POWERPC_DEF("440GXf",      CPU_POWERPC_440GXf,      0xFFFFFFFF, 440EP),
5324
    POWERPC_DEF("440GXf",      CPU_POWERPC_440GXf,      440EP),
5326 5325
#if defined(TODO)
5327 5326
    /* PowerPC 440 S                                                         */
5328
    POWERPC_DEF("440S",        CPU_POWERPC_440S,        0xFFFFFFFF, 440),
5327
    POWERPC_DEF("440S",        CPU_POWERPC_440S,        440),
5329 5328
#endif
5330 5329
    /* PowerPC 440 SP                                                        */
5331
    POWERPC_DEF("440SP",       CPU_POWERPC_440SP,       0xFFFFFFFF, 440EP),
5330
    POWERPC_DEF("440SP",       CPU_POWERPC_440SP,       440EP),
5332 5331
    /* PowerPC 440 SP2                                                       */
5333
    POWERPC_DEF("440SP2",      CPU_POWERPC_440SP2,      0xFFFFFFFF, 440EP),
5332
    POWERPC_DEF("440SP2",      CPU_POWERPC_440SP2,      440EP),
5334 5333
    /* PowerPC 440 SPE                                                       */
5335
    POWERPC_DEF("440SPE",      CPU_POWERPC_440SPE,      0xFFFFFFFF, 440EP),
5334
    POWERPC_DEF("440SPE",      CPU_POWERPC_440SPE,      440EP),
5336 5335
    /* PowerPC 460 family                                                    */
5337 5336
#if defined (TODO)
5338 5337
    /* Generic PowerPC 464                                                   */
5339
    POWERPC_DEF("464",         CPU_POWERPC_464,         0xFFFFFFFF, 460),
5338
    POWERPC_DEF("464",         CPU_POWERPC_464,         460),
5340 5339
#endif
5341 5340
    /* PowerPC 464 microcontrolers                                           */
5342 5341
#if defined (TODO)
5343 5342
    /* PowerPC 464H90                                                        */
5344
    POWERPC_DEF("464H90",      CPU_POWERPC_464H90,      0xFFFFFFFF, 460),
5343
    POWERPC_DEF("464H90",      CPU_POWERPC_464H90,      460),
5345 5344
#endif
5346 5345
#if defined (TODO)
5347 5346
    /* PowerPC 464H90F                                                       */
5348
    POWERPC_DEF("464H90F",     CPU_POWERPC_464H90F,     0xFFFFFFFF, 460F),
5347
    POWERPC_DEF("464H90F",     CPU_POWERPC_464H90F,     460F),
5349 5348
#endif
5350 5349
    /* Freescale embedded PowerPC cores                                      */
5351 5350
    /* e200 family                                                           */
5352 5351
#if defined (TODO)
5353 5352
    /* Generic PowerPC e200 core                                             */
5354
    POWERPC_DEF("e200",        CPU_POWERPC_e200,        0xFFFFFFFF, e200),
5353
    POWERPC_DEF("e200",        CPU_POWERPC_e200,        e200),
5355 5354
#endif
5356 5355
#if defined (TODO)
5357 5356
    /* PowerPC e200z5 core                                                   */
5358
    POWERPC_DEF("e200z5",      CPU_POWERPC_e200z5,      0xFFFFFFFF, e200),
5357
    POWERPC_DEF("e200z5",      CPU_POWERPC_e200z5,      e200),
5359 5358
#endif
5360 5359
#if defined (TODO)
5361 5360
    /* PowerPC e200z6 core                                                   */
5362
    POWERPC_DEF("e200z6",      CPU_POWERPC_e200z6,      0xFFFFFFFF, e200),
5361
    POWERPC_DEF("e200z6",      CPU_POWERPC_e200z6,      e200),
5363 5362
#endif
5364 5363
    /* e300 family                                                           */
5365 5364
#if defined (TODO)
5366 5365
    /* Generic PowerPC e300 core                                             */
5367
    POWERPC_DEF("e300",        CPU_POWERPC_e300,        0xFFFFFFFF, e300),
5366
    POWERPC_DEF("e300",        CPU_POWERPC_e300,        e300),
5368 5367
#endif
5369 5368
#if defined (TODO)
5370 5369
    /* PowerPC e300c1 core                                                   */
5371
    POWERPC_DEF("e300c1",      CPU_POWERPC_e300c1,      0xFFFFFFFF, e300),
5370
    POWERPC_DEF("e300c1",      CPU_POWERPC_e300c1,      e300),
5372 5371
#endif
5373 5372
#if defined (TODO)
5374 5373
    /* PowerPC e300c2 core                                                   */
5375
    POWERPC_DEF("e300c2",      CPU_POWERPC_e300c2,      0xFFFFFFFF, e300),
5374
    POWERPC_DEF("e300c2",      CPU_POWERPC_e300c2,      e300),
5376 5375
#endif
5377 5376
#if defined (TODO)
5378 5377
    /* PowerPC e300c3 core                                                   */
5379
    POWERPC_DEF("e300c3",      CPU_POWERPC_e300c3,      0xFFFFFFFF, e300),
5378
    POWERPC_DEF("e300c3",      CPU_POWERPC_e300c3,      e300),
5380 5379
#endif
5381 5380
    /* e500 family                                                           */
5382 5381
#if defined (TODO)
5383 5382
    /* PowerPC e500 core                                                     */
5384
    POWERPC_DEF("e500",        CPU_POWERPC_e500,        0xFFFFFFFF, e500),
5383
    POWERPC_DEF("e500",        CPU_POWERPC_e500,        e500),
5385 5384
#endif
5386 5385
#if defined (TODO)
5387 5386
    /* PowerPC e500 v1.1 core                                                */
5388
    POWERPC_DEF("e500v1.1",    CPU_POWERPC_e500_v11,    0xFFFFFFFF, e500),
5387
    POWERPC_DEF("e500v1.1",    CPU_POWERPC_e500_v11,    e500),
5389 5388
#endif
5390 5389
#if defined (TODO)
5391 5390
    /* PowerPC e500 v1.2 core                                                */
5392
    POWERPC_DEF("e500v1.2",    CPU_POWERPC_e500_v12,    0xFFFFFFFF, e500),
5391
    POWERPC_DEF("e500v1.2",    CPU_POWERPC_e500_v12,    e500),
5393 5392
#endif
5394 5393
#if defined (TODO)
5395 5394
    /* PowerPC e500 v2.1 core                                                */
5396
    POWERPC_DEF("e500v2.1",    CPU_POWERPC_e500_v21,    0xFFFFFFFF, e500),
5395
    POWERPC_DEF("e500v2.1",    CPU_POWERPC_e500_v21,    e500),
5397 5396
#endif
5398 5397
#if defined (TODO)
5399 5398
    /* PowerPC e500 v2.2 core                                                */
5400
    POWERPC_DEF("e500v2.2",    CPU_POWERPC_e500_v22,    0xFFFFFFFF, e500),
5399
    POWERPC_DEF("e500v2.2",    CPU_POWERPC_e500_v22,    e500),
5401 5400
#endif
5402 5401
    /* e600 family                                                           */
5403 5402
#if defined (TODO)
5404 5403
    /* PowerPC e600 core                                                     */
5405
    POWERPC_DEF("e600",        CPU_POWERPC_e600,        0xFFFFFFFF, e600),
5404
    POWERPC_DEF("e600",        CPU_POWERPC_e600,        e600),
5406 5405
#endif
5407 5406
    /* PowerPC MPC 5xx cores                                                 */
5408 5407
#if defined (TODO)
5409 5408
    /* PowerPC MPC 5xx                                                       */
5410
    POWERPC_DEF("mpc5xx",      CPU_POWERPC_5xx,         0xFFFFFFFF, 5xx),
5409
    POWERPC_DEF("mpc5xx",      CPU_POWERPC_5xx,         5xx),
5411 5410
#endif
5412 5411
    /* PowerPC MPC 8xx cores                                                 */
5413 5412
#if defined (TODO)
5414 5413
    /* PowerPC MPC 8xx                                                       */
5415
    POWERPC_DEF("mpc8xx",      CPU_POWERPC_8xx,         0xFFFFFFFF, 8xx),
5414
    POWERPC_DEF("mpc8xx",      CPU_POWERPC_8xx,         8xx),
5416 5415
#endif
5417 5416
    /* PowerPC MPC 8xxx cores                                                */
5418 5417
#if defined (TODO)
5419 5418
    /* PowerPC MPC 82xx HIP3                                                 */
5420
    POWERPC_DEF("mpc82xxhip3", CPU_POWERPC_82xx_HIP3,   0xFFFFFFFF, 82xx),
5419
    POWERPC_DEF("mpc82xxhip3", CPU_POWERPC_82xx_HIP3,   82xx),
5421 5420
#endif
5422 5421
#if defined (TODO)
5423 5422
    /* PowerPC MPC 82xx HIP4                                                 */
5424
    POWERPC_DEF("mpc82xxhip4", CPU_POWERPC_82xx_HIP4,   0xFFFFFFFF, 82xx),
5423
    POWERPC_DEF("mpc82xxhip4", CPU_POWERPC_82xx_HIP4,   82xx),
5425 5424
#endif
5426 5425
#if defined (TODO)
5427 5426
    /* PowerPC MPC 827x                                                      */
5428
    POWERPC_DEF("mpc827x",     CPU_POWERPC_827x,        0xFFFFFFFF, 827x),
5427
    POWERPC_DEF("mpc827x",     CPU_POWERPC_827x,        827x),
5429 5428
#endif
5430 5429

  
5431 5430
    /* 32 bits "classic" PowerPC                                             */
5432 5431
    /* PowerPC 6xx family                                                    */
5433 5432
    /* PowerPC 601                                                           */
5434
    POWERPC_DEF("601",         CPU_POWERPC_601,         0xFFFFFFFF, 601),
5433
    POWERPC_DEF("601",         CPU_POWERPC_601,         601),
5435 5434
    /* PowerPC 601v2                                                         */
5436
    POWERPC_DEF("601a",        CPU_POWERPC_601a,        0xFFFFFFFF, 601),
5435
    POWERPC_DEF("601a",        CPU_POWERPC_601a,        601),
5437 5436
    /* PowerPC 602                                                           */
5438
    POWERPC_DEF("602",         CPU_POWERPC_602,         0xFFFFFFFF, 602),
5437
    POWERPC_DEF("602",         CPU_POWERPC_602,         602),
5439 5438
    /* PowerPC 603                                                           */
5440
    POWERPC_DEF("603",         CPU_POWERPC_603,         0xFFFFFFFF, 603),
5439
    POWERPC_DEF("603",         CPU_POWERPC_603,         603),
5441 5440
    /* Code name for PowerPC 603                                             */
5442
    POWERPC_DEF("Vanilla",     CPU_POWERPC_603,         0xFFFFFFFF, 603),
5441
    POWERPC_DEF("Vanilla",     CPU_POWERPC_603,         603),
5443 5442
    /* PowerPC 603e                                                          */
5444
    POWERPC_DEF("603e",        CPU_POWERPC_603E,        0xFFFFFFFF, 603E),
5443
    POWERPC_DEF("603e",        CPU_POWERPC_603E,        603E),
5445 5444
    /* Code name for PowerPC 603e                                            */
5446
    POWERPC_DEF("Stretch",     CPU_POWERPC_603E,        0xFFFFFFFF, 603E),
5445
    POWERPC_DEF("Stretch",     CPU_POWERPC_603E,        603E),
5447 5446
    /* PowerPC 603e v1.1                                                     */
5448
    POWERPC_DEF("603e1.1",     CPU_POWERPC_603E_v11,    0xFFFFFFFF, 603E),
5447
    POWERPC_DEF("603e1.1",     CPU_POWERPC_603E_v11,    603E),
5449 5448
    /* PowerPC 603e v1.2                                                     */
5450
    POWERPC_DEF("603e1.2",     CPU_POWERPC_603E_v12,    0xFFFFFFFF, 603E),
5449
    POWERPC_DEF("603e1.2",     CPU_POWERPC_603E_v12,    603E),
5451 5450
    /* PowerPC 603e v1.3                                                     */
5452
    POWERPC_DEF("603e1.3",     CPU_POWERPC_603E_v13,    0xFFFFFFFF, 603E),
5451
    POWERPC_DEF("603e1.3",     CPU_POWERPC_603E_v13,    603E),
5453 5452
    /* PowerPC 603e v1.4                                                     */
5454
    POWERPC_DEF("603e1.4",     CPU_POWERPC_603E_v14,    0xFFFFFFFF, 603E),
5453
    POWERPC_DEF("603e1.4",     CPU_POWERPC_603E_v14,    603E),
5455 5454
    /* PowerPC 603e v2.2                                                     */
5456
    POWERPC_DEF("603e2.2",     CPU_POWERPC_603E_v22,    0xFFFFFFFF, 603E),
5455
    POWERPC_DEF("603e2.2",     CPU_POWERPC_603E_v22,    603E),
5457 5456
    /* PowerPC 603e v3                                                       */
5458
    POWERPC_DEF("603e3",       CPU_POWERPC_603E_v3,     0xFFFFFFFF, 603E),
5457
    POWERPC_DEF("603e3",       CPU_POWERPC_603E_v3,     603E),
5459 5458
    /* PowerPC 603e v4                                                       */
5460
    POWERPC_DEF("603e4",       CPU_POWERPC_603E_v4,     0xFFFFFFFF, 603E),
5459
    POWERPC_DEF("603e4",       CPU_POWERPC_603E_v4,     603E),
5461 5460
    /* PowerPC 603e v4.1                                                     */
5462
    POWERPC_DEF("603e4.1",     CPU_POWERPC_603E_v41,    0xFFFFFFFF, 603E),
5461
    POWERPC_DEF("603e4.1",     CPU_POWERPC_603E_v41,    603E),
5463 5462
    /* PowerPC 603e                                                          */
5464
    POWERPC_DEF("603e7",       CPU_POWERPC_603E7,       0xFFFFFFFF, 603E),
5463
    POWERPC_DEF("603e7",       CPU_POWERPC_603E7,       603E),
5465 5464
    /* PowerPC 603e7t                                                        */
5466
    POWERPC_DEF("603e7t",      CPU_POWERPC_603E7t,      0xFFFFFFFF, 603E),
5465
    POWERPC_DEF("603e7t",      CPU_POWERPC_603E7t,      603E),
5467 5466
    /* PowerPC 603e7v                                                        */
5468
    POWERPC_DEF("603e7v",      CPU_POWERPC_603E7v,      0xFFFFFFFF, 603E),
5467
    POWERPC_DEF("603e7v",      CPU_POWERPC_603E7v,      603E),
5469 5468
    /* Code name for PowerPC 603ev                                           */
5470
    POWERPC_DEF("Vaillant",    CPU_POWERPC_603E7v,      0xFFFFFFFF, 603E),
5469
    POWERPC_DEF("Vaillant",    CPU_POWERPC_603E7v,      603E),
5471 5470
    /* PowerPC 603e7v1                                                       */
5472
    POWERPC_DEF("603e7v1",     CPU_POWERPC_603E7v1,     0xFFFFFFFF, 603E),
5471
    POWERPC_DEF("603e7v1",     CPU_POWERPC_603E7v1,     603E),
5473 5472
    /* PowerPC 603e7v2                                                       */
5474
    POWERPC_DEF("603e7v2",     CPU_POWERPC_603E7v2,     0xFFFFFFFF, 603E),
5473
    POWERPC_DEF("603e7v2",     CPU_POWERPC_603E7v2,     603E),
5475 5474
    /* PowerPC 603p                                                          */
5476 5475
    /* to be checked */
5477
    POWERPC_DEF("603p",        CPU_POWERPC_603P,        0xFFFFFFFF, 603),
5476
    POWERPC_DEF("603p",        CPU_POWERPC_603P,        603),
5478 5477
    /* PowerPC 603r                                                          */
5479
    POWERPC_DEF("603r",        CPU_POWERPC_603R,        0xFFFFFFFF, 603E),
5478
    POWERPC_DEF("603r",        CPU_POWERPC_603R,        603E),
5480 5479
    /* Code name for PowerPC 603r                                            */
5481
    POWERPC_DEF("Goldeneye",   CPU_POWERPC_603R,        0xFFFFFFFF, 603E),
5480
    POWERPC_DEF("Goldeneye",   CPU_POWERPC_603R,        603E),
5482 5481
    /* PowerPC G2 core                                                       */
5483
    POWERPC_DEF("G2",          CPU_POWERPC_G2,          0xFFFFFFFF, G2),
5482
    POWERPC_DEF("G2",          CPU_POWERPC_G2,          G2),
5484 5483
    /* PowerPC G2 H4                                                         */
5485
    POWERPC_DEF("G2H4",        CPU_POWERPC_G2H4,        0xFFFFFFFF, G2),
5484
    POWERPC_DEF("G2H4",        CPU_POWERPC_G2H4,        G2),
5486 5485
    /* PowerPC G2 GP                                                         */
5487
    POWERPC_DEF("G2GP",        CPU_POWERPC_G2gp,        0xFFFFFFFF, G2),
5486
    POWERPC_DEF("G2GP",        CPU_POWERPC_G2gp,        G2),
5488 5487
    /* PowerPC G2 LS                                                         */
5489
    POWERPC_DEF("G2LS",        CPU_POWERPC_G2ls,        0xFFFFFFFF, G2),
5488
    POWERPC_DEF("G2LS",        CPU_POWERPC_G2ls,        G2),
5490 5489
    /* PowerPC G2LE                                                          */
5491 5490
    /* Same as G2, with little-endian mode support                           */
5492
    POWERPC_DEF("G2le",        CPU_POWERPC_G2LE,        0xFFFFFFFF, G2LE),
5491
    POWERPC_DEF("G2le",        CPU_POWERPC_G2LE,        G2LE),
5493 5492
    /* PowerPC G2LE GP                                                       */
5494
    POWERPC_DEF("G2leGP",      CPU_POWERPC_G2LEgp,      0xFFFFFFFF, G2LE),
5493
    POWERPC_DEF("G2leGP",      CPU_POWERPC_G2LEgp,      G2LE),
5495 5494
    /* PowerPC G2LE LS                                                       */
5496
    POWERPC_DEF("G2leLS",      CPU_POWERPC_G2LEls,      0xFFFFFFFF, G2LE),
5495
    POWERPC_DEF("G2leLS",      CPU_POWERPC_G2LEls,      G2LE),
5497 5496
    /* PowerPC 604                                                           */
5498
    POWERPC_DEF("604",         CPU_POWERPC_604,         0xFFFFFFFF, 604),
5497
    POWERPC_DEF("604",         CPU_POWERPC_604,         604),
5499 5498
    /* PowerPC 604e                                                          */
5500
    POWERPC_DEF("604e",        CPU_POWERPC_604E,        0xFFFFFFFF, 604),
5499
    /* XXX: code names "Sirocco" "Mach 5" */
5500
    POWERPC_DEF("604e",        CPU_POWERPC_604E,        604),
5501 5501
    /* PowerPC 604e v1.0                                                     */
5502
    POWERPC_DEF("604e1.0",     CPU_POWERPC_604E_v10,    0xFFFFFFFF, 604),
5502
    POWERPC_DEF("604e1.0",     CPU_POWERPC_604E_v10,    604),
5503 5503
    /* PowerPC 604e v2.2                                                     */
5504
    POWERPC_DEF("604e2.2",     CPU_POWERPC_604E_v22,    0xFFFFFFFF, 604),
5504
    POWERPC_DEF("604e2.2",     CPU_POWERPC_604E_v22,    604),
5505 5505
    /* PowerPC 604e v2.4                                                     */
5506
    POWERPC_DEF("604e2.4",     CPU_POWERPC_604E_v24,    0xFFFFFFFF, 604),
5506
    POWERPC_DEF("604e2.4",     CPU_POWERPC_604E_v24,    604),
5507 5507
    /* PowerPC 604r                                                          */
5508
    POWERPC_DEF("604r",        CPU_POWERPC_604R,        0xFFFFFFFF, 604),
5508
    POWERPC_DEF("604r",        CPU_POWERPC_604R,        604),
5509 5509
#if defined(TODO)
5510 5510
    /* PowerPC 604ev                                                         */
5511
    POWERPC_DEF("604ev",       CPU_POWERPC_604EV,       0xFFFFFFFF, 604),
5511
    POWERPC_DEF("604ev",       CPU_POWERPC_604EV,       604),
5512 5512
#endif
5513 5513
    /* PowerPC 7xx family                                                    */
5514 5514
    /* Generic PowerPC 740 (G3)                                              */
5515
    POWERPC_DEF("740",         CPU_POWERPC_7x0,         0xFFFFFFFF, 7x0),
5515
    POWERPC_DEF("740",         CPU_POWERPC_7x0,         7x0),
5516 5516
    /* Generic PowerPC 750 (G3)                                              */
5517
    POWERPC_DEF("750",         CPU_POWERPC_7x0,         0xFFFFFFFF, 7x0),
5517
    POWERPC_DEF("750",         CPU_POWERPC_7x0,         7x0),
5518 5518
    /* Code name for generic PowerPC 740/750 (G3)                            */
5519
    POWERPC_DEF("Arthur",      CPU_POWERPC_7x0,         0xFFFFFFFF, 7x0),
5519
    POWERPC_DEF("Arthur",      CPU_POWERPC_7x0,         7x0),
5520
    /* XXX: 750 codename "Typhoon" */
5520 5521
    /* PowerPC 740/750 is also known as G3                                   */
5521
    POWERPC_DEF("G3",          CPU_POWERPC_7x0,         0xFFFFFFFF, 7x0),
5522
    POWERPC_DEF("G3",          CPU_POWERPC_7x0,         7x0),
5522 5523
    /* PowerPC 740 v2.0 (G3)                                                 */
5523
    POWERPC_DEF("740v2.0",     CPU_POWERPC_7x0_v20,     0xFFFFFFFF, 7x0),
5524
    POWERPC_DEF("740v2.0",     CPU_POWERPC_7x0_v20,     7x0),
5524 5525
    /* PowerPC 750 v2.0 (G3)                                                 */
5525
    POWERPC_DEF("750v2.0",     CPU_POWERPC_7x0_v20,     0xFFFFFFFF, 7x0),
5526
    POWERPC_DEF("750v2.0",     CPU_POWERPC_7x0_v20,     7x0),
5526 5527
    /* PowerPC 740 v2.1 (G3)                                                 */
5527
    POWERPC_DEF("740v2.1",     CPU_POWERPC_7x0_v21,     0xFFFFFFFF, 7x0),
5528
    POWERPC_DEF("740v2.1",     CPU_POWERPC_7x0_v21,     7x0),
5528 5529
    /* PowerPC 750 v2.1 (G3)                                                 */
5529
    POWERPC_DEF("750v2.1",     CPU_POWERPC_7x0_v21,     0xFFFFFFFF, 7x0),
5530
    POWERPC_DEF("750v2.1",     CPU_POWERPC_7x0_v21,     7x0),
5530 5531
    /* PowerPC 740 v2.2 (G3)                                                 */
5531
    POWERPC_DEF("740v2.2",     CPU_POWERPC_7x0_v22,     0xFFFFFFFF, 7x0),
5532
    POWERPC_DEF("740v2.2",     CPU_POWERPC_7x0_v22,     7x0),
5532 5533
    /* PowerPC 750 v2.2 (G3)                                                 */
5533
    POWERPC_DEF("750v2.2",     CPU_POWERPC_7x0_v22,     0xFFFFFFFF, 7x0),
5534
    POWERPC_DEF("750v2.2",     CPU_POWERPC_7x0_v22,     7x0),
5534 5535
    /* PowerPC 740 v3.0 (G3)                                                 */
5535
    POWERPC_DEF("740v3.0",     CPU_POWERPC_7x0_v30,     0xFFFFFFFF, 7x0),
5536
    POWERPC_DEF("740v3.0",     CPU_POWERPC_7x0_v30,     7x0),
5536 5537
    /* PowerPC 750 v3.0 (G3)                                                 */
5537
    POWERPC_DEF("750v3.0",     CPU_POWERPC_7x0_v30,     0xFFFFFFFF, 7x0),
5538
    POWERPC_DEF("750v3.0",     CPU_POWERPC_7x0_v30,     7x0),
5538 5539
    /* PowerPC 740 v3.1 (G3)                                                 */
5539
    POWERPC_DEF("740v3.1",     CPU_POWERPC_7x0_v31,     0xFFFFFFFF, 7x0),
5540
    POWERPC_DEF("740v3.1",     CPU_POWERPC_7x0_v31,     7x0),
5540 5541
    /* PowerPC 750 v3.1 (G3)                                                 */
5541
    POWERPC_DEF("750v3.1",     CPU_POWERPC_7x0_v31,     0xFFFFFFFF, 7x0),
5542
    POWERPC_DEF("750v3.1",     CPU_POWERPC_7x0_v31,     7x0),
5542 5543
    /* PowerPC 740E (G3)                                                     */
5543
    POWERPC_DEF("740e",        CPU_POWERPC_740E,        0xFFFFFFFF, 7x0),
5544
    POWERPC_DEF("740e",        CPU_POWERPC_740E,        7x0),
5544 5545
    /* PowerPC 740P (G3)                                                     */
5545
    POWERPC_DEF("740p",        CPU_POWERPC_7x0P,        0xFFFFFFFF, 7x0),
5546
    POWERPC_DEF("740p",        CPU_POWERPC_7x0P,        7x0),
5546 5547
    /* PowerPC 750P (G3)                                                     */
5547
    POWERPC_DEF("750p",        CPU_POWERPC_7x0P,        0xFFFFFFFF, 7x0),
5548
    POWERPC_DEF("750p",        CPU_POWERPC_7x0P,        7x0),
5548 5549
    /* Code name for PowerPC 740P/750P (G3)                                  */
5549
    POWERPC_DEF("Conan/Doyle", CPU_POWERPC_7x0P,        0xFFFFFFFF, 7x0),
5550
    POWERPC_DEF("Conan/Doyle", CPU_POWERPC_7x0P,        7x0),
5550 5551
    /* PowerPC 750CL (G3 embedded)                                           */
5551
    POWERPC_DEF("750cl",       CPU_POWERPC_750CL,       0xFFFFFFFF, 7x0),
5552
    POWERPC_DEF("750cl",       CPU_POWERPC_750CL,       7x0),
5552 5553
    /* PowerPC 750CX (G3 embedded)                                           */
5553
    POWERPC_DEF("750cx",       CPU_POWERPC_750CX,       0xFFFFFFFF, 7x0),
5554
    POWERPC_DEF("750cx",       CPU_POWERPC_750CX,       7x0),
5554 5555
    /* PowerPC 750CX v2.1 (G3 embedded)                                      */
5555
    POWERPC_DEF("750cx2.1",    CPU_POWERPC_750CX_v21,   0xFFFFFFFF, 7x0),
5556
    POWERPC_DEF("750cx2.1",    CPU_POWERPC_750CX_v21,   7x0),
5556 5557
    /* PowerPC 750CX v2.2 (G3 embedded)                                      */
5557
    POWERPC_DEF("750cx2.2",    CPU_POWERPC_750CX_v22,   0xFFFFFFFF, 7x0),
5558
    POWERPC_DEF("750cx2.2",    CPU_POWERPC_750CX_v22,   7x0),
5558 5559
    /* PowerPC 750CXe (G3 embedded)                                          */
5559
    POWERPC_DEF("750cxe",      CPU_POWERPC_750CXE,      0xFFFFFFFF, 7x0),
5560
    POWERPC_DEF("750cxe",      CPU_POWERPC_750CXE,      7x0),
5560 5561
    /* PowerPC 750CXe v2.1 (G3 embedded)                                     */
5561
    POWERPC_DEF("750cxe21",    CPU_POWERPC_750CXE_v21,  0xFFFFFFFF, 7x0),
5562
    POWERPC_DEF("750cxe21",    CPU_POWERPC_750CXE_v21,  7x0),
5562 5563
    /* PowerPC 750CXe v2.2 (G3 embedded)                                     */
5563
    POWERPC_DEF("750cxe22",    CPU_POWERPC_750CXE_v22,  0xFFFFFFFF, 7x0),
5564
    POWERPC_DEF("750cxe22",    CPU_POWERPC_750CXE_v22,  7x0),
5564 5565
    /* PowerPC 750CXe v2.3 (G3 embedded)                                     */
5565
    POWERPC_DEF("750cxe23",    CPU_POWERPC_750CXE_v23,  0xFFFFFFFF, 7x0),
5566
    POWERPC_DEF("750cxe23",    CPU_POWERPC_750CXE_v23,  7x0),
5566 5567
    /* PowerPC 750CXe v2.4 (G3 embedded)                                     */
5567
    POWERPC_DEF("750cxe24",    CPU_POWERPC_750CXE_v24,  0xFFFFFFFF, 7x0),
5568
    POWERPC_DEF("750cxe24",    CPU_POWERPC_750CXE_v24,  7x0),
5568 5569
    /* PowerPC 750CXe v2.4b (G3 embedded)                                    */
5569
    POWERPC_DEF("750cxe24b",   CPU_POWERPC_750CXE_v24b, 0xFFFFFFFF, 7x0),
5570
    POWERPC_DEF("750cxe24b",   CPU_POWERPC_750CXE_v24b, 7x0),
5570 5571
    /* PowerPC 750CXe v3.1 (G3 embedded)                                     */
5571
    POWERPC_DEF("750cxe31",    CPU_POWERPC_750CXE_v31,  0xFFFFFFFF, 7x0),
5572
    POWERPC_DEF("750cxe31",    CPU_POWERPC_750CXE_v31,  7x0),
5572 5573
    /* PowerPC 750CXe v3.1b (G3 embedded)                                    */
5573
    POWERPC_DEF("750cxe3.1b",  CPU_POWERPC_750CXE_v31b, 0xFFFFFFFF, 7x0),
5574
    POWERPC_DEF("750cxe3.1b",  CPU_POWERPC_750CXE_v31b, 7x0),
5574 5575
    /* PowerPC 750CXr (G3 embedded)                                          */
5575
    POWERPC_DEF("750cxr",      CPU_POWERPC_750CXR,      0xFFFFFFFF, 7x0),
5576
    POWERPC_DEF("750cxr",      CPU_POWERPC_750CXR,      7x0),
5576 5577
    /* PowerPC 750E (G3)                                                     */
5577
    POWERPC_DEF("750e",        CPU_POWERPC_750E,        0xFFFFFFFF, 7x0),
5578
    POWERPC_DEF("750e",        CPU_POWERPC_750E,        7x0),
5578 5579
    /* PowerPC 750FL (G3 embedded)                                           */
5579
    POWERPC_DEF("750fl",       CPU_POWERPC_750FL,       0xFFFFFFFF, 750fx),
5580
    POWERPC_DEF("750fl",       CPU_POWERPC_750FL,       750fx),
5580 5581
    /* PowerPC 750FX (G3 embedded)                                           */
5581
    POWERPC_DEF("750fx",       CPU_POWERPC_750FX,       0xFFFFFFFF, 750fx),
5582
    POWERPC_DEF("750fx",       CPU_POWERPC_750FX,       750fx),
5582 5583
    /* PowerPC 750FX v1.0 (G3 embedded)                                      */
5583
    POWERPC_DEF("750fx1.0",    CPU_POWERPC_750FX_v10,   0xFFFFFFFF, 750fx),
5584
    POWERPC_DEF("750fx1.0",    CPU_POWERPC_750FX_v10,   750fx),
5584 5585
    /* PowerPC 750FX v2.0 (G3 embedded)                                      */
5585
    POWERPC_DEF("750fx2.0",    CPU_POWERPC_750FX_v20,   0xFFFFFFFF, 750fx),
5586
    POWERPC_DEF("750fx2.0",    CPU_POWERPC_750FX_v20,   750fx),
5586 5587
    /* PowerPC 750FX v2.1 (G3 embedded)                                      */
5587
    POWERPC_DEF("750fx2.1",    CPU_POWERPC_750FX_v21,   0xFFFFFFFF, 750fx),
5588
    POWERPC_DEF("750fx2.1",    CPU_POWERPC_750FX_v21,   750fx),
5588 5589
    /* PowerPC 750FX v2.2 (G3 embedded)                                      */
5589
    POWERPC_DEF("750fx2.2",    CPU_POWERPC_750FX_v22,   0xFFFFFFFF, 750fx),
5590
    POWERPC_DEF("750fx2.2",    CPU_POWERPC_750FX_v22,   750fx),
5590 5591
    /* PowerPC 750FX v2.3 (G3 embedded)                                      */
5591
    POWERPC_DEF("750fx2.3",    CPU_POWERPC_750FX_v23,   0xFFFFFFFF, 750fx),
5592
    POWERPC_DEF("750fx2.3",    CPU_POWERPC_750FX_v23,   750fx),
5592 5593
    /* PowerPC 750GL (G3 embedded)                                           */
5593
    POWERPC_DEF("750gl",       CPU_POWERPC_750GL,       0xFFFFFFFF, 750fx),
5594
    POWERPC_DEF("750gl",       CPU_POWERPC_750GL,       750fx),
5594 5595
    /* PowerPC 750GX (G3 embedded)                                           */
5595
    POWERPC_DEF("750gx",       CPU_POWERPC_750GX,       0xFFFFFFFF, 750fx),
5596
    POWERPC_DEF("750gx",       CPU_POWERPC_750GX,       750fx),
5596 5597
    /* PowerPC 750GX v1.0 (G3 embedded)                                      */
5597
    POWERPC_DEF("750gx1.0",    CPU_POWERPC_750GX_v10,   0xFFFFFFFF, 750fx),
5598
    POWERPC_DEF("750gx1.0",    CPU_POWERPC_750GX_v10,   750fx),
5598 5599
    /* PowerPC 750GX v1.1 (G3 embedded)                                      */
5599
    POWERPC_DEF("750gx1.1",    CPU_POWERPC_750GX_v11,   0xFFFFFFFF, 750fx),
5600
    POWERPC_DEF("750gx1.1",    CPU_POWERPC_750GX_v11,   750fx),
5600 5601
    /* PowerPC 750GX v1.2 (G3 embedded)                                      */
5601
    POWERPC_DEF("750gx1.2",    CPU_POWERPC_750GX_v12,   0xFFFFFFFF, 750fx),
5602
    POWERPC_DEF("750gx1.2",    CPU_POWERPC_750GX_v12,   750fx),
5602 5603
    /* PowerPC 750L (G3 embedded)                                            */
5603
    POWERPC_DEF("750l",        CPU_POWERPC_750L,        0xFFFFFFFF, 7x0),
5604
    POWERPC_DEF("750l",        CPU_POWERPC_750L,        7x0),
5604 5605
    /* Code name for PowerPC 750L (G3 embedded)                              */
5605
    POWERPC_DEF("LoneStar",    CPU_POWERPC_750L,        0xFFFFFFFF, 7x0),
5606
    POWERPC_DEF("LoneStar",    CPU_POWERPC_750L,        7x0),
5606 5607
    /* PowerPC 750L v2.2 (G3 embedded)                                       */
5607
    POWERPC_DEF("750l2.2",     CPU_POWERPC_750L_v22,    0xFFFFFFFF, 7x0),
5608
    POWERPC_DEF("750l2.2",     CPU_POWERPC_750L_v22,    7x0),
5608 5609
    /* PowerPC 750L v3.0 (G3 embedded)                                       */
5609
    POWERPC_DEF("750l3.0",     CPU_POWERPC_750L_v30,    0xFFFFFFFF, 7x0),
5610
    POWERPC_DEF("750l3.0",     CPU_POWERPC_750L_v30,    7x0),
5610 5611
    /* PowerPC 750L v3.2 (G3 embedded)                                       */
5611
    POWERPC_DEF("750l3.2",     CPU_POWERPC_750L_v32,    0xFFFFFFFF, 7x0),
5612
    POWERPC_DEF("750l3.2",     CPU_POWERPC_750L_v32,    7x0),
5612 5613
    /* Generic PowerPC 745                                                   */
5613
    POWERPC_DEF("745",         CPU_POWERPC_7x5,         0xFFFFFFFF, 7x5),
5614
    POWERPC_DEF("745",         CPU_POWERPC_7x5,         7x5),
5614 5615
    /* Generic PowerPC 755                                                   */
5615
    POWERPC_DEF("755",         CPU_POWERPC_7x5,         0xFFFFFFFF, 7x5),
5616
    POWERPC_DEF("755",         CPU_POWERPC_7x5,         7x5),
5616 5617
    /* Code name for PowerPC 745/755                                         */
5617
    POWERPC_DEF("Goldfinger",  CPU_POWERPC_7x5,         0xFFFFFFFF, 7x5),
5618
    POWERPC_DEF("Goldfinger",  CPU_POWERPC_7x5,         7x5),
5618 5619
    /* PowerPC 745 v1.0                                                      */
5619
    POWERPC_DEF("745v1.0",     CPU_POWERPC_7x5_v10,     0xFFFFFFFF, 7x5),
5620
    POWERPC_DEF("745v1.0",     CPU_POWERPC_7x5_v10,     7x5),
5620 5621
    /* PowerPC 755 v1.0                                                      */
5621
    POWERPC_DEF("755v1.0",     CPU_POWERPC_7x5_v10,     0xFFFFFFFF, 7x5),
5622
    POWERPC_DEF("755v1.0",     CPU_POWERPC_7x5_v10,     7x5),
5622 5623
    /* PowerPC 745 v1.1                                                      */
5623
    POWERPC_DEF("745v1.1",     CPU_POWERPC_7x5_v11,     0xFFFFFFFF, 7x5),
5624
    POWERPC_DEF("745v1.1",     CPU_POWERPC_7x5_v11,     7x5),
5624 5625
    /* PowerPC 755 v1.1                                                      */
5625
    POWERPC_DEF("755v1.1",     CPU_POWERPC_7x5_v11,     0xFFFFFFFF, 7x5),
5626
    POWERPC_DEF("755v1.1",     CPU_POWERPC_7x5_v11,     7x5),
5626 5627
    /* PowerPC 745 v2.0                                                      */
5627
    POWERPC_DEF("745v2.0",     CPU_POWERPC_7x5_v20,     0xFFFFFFFF, 7x5),
5628
    POWERPC_DEF("745v2.0",     CPU_POWERPC_7x5_v20,     7x5),
5628 5629
    /* PowerPC 755 v2.0                                                      */
5629
    POWERPC_DEF("755v2.0",     CPU_POWERPC_7x5_v20,     0xFFFFFFFF, 7x5),
5630
    POWERPC_DEF("755v2.0",     CPU_POWERPC_7x5_v20,     7x5),
5630 5631
    /* PowerPC 745 v2.1                                                      */
5631
    POWERPC_DEF("745v2.1",     CPU_POWERPC_7x5_v21,     0xFFFFFFFF, 7x5),
5632
    POWERPC_DEF("745v2.1",     CPU_POWERPC_7x5_v21,     7x5),
5632 5633
    /* PowerPC 755 v2.1                                                      */
5633
    POWERPC_DEF("755v2.1",     CPU_POWERPC_7x5_v21,     0xFFFFFFFF, 7x5),
5634
    POWERPC_DEF("755v2.1",     CPU_POWERPC_7x5_v21,     7x5),
5634 5635
    /* PowerPC 745 v2.2                                                      */
5635
    POWERPC_DEF("745v2.2",     CPU_POWERPC_7x5_v22,     0xFFFFFFFF, 7x5),
5636
    POWERPC_DEF("745v2.2",     CPU_POWERPC_7x5_v22,     7x5),
5636 5637
    /* PowerPC 755 v2.2                                                      */
5637
    POWERPC_DEF("755v2.2",     CPU_POWERPC_7x5_v22,     0xFFFFFFFF, 7x5),
5638
    POWERPC_DEF("755v2.2",     CPU_POWERPC_7x5_v22,     7x5),
5638 5639
    /* PowerPC 745 v2.3                                                      */
5639
    POWERPC_DEF("745v2.3",     CPU_POWERPC_7x5_v23,     0xFFFFFFFF, 7x5),
5640
    POWERPC_DEF("745v2.3",     CPU_POWERPC_7x5_v23,     7x5),
5640 5641
    /* PowerPC 755 v2.3                                                      */
5641
    POWERPC_DEF("755v2.3",     CPU_POWERPC_7x5_v23,     0xFFFFFFFF, 7x5),
5642
    POWERPC_DEF("755v2.3",     CPU_POWERPC_7x5_v23,     7x5),
5642 5643
    /* PowerPC 745 v2.4                                                      */
5643
    POWERPC_DEF("745v2.4",     CPU_POWERPC_7x5_v24,     0xFFFFFFFF, 7x5),
5644
    POWERPC_DEF("745v2.4",     CPU_POWERPC_7x5_v24,     7x5),
5644 5645
    /* PowerPC 755 v2.4                                                      */
5645
    POWERPC_DEF("755v2.4",     CPU_POWERPC_7x5_v24,     0xFFFFFFFF, 7x5),
5646
    POWERPC_DEF("755v2.4",     CPU_POWERPC_7x5_v24,     7x5),
5646 5647
    /* PowerPC 745 v2.5                                                      */
5647
    POWERPC_DEF("745v2.5",     CPU_POWERPC_7x5_v25,     0xFFFFFFFF, 7x5),
5648
    POWERPC_DEF("745v2.5",     CPU_POWERPC_7x5_v25,     7x5),
5648 5649
    /* PowerPC 755 v2.5                                                      */
5649
    POWERPC_DEF("755v2.5",     CPU_POWERPC_7x5_v25,     0xFFFFFFFF, 7x5),
5650
    POWERPC_DEF("755v2.5",     CPU_POWERPC_7x5_v25,     7x5),
5650 5651
    /* PowerPC 745 v2.6                                                      */
5651
    POWERPC_DEF("745v2.6",     CPU_POWERPC_7x5_v26,     0xFFFFFFFF, 7x5),
5652
    POWERPC_DEF("745v2.6",     CPU_POWERPC_7x5_v26,     7x5),
5652 5653
    /* PowerPC 755 v2.6                                                      */
5653
    POWERPC_DEF("755v2.6",     CPU_POWERPC_7x5_v26,     0xFFFFFFFF, 7x5),
5654
    POWERPC_DEF("755v2.6",     CPU_POWERPC_7x5_v26,     7x5),
5654 5655
    /* PowerPC 745 v2.7                                                      */
5655
    POWERPC_DEF("745v2.7",     CPU_POWERPC_7x5_v27,     0xFFFFFFFF, 7x5),
5656
    POWERPC_DEF("745v2.7",     CPU_POWERPC_7x5_v27,     7x5),
5656 5657
    /* PowerPC 755 v2.7                                                      */
5657
    POWERPC_DEF("755v2.7",     CPU_POWERPC_7x5_v27,     0xFFFFFFFF, 7x5),
5658
    POWERPC_DEF("755v2.7",     CPU_POWERPC_7x5_v27,     7x5),
5658 5659
    /* PowerPC 745 v2.8                                                      */
5659
    POWERPC_DEF("745v2.8",     CPU_POWERPC_7x5_v28,     0xFFFFFFFF, 7x5),
5660
    POWERPC_DEF("745v2.8",     CPU_POWERPC_7x5_v28,     7x5),
5660 5661
    /* PowerPC 755 v2.8                                                      */
5661
    POWERPC_DEF("755v2.8",     CPU_POWERPC_7x5_v28,     0xFFFFFFFF, 7x5),
5662
    POWERPC_DEF("755v2.8",     CPU_POWERPC_7x5_v28,     7x5),
5662 5663
#if defined (TODO)
5663 5664
    /* PowerPC 745P (G3)                                                     */
5664
    POWERPC_DEF("745p",        CPU_POWERPC_7x5P,        0xFFFFFFFF, 7x5),
5665
    POWERPC_DEF("745p",        CPU_POWERPC_7x5P,        7x5),
5665 5666
    /* PowerPC 755P (G3)                                                     */
5666
    POWERPC_DEF("755p",        CPU_POWERPC_7x5P,        0xFFFFFFFF, 7x5),
5667
    POWERPC_DEF("755p",        CPU_POWERPC_7x5P,        7x5),
5667 5668
#endif
5668 5669
    /* PowerPC 74xx family                                                   */
5669 5670
    /* PowerPC 7400 (G4)                                                     */
5670
    POWERPC_DEF("7400",        CPU_POWERPC_7400,        0xFFFFFFFF, 7400),
5671
    POWERPC_DEF("7400",        CPU_POWERPC_7400,        7400),
5671 5672
    /* Code name for PowerPC 7400                                            */
5672
    POWERPC_DEF("Max",         CPU_POWERPC_7400,        0xFFFFFFFF, 7400),
5673
    POWERPC_DEF("Max",         CPU_POWERPC_7400,        7400),
5673 5674
    /* PowerPC 74xx is also well known as G4                                 */
5674
    POWERPC_DEF("G4",          CPU_POWERPC_7400,        0xFFFFFFFF, 7400),
5675
    POWERPC_DEF("G4",          CPU_POWERPC_7400,        7400),
5675 5676
    /* PowerPC 7400 v1.0 (G4)                                                */
5676
    POWERPC_DEF("7400v1.0",    CPU_POWERPC_7400_v10,    0xFFFFFFFF, 7400),
5677
    POWERPC_DEF("7400v1.0",    CPU_POWERPC_7400_v10,    7400),
5677 5678
    /* PowerPC 7400 v1.1 (G4)                                                */
5678
    POWERPC_DEF("7400v1.1",    CPU_POWERPC_7400_v11,    0xFFFFFFFF, 7400),
5679
    POWERPC_DEF("7400v1.1",    CPU_POWERPC_7400_v11,    7400),
5679 5680
    /* PowerPC 7400 v2.0 (G4)                                                */
5680
    POWERPC_DEF("7400v2.0",    CPU_POWERPC_7400_v20,    0xFFFFFFFF, 7400),
5681
    POWERPC_DEF("7400v2.0",    CPU_POWERPC_7400_v20,    7400),
5681 5682
    /* PowerPC 7400 v2.2 (G4)                                                */
5682
    POWERPC_DEF("7400v2.2",    CPU_POWERPC_7400_v22,    0xFFFFFFFF, 7400),
5683
    POWERPC_DEF("7400v2.2",    CPU_POWERPC_7400_v22,    7400),
5683 5684
    /* PowerPC 7400 v2.6 (G4)                                                */
5684
    POWERPC_DEF("7400v2.6",    CPU_POWERPC_7400_v26,    0xFFFFFFFF, 7400),
5685
    POWERPC_DEF("7400v2.6",    CPU_POWERPC_7400_v26,    7400),
5685 5686
    /* PowerPC 7400 v2.7 (G4)                                                */
5686
    POWERPC_DEF("7400v2.7",    CPU_POWERPC_7400_v27,    0xFFFFFFFF, 7400),
5687
    POWERPC_DEF("7400v2.7",    CPU_POWERPC_7400_v27,    7400),
5687 5688
    /* PowerPC 7400 v2.8 (G4)                                                */
5688
    POWERPC_DEF("7400v2.8",    CPU_POWERPC_7400_v28,    0xFFFFFFFF, 7400),
5689
    POWERPC_DEF("7400v2.8",    CPU_POWERPC_7400_v28,    7400),
5689 5690
    /* PowerPC 7400 v2.9 (G4)                                                */
5690
    POWERPC_DEF("7400v2.9",    CPU_POWERPC_7400_v29,    0xFFFFFFFF, 7400),
5691
    POWERPC_DEF("7400v2.9",    CPU_POWERPC_7400_v29,    7400),
5691 5692
    /* PowerPC 7410 (G4)                                                     */
5692
    POWERPC_DEF("7410",        CPU_POWERPC_7410,        0xFFFFFFFF, 7410),
5693
    POWERPC_DEF("7410",        CPU_POWERPC_7410,        7410),
5693 5694
    /* Code name for PowerPC 7410                                            */
5694
    POWERPC_DEF("Nitro",       CPU_POWERPC_7410,        0xFFFFFFFF, 7410),
5695
    POWERPC_DEF("Nitro",       CPU_POWERPC_7410,        7410),
5695 5696
    /* PowerPC 7410 v1.0 (G4)                                                */
5696
    POWERPC_DEF("7410v1.0",    CPU_POWERPC_7410_v10,    0xFFFFFFFF, 7410),
5697
    POWERPC_DEF("7410v1.0",    CPU_POWERPC_7410_v10,    7410),
5697 5698
    /* PowerPC 7410 v1.1 (G4)                                                */
5698
    POWERPC_DEF("7410v1.1",    CPU_POWERPC_7410_v11,    0xFFFFFFFF, 7410),
5699
    POWERPC_DEF("7410v1.1",    CPU_POWERPC_7410_v11,    7410),
5699 5700
    /* PowerPC 7410 v1.2 (G4)                                                */
5700
    POWERPC_DEF("7410v1.2",    CPU_POWERPC_7410_v12,    0xFFFFFFFF, 7410),
5701
    POWERPC_DEF("7410v1.2",    CPU_POWERPC_7410_v12,    7410),
5701 5702
    /* PowerPC 7410 v1.3 (G4)                                                */
5702
    POWERPC_DEF("7410v1.3",    CPU_POWERPC_7410_v13,    0xFFFFFFFF, 7410),
5703
    POWERPC_DEF("7410v1.3",    CPU_POWERPC_7410_v13,    7410),
5703 5704
    /* PowerPC 7410 v1.4 (G4)                                                */
5704
    POWERPC_DEF("7410v1.4",    CPU_POWERPC_7410_v14,    0xFFFFFFFF, 7410),
5705
    POWERPC_DEF("7410v1.4",    CPU_POWERPC_7410_v14,    7410),
5705 5706
    /* PowerPC 7448 (G4)                                                     */
5706
    POWERPC_DEF("7448",        CPU_POWERPC_7448,        0xFFFFFFFF, 7400),
5707
    POWERPC_DEF("7448",        CPU_POWERPC_7448,        7400),
5707 5708
    /* PowerPC 7448 v1.0 (G4)                                                */
5708
    POWERPC_DEF("7448v1.0",    CPU_POWERPC_7448_v10,    0xFFFFFFFF, 7400),
5709
    POWERPC_DEF("7448v1.0",    CPU_POWERPC_7448_v10,    7400),
5709 5710
    /* PowerPC 7448 v1.1 (G4)                                                */
5710
    POWERPC_DEF("7448v1.1",    CPU_POWERPC_7448_v11,    0xFFFFFFFF, 7400),
5711
    POWERPC_DEF("7448v1.1",    CPU_POWERPC_7448_v11,    7400),
5711 5712
    /* PowerPC 7448 v2.0 (G4)                                                */
5712
    POWERPC_DEF("7448v2.0",    CPU_POWERPC_7448_v20,    0xFFFFFFFF, 7400),
5713
    POWERPC_DEF("7448v2.0",    CPU_POWERPC_7448_v20,    7400),
5713 5714
    /* PowerPC 7448 v2.1 (G4)                                                */
5714
    POWERPC_DEF("7448v2.1",    CPU_POWERPC_7448_v21,    0xFFFFFFFF, 7400),
5715
    POWERPC_DEF("7448v2.1",    CPU_POWERPC_7448_v21,    7400),
5715 5716
    /* PowerPC 7450 (G4)                                                     */
5716
    POWERPC_DEF("7450",        CPU_POWERPC_7450,        0xFFFFFFFF, 7450),
5717
    POWERPC_DEF("7450",        CPU_POWERPC_7450,        7450),
5717 5718
    /* Code name for PowerPC 7450                                            */
5718
    POWERPC_DEF("Vger",        CPU_POWERPC_7450,        0xFFFFFFFF, 7450),
5719
    POWERPC_DEF("Vger",        CPU_POWERPC_7450,        7450),
5719 5720
    /* PowerPC 7450 v1.0 (G4)                                                */
5720
    POWERPC_DEF("7450v1.0",    CPU_POWERPC_7450_v10,    0xFFFFFFFF, 7450),
5721
    POWERPC_DEF("7450v1.0",    CPU_POWERPC_7450_v10,    7450),
5721 5722
    /* PowerPC 7450 v1.1 (G4)                                                */
5722
    POWERPC_DEF("7450v1.1",    CPU_POWERPC_7450_v11,    0xFFFFFFFF, 7450),
5723
    POWERPC_DEF("7450v1.1",    CPU_POWERPC_7450_v11,    7450),
5723 5724
    /* PowerPC 7450 v1.2 (G4)                                                */
5724
    POWERPC_DEF("7450v1.2",    CPU_POWERPC_7450_v12,    0xFFFFFFFF, 7450),
5725
    POWERPC_DEF("7450v1.2",    CPU_POWERPC_7450_v12,    7450),
5725 5726
    /* PowerPC 7450 v2.0 (G4)                                                */
5726
    POWERPC_DEF("7450v2.0",    CPU_POWERPC_7450_v20,    0xFFFFFFFF, 7450),
5727
    POWERPC_DEF("7450v2.0",    CPU_POWERPC_7450_v20,    7450),
5727 5728
    /* PowerPC 7450 v2.1 (G4)                                                */
5728
    POWERPC_DEF("7450v2.1",    CPU_POWERPC_7450_v21,    0xFFFFFFFF, 7450),
5729
    POWERPC_DEF("7450v2.1",    CPU_POWERPC_7450_v21,    7450),
5729 5730
    /* PowerPC 7441 (G4)                                                     */
5730
    POWERPC_DEF("7441",        CPU_POWERPC_74x1,        0xFFFFFFFF, 7440),
5731
    POWERPC_DEF("7441",        CPU_POWERPC_74x1,        7440),
5731 5732
    /* PowerPC 7451 (G4)                                                     */
5732
    POWERPC_DEF("7451",        CPU_POWERPC_74x1,        0xFFFFFFFF, 7450),
5733
    POWERPC_DEF("7451",        CPU_POWERPC_74x1,        7450),
5733 5734
    /* PowerPC 7441g (G4)                                                    */
5734
    POWERPC_DEF("7441g",       CPU_POWERPC_74x1G,       0xFFFFFFFF, 7440),
5735
    POWERPC_DEF("7441g",       CPU_POWERPC_74x1G,       7440),
5735 5736
    /* PowerPC 7451g (G4)                                                    */
5736
    POWERPC_DEF("7451g",       CPU_POWERPC_74x1G,       0xFFFFFFFF, 7450),
5737
    POWERPC_DEF("7451g",       CPU_POWERPC_74x1G,       7450),
5737 5738
    /* PowerPC 7445 (G4)                                                     */
5738
    POWERPC_DEF("7445",        CPU_POWERPC_74x5,        0xFFFFFFFF, 7445),
5739
    POWERPC_DEF("7445",        CPU_POWERPC_74x5,        7445),
5739 5740
    /* PowerPC 7455 (G4)                                                     */
5740
    POWERPC_DEF("7455",        CPU_POWERPC_74x5,        0xFFFFFFFF, 7455),
5741
    POWERPC_DEF("7455",        CPU_POWERPC_74x5,        7455),
5741 5742
    /* Code name for PowerPC 7445/7455                                       */
5742
    POWERPC_DEF("Apollo6",     CPU_POWERPC_74x5,        0xFFFFFFFF, 7455),
5743
    POWERPC_DEF("Apollo6",     CPU_POWERPC_74x5,        7455),
5743 5744
    /* PowerPC 7445 v1.0 (G4)                                                */
5744
    POWERPC_DEF("7445v1.0",    CPU_POWERPC_74x5_v10,    0xFFFFFFFF, 7445),
5745
    POWERPC_DEF("7445v1.0",    CPU_POWERPC_74x5_v10,    7445),
5745 5746
    /* PowerPC 7455 v1.0 (G4)                                                */
5746
    POWERPC_DEF("7455v1.0",    CPU_POWERPC_74x5_v10,    0xFFFFFFFF, 7455),
5747
    POWERPC_DEF("7455v1.0",    CPU_POWERPC_74x5_v10,    7455),
5747 5748
    /* PowerPC 7445 v2.1 (G4)                                                */
5748
    POWERPC_DEF("7445v2.1",    CPU_POWERPC_74x5_v21,    0xFFFFFFFF, 7445),
5749
    POWERPC_DEF("7445v2.1",    CPU_POWERPC_74x5_v21,    7445),
5749 5750
    /* PowerPC 7455 v2.1 (G4)                                                */
5750
    POWERPC_DEF("7455v2.1",    CPU_POWERPC_74x5_v21,    0xFFFFFFFF, 7455),
5751
    POWERPC_DEF("7455v2.1",    CPU_POWERPC_74x5_v21,    7455),
5751 5752
    /* PowerPC 7445 v3.2 (G4)                                                */
5752
    POWERPC_DEF("7445v3.2",    CPU_POWERPC_74x5_v32,    0xFFFFFFFF, 7445),
5753
    POWERPC_DEF("7445v3.2",    CPU_POWERPC_74x5_v32,    7445),
5753 5754
    /* PowerPC 7455 v3.2 (G4)                                                */
5754
    POWERPC_DEF("7455v3.2",    CPU_POWERPC_74x5_v32,    0xFFFFFFFF, 7455),
5755
    POWERPC_DEF("7455v3.2",    CPU_POWERPC_74x5_v32,    7455),
5755 5756
    /* PowerPC 7445 v3.3 (G4)                                                */
5756
    POWERPC_DEF("7445v3.3",    CPU_POWERPC_74x5_v33,    0xFFFFFFFF, 7445),
5757
    POWERPC_DEF("7445v3.3",    CPU_POWERPC_74x5_v33,    7445),
5757 5758
    /* PowerPC 7455 v3.3 (G4)                                                */
5758
    POWERPC_DEF("7455v3.3",    CPU_POWERPC_74x5_v33,    0xFFFFFFFF, 7455),
5759
    POWERPC_DEF("7455v3.3",    CPU_POWERPC_74x5_v33,    7455),
5759 5760
    /* PowerPC 7445 v3.4 (G4)                                                */
5760
    POWERPC_DEF("7445v3.4",    CPU_POWERPC_74x5_v34,    0xFFFFFFFF, 7445),
5761
    POWERPC_DEF("7445v3.4",    CPU_POWERPC_74x5_v34,    7445),
5761 5762
    /* PowerPC 7455 v3.4 (G4)                                                */
5762
    POWERPC_DEF("7455v3.4",    CPU_POWERPC_74x5_v34,    0xFFFFFFFF, 7455),
5763
    POWERPC_DEF("7455v3.4",    CPU_POWERPC_74x5_v34,    7455),
5763 5764
    /* PowerPC 7447 (G4)                                                     */
5764
    POWERPC_DEF("7447",        CPU_POWERPC_74x7,        0xFFFFFFFF, 7445),
5765
    POWERPC_DEF("7447",        CPU_POWERPC_74x7,        7445),
5765 5766
    /* PowerPC 7457 (G4)                                                     */
5766
    POWERPC_DEF("7457",        CPU_POWERPC_74x7,        0xFFFFFFFF, 7455),
5767
    POWERPC_DEF("7457",        CPU_POWERPC_74x7,        7455),
5767 5768
    /* Code name for PowerPC 7447/7457                                       */
5768
    POWERPC_DEF("Apollo7",     CPU_POWERPC_74x7,        0xFFFFFFFF, 7455),
5769
    POWERPC_DEF("Apollo7",     CPU_POWERPC_74x7,        7455),
5769 5770
    /* PowerPC 7447 v1.0 (G4)                                                */
5770
    POWERPC_DEF("7447v1.0",    CPU_POWERPC_74x7_v10,    0xFFFFFFFF, 7445),
5771
    POWERPC_DEF("7447v1.0",    CPU_POWERPC_74x7_v10,    7445),
5771 5772
    /* PowerPC 7457 v1.0 (G4)                                                */
5772
    POWERPC_DEF("7457v1.0",    CPU_POWERPC_74x7_v10,    0xFFFFFFFF, 7455),
5773
    POWERPC_DEF("7457v1.0",    CPU_POWERPC_74x7_v10,    7455),
5773 5774
    /* Code name for PowerPC 7447A/7457A                                     */
5774
    POWERPC_DEF("Apollo7PM",   CPU_POWERPC_74x7_v10,    0xFFFFFFFF, 7455),
5775
    POWERPC_DEF("Apollo7PM",   CPU_POWERPC_74x7_v10,    7455),
5775 5776
    /* PowerPC 7447 v1.1 (G4)                                                */
5776
    POWERPC_DEF("7447v1.1",    CPU_POWERPC_74x7_v11,    0xFFFFFFFF, 7445),
5777
    POWERPC_DEF("7447v1.1",    CPU_POWERPC_74x7_v11,    7445),
5777 5778
    /* PowerPC 7457 v1.1 (G4)                                                */
5778
    POWERPC_DEF("7457v1.1",    CPU_POWERPC_74x7_v11,    0xFFFFFFFF, 7455),
5779
    POWERPC_DEF("7457v1.1",    CPU_POWERPC_74x7_v11,    7455),
5779 5780
    /* PowerPC 7447 v1.2 (G4)                                                */
5780
    POWERPC_DEF("7447v1.2",    CPU_POWERPC_74x7_v12,    0xFFFFFFFF, 7445),
5781
    POWERPC_DEF("7447v1.2",    CPU_POWERPC_74x7_v12,    7445),
5781 5782
    /* PowerPC 7457 v1.2 (G4)                                                */
5782
    POWERPC_DEF("7457v1.2",    CPU_POWERPC_74x7_v12,    0xFFFFFFFF, 7455),
5783
    POWERPC_DEF("7457v1.2",    CPU_POWERPC_74x7_v12,    7455),
5783 5784
    /* 64 bits PowerPC                                                       */
5784 5785
#if defined (TARGET_PPC64)
5785 5786
    /* PowerPC 620                                                           */
5786
    POWERPC_DEF("620",         CPU_POWERPC_620,         0xFFFFFFFF, 620),
5787
    /* XXX: code name "Trident" */
5788
    POWERPC_DEF("620",         CPU_POWERPC_620,         620),
5787 5789
#if defined (TODO)
5788 5790
    /* PowerPC 630 (POWER3)                                                  */
5789
    POWERPC_DEF("630",         CPU_POWERPC_630,         0xFFFFFFFF, 630),
5790
    POWERPC_DEF("POWER3",      CPU_POWERPC_630,         0xFFFFFFFF, 630),
5791
    /* XXX: code names: "Boxer" "Dino" */
5792
    POWERPC_DEF("630",         CPU_POWERPC_630,         630),
5793
    POWERPC_DEF("POWER3",      CPU_POWERPC_630,         630),
5791 5794
#endif
5792 5795
#if defined (TODO)
5793 5796
    /* PowerPC 631 (Power 3+)                                                */
5794
    POWERPC_DEF("631",         CPU_POWERPC_631,         0xFFFFFFFF, 631),
5795
    POWERPC_DEF("POWER3+",     CPU_POWERPC_631,         0xFFFFFFFF, 631),
5797
    POWERPC_DEF("631",         CPU_POWERPC_631,         631),
5798
    POWERPC_DEF("POWER3+",     CPU_POWERPC_631,         631),
5796 5799
#endif
5797 5800
#if defined (TODO)
5798 5801
    /* POWER4                                                                */
5799
    POWERPC_DEF("POWER4",      CPU_POWERPC_POWER4,      0xFFFFFFFF, POWER4),
5802
    POWERPC_DEF("POWER4",      CPU_POWERPC_POWER4,      POWER4),
5800 5803
#endif
5801 5804
#if defined (TODO)
5802 5805
    /* POWER4p                                                               */
5803
    POWERPC_DEF("POWER4+",     CPU_POWERPC_POWER4P,     0xFFFFFFFF, POWER4P),
5806
    POWERPC_DEF("POWER4+",     CPU_POWERPC_POWER4P,     POWER4P),
5804 5807
#endif
5805 5808
#if defined (TODO)
5806 5809
    /* POWER5                                                                */
5807
    POWERPC_DEF("POWER5",      CPU_POWERPC_POWER5,      0xFFFFFFFF, POWER5),
5810
    POWERPC_DEF("POWER5",      CPU_POWERPC_POWER5,      POWER5),
5808 5811
    /* POWER5GR                                                              */
5809
    POWERPC_DEF("POWER5gr",    CPU_POWERPC_POWER5GR,    0xFFFFFFFF, POWER5),
5812
    POWERPC_DEF("POWER5gr",    CPU_POWERPC_POWER5GR,    POWER5),
5810 5813
#endif
5811 5814
#if defined (TODO)
5812 5815
    /* POWER5+                                                               */
5813
    POWERPC_DEF("POWER5+",     CPU_POWERPC_POWER5P,     0xFFFFFFFF, POWER5P),
5816
    POWERPC_DEF("POWER5+",     CPU_POWERPC_POWER5P,     POWER5P),
5814 5817
    /* POWER5GS                                                              */
5815
    POWERPC_DEF("POWER5gs",    CPU_POWERPC_POWER5GS,    0xFFFFFFFF, POWER5P),
5818
    POWERPC_DEF("POWER5gs",    CPU_POWERPC_POWER5GS,    POWER5P),
5816 5819
#endif
5817 5820
#if defined (TODO)
5818 5821
    /* POWER6                                                                */
5819
    POWERPC_DEF("POWER6",      CPU_POWERPC_POWER6,      0xFFFFFFFF, POWER6),
5822
    POWERPC_DEF("POWER6",      CPU_POWERPC_POWER6,      POWER6),
5820 5823
    /* POWER6 running in POWER5 mode                                         */
5821
    POWERPC_DEF("POWER6_5",    CPU_POWERPC_POWER6_5,    0xFFFFFFFF, POWER5),
5824
    POWERPC_DEF("POWER6_5",    CPU_POWERPC_POWER6_5,    POWER5),
5822 5825
    /* POWER6A                                                               */
5823
    POWERPC_DEF("POWER6A",     CPU_POWERPC_POWER6A,     0xFFFFFFFF, POWER6),
5826
    POWERPC_DEF("POWER6A",     CPU_POWERPC_POWER6A,     POWER6),
5824 5827
#endif
5825 5828
    /* PowerPC 970                                                           */
5826
    POWERPC_DEF("970",         CPU_POWERPC_970,         0xFFFFFFFF, 970),
5829
    POWERPC_DEF("970",         CPU_POWERPC_970,         970),
5827 5830
    /* PowerPC 970FX (G5)                                                    */
5828
    POWERPC_DEF("970fx",       CPU_POWERPC_970FX,       0xFFFFFFFF, 970FX),
5831
    POWERPC_DEF("970fx",       CPU_POWERPC_970FX,       970FX),
5829 5832
    /* PowerPC 970FX v1.0 (G5)                                               */
5830
    POWERPC_DEF("970fx1.0",    CPU_POWERPC_970FX_v10,   0xFFFFFFFF, 970FX),
5833
    POWERPC_DEF("970fx1.0",    CPU_POWERPC_970FX_v10,   970FX),
5831 5834
    /* PowerPC 970FX v2.0 (G5)                                               */
5832
    POWERPC_DEF("970fx2.0",    CPU_POWERPC_970FX_v20,   0xFFFFFFFF, 970FX),
5835
    POWERPC_DEF("970fx2.0",    CPU_POWERPC_970FX_v20,   970FX),
5833 5836
    /* PowerPC 970FX v2.1 (G5)                                               */
5834
    POWERPC_DEF("970fx2.1",    CPU_POWERPC_970FX_v21,   0xFFFFFFFF, 970FX),
5837
    POWERPC_DEF("970fx2.1",    CPU_POWERPC_970FX_v21,   970FX),
5835 5838
    /* PowerPC 970FX v3.0 (G5)                                               */
5836
    POWERPC_DEF("970fx3.0",    CPU_POWERPC_970FX_v30,   0xFFFFFFFF, 970FX),
5839
    POWERPC_DEF("970fx3.0",    CPU_POWERPC_970FX_v30,   970FX),
5837 5840
    /* PowerPC 970FX v3.1 (G5)                                               */
5838
    POWERPC_DEF("970fx3.1",    CPU_POWERPC_970FX_v31,   0xFFFFFFFF, 970FX),
5841
    POWERPC_DEF("970fx3.1",    CPU_POWERPC_970FX_v31,   970FX),
5839 5842
    /* PowerPC 970GX (G5)                                                    */
5840
    POWERPC_DEF("970gx",       CPU_POWERPC_970GX,       0xFFFFFFFF, 970GX),
5843
    POWERPC_DEF("970gx",       CPU_POWERPC_970GX,       970GX),
5841 5844
    /* PowerPC 970MP                                                         */
5842
    POWERPC_DEF("970mp",       CPU_POWERPC_970MP,       0xFFFFFFFF, 970MP),
5845
    POWERPC_DEF("970mp",       CPU_POWERPC_970MP,       970MP),
5843 5846
    /* PowerPC 970MP v1.0                                                    */
5844
    POWERPC_DEF("970mp1.0",    CPU_POWERPC_970MP_v10,   0xFFFFFFFF, 970MP),
5847
    POWERPC_DEF("970mp1.0",    CPU_POWERPC_970MP_v10,   970MP),
5845 5848
    /* PowerPC 970MP v1.1                                                    */
5846
    POWERPC_DEF("970mp1.1",    CPU_POWERPC_970MP_v11,   0xFFFFFFFF, 970MP),
5849
    POWERPC_DEF("970mp1.1",    CPU_POWERPC_970MP_v11,   970MP),
5847 5850
#if defined (TODO)
5848 5851
    /* PowerPC Cell                                                          */
5849
    POWERPC_DEF("Cell",        CPU_POWERPC_CELL,        0xFFFFFFFF, 970),
5852
    POWERPC_DEF("Cell",        CPU_POWERPC_CELL,        970),
5850 5853
#endif
5851 5854
#if defined (TODO)
5852 5855
    /* PowerPC Cell v1.0                                                     */
5853
    POWERPC_DEF("Cell1.0",     CPU_POWERPC_CELL_v10,    0xFFFFFFFF, 970),
5856
    POWERPC_DEF("Cell1.0",     CPU_POWERPC_CELL_v10,    970),
5854 5857
#endif
5855 5858
#if defined (TODO)
5856 5859
    /* PowerPC Cell v2.0                                                     */
5857
    POWERPC_DEF("Cell2.0",     CPU_POWERPC_CELL_v20,    0xFFFFFFFF, 970),
5860
    POWERPC_DEF("Cell2.0",     CPU_POWERPC_CELL_v20,    970),
5858 5861
#endif
5859 5862
#if defined (TODO)
5860 5863
    /* PowerPC Cell v3.0                                                     */
5861
    POWERPC_DEF("Cell3.0",     CPU_POWERPC_CELL_v30,    0xFFFFFFFF, 970),
5864
    POWERPC_DEF("Cell3.0",     CPU_POWERPC_CELL_v30,    970),
5862 5865
#endif
5863 5866
#if defined (TODO)
5864 5867
    /* PowerPC Cell v3.1                                                     */
5865
    POWERPC_DEF("Cell3.1",     CPU_POWERPC_CELL_v31,    0xFFFFFFFF, 970),
5868
    POWERPC_DEF("Cell3.1",     CPU_POWERPC_CELL_v31,    970),
5866 5869
#endif
5867 5870
#if defined (TODO)
5868 5871
    /* PowerPC Cell v3.2                                                     */
5869
    POWERPC_DEF("Cell3.2",     CPU_POWERPC_CELL_v32,    0xFFFFFFFF, 970),
5872
    POWERPC_DEF("Cell3.2",     CPU_POWERPC_CELL_v32,    970),
5870 5873
#endif
5871 5874
#if defined (TODO)
5872 5875
    /* RS64 (Apache/A35)                                                     */
......
5874 5877
     * and the PowerPC 64 one.
5875 5878
     */
5876 5879
    /* What about A10 & A30 ? */
5877
    POWERPC_DEF("RS64",        CPU_POWERPC_RS64,        0xFFFFFFFF, RS64),
5878
    POWERPC_DEF("Apache",      CPU_POWERPC_RS64,        0xFFFFFFFF, RS64),
5879
    POWERPC_DEF("A35",         CPU_POWERPC_RS64,        0xFFFFFFFF, RS64),
5880
    POWERPC_DEF("RS64",        CPU_POWERPC_RS64,        RS64),
5881
    POWERPC_DEF("Apache",      CPU_POWERPC_RS64,        RS64),
5882
    POWERPC_DEF("A35",         CPU_POWERPC_RS64,        RS64),
5880 5883
#endif
5881 5884
#if defined (TODO)
5882 5885
    /* RS64-II (NorthStar/A50)                                               */
5883
    POWERPC_DEF("RS64-II",     CPU_POWERPC_RS64II,      0xFFFFFFFF, RS64),
5884
    POWERPC_DEF("NorthStar",   CPU_POWERPC_RS64II,      0xFFFFFFFF, RS64),
5885
    POWERPC_DEF("A50",         CPU_POWERPC_RS64II,      0xFFFFFFFF, RS64),
5886
    POWERPC_DEF("RS64-II",     CPU_POWERPC_RS64II,      RS64),
5887
    POWERPC_DEF("NorthStar",   CPU_POWERPC_RS64II,      RS64),
5888
    POWERPC_DEF("A50",         CPU_POWERPC_RS64II,      RS64),
5886 5889
#endif
5887 5890
#if defined (TODO)
5888 5891
    /* RS64-III (Pulsar)                                                     */
5889
    POWERPC_DEF("RS64-III",    CPU_POWERPC_RS64III,     0xFFFFFFFF, RS64),
5890
    POWERPC_DEF("Pulsar",      CPU_POWERPC_RS64III,     0xFFFFFFFF, RS64),
5892
    POWERPC_DEF("RS64-III",    CPU_POWERPC_RS64III,     RS64),
5893
    POWERPC_DEF("Pulsar",      CPU_POWERPC_RS64III,     RS64),
5891 5894
#endif
5892 5895
#if defined (TODO)
5893 5896
    /* RS64-IV (IceStar/IStar/SStar)                                         */
5894
    POWERPC_DEF("RS64-IV",     CPU_POWERPC_RS64IV,      0xFFFFFFFF, RS64),
5895
    POWERPC_DEF("IceStar",     CPU_POWERPC_RS64IV,      0xFFFFFFFF, RS64),
5896
    POWERPC_DEF("IStar",       CPU_POWERPC_RS64IV,      0xFFFFFFFF, RS64),
5897
    POWERPC_DEF("SStar",       CPU_POWERPC_RS64IV,      0xFFFFFFFF, RS64),
5897
    POWERPC_DEF("RS64-IV",     CPU_POWERPC_RS64IV,      RS64),
5898
    POWERPC_DEF("IceStar",     CPU_POWERPC_RS64IV,      RS64),
5899
    POWERPC_DEF("IStar",       CPU_POWERPC_RS64IV,      RS64),
5900
    POWERPC_DEF("SStar",       CPU_POWERPC_RS64IV,      RS64),
5898 5901
#endif
5899 5902
#endif /* defined (TARGET_PPC64) */
5900 5903
    /* POWER                                                                 */
5901 5904
#if defined (TODO)
5902 5905
    /* Original POWER                                                        */
5903
    POWERPC_DEF("POWER",       CPU_POWERPC_POWER,       0xFFFFFFFF, POWER),
5904
    POWERPC_DEF("RIOS",        CPU_POWERPC_POWER,       0xFFFFFFFF, POWER),
5905
    POWERPC_DEF("RSC",         CPU_POWERPC_POWER,       0xFFFFFFFF, POWER),
5906
    POWERPC_DEF("RSC3308",     CPU_POWERPC_POWER,       0xFFFFFFFF, POWER),
5907
    POWERPC_DEF("RSC4608",     CPU_POWERPC_POWER,       0xFFFFFFFF, POWER),
5906
    POWERPC_DEF("POWER",       CPU_POWERPC_POWER,       POWER),
5907
    POWERPC_DEF("RIOS",        CPU_POWERPC_POWER,       POWER),
5908
    POWERPC_DEF("RSC",         CPU_POWERPC_POWER,       POWER),
5909
    POWERPC_DEF("RSC3308",     CPU_POWERPC_POWER,       POWER),
5910
    POWERPC_DEF("RSC4608",     CPU_POWERPC_POWER,       POWER),
5908 5911
#endif
5909 5912
#if defined (TODO)
5910 5913
    /* POWER2                                                                */
5911
    POWERPC_DEF("POWER2",      CPU_POWERPC_POWER2,      0xFFFFFFFF, POWER),
5912
    POWERPC_DEF("RSC2",        CPU_POWERPC_POWER2,      0xFFFFFFFF, POWER),
5913
    POWERPC_DEF("P2SC",        CPU_POWERPC_POWER2,      0xFFFFFFFF, POWER),
5914
    POWERPC_DEF("POWER2",      CPU_POWERPC_POWER2,      POWER),
5915
    POWERPC_DEF("RSC2",        CPU_POWERPC_POWER2,      POWER),
5916
    POWERPC_DEF("P2SC",        CPU_POWERPC_POWER2,      POWER),
5914 5917
#endif
5915 5918
    /* PA semi cores                                                         */
5916 5919
#if defined (TODO)
5917 5920
    /* PA PA6T */
5918
    POWERPC_DEF("PA6T",        CPU_POWERPC_PA6T,        0xFFFFFFFF, PA6T),
5921
    POWERPC_DEF("PA6T",        CPU_POWERPC_PA6T,        PA6T),
5919 5922
#endif
5920 5923
    /* Generic PowerPCs                                                      */
5921 5924
#if defined (TARGET_PPC64)
5922 5925
#if defined (TODO)
5923
    POWERPC_DEF("ppc64",       CPU_POWERPC_PPC64,       0xFFFFFFFF, PPC64),
5926
    POWERPC_DEF("ppc64",       CPU_POWERPC_PPC64,       PPC64),
5924 5927
#endif
5925 5928
#endif
5926
    POWERPC_DEF("ppc32",       CPU_POWERPC_PPC32,       0xFFFFFFFF, PPC32),
5927
    POWERPC_DEF("ppc",         CPU_POWERPC_DEFAULT,     0xFFFFFFFF, DEFAULT),
5929
    POWERPC_DEF("ppc32",       CPU_POWERPC_PPC32,       PPC32),
5930
    POWERPC_DEF("ppc",         CPU_POWERPC_DEFAULT,     DEFAULT),
5928 5931
    /* Fallback                                                              */
5929
    POWERPC_DEF("default",     CPU_POWERPC_DEFAULT,     0xFFFFFFFF, DEFAULT),
5932
    POWERPC_DEF("default",     CPU_POWERPC_DEFAULT,     DEFAULT),
5930 5933
};
5931 5934

  
5932 5935
/*****************************************************************************/
......
6514 6517
    return 0;
6515 6518
}
6516 6519

  
6517
const ppc_def_t *cpu_ppc_find_by_name (const unsigned char *name)
6520
static const ppc_def_t *ppc_find_by_pvr (uint32_t pvr)
6518 6521
{
6519
    int i, max;
6522
    const ppc_def_t *ret;
6523
    uint32_t pvr_rev;
6524
    int i, best, match, best_match, max;
6520 6525

  
6526
    ret = NULL;
6521 6527
    max = sizeof(ppc_defs) / sizeof(ppc_def_t);
6528
    best = -1;
6529
    pvr_rev = pvr & 0xFFFF;
6530
    /* We want all specified bits to match */
6531
    best_match = 32 - ctz32(pvr_rev);
6522 6532
    for (i = 0; i < max; i++) {
6523
        if (strcasecmp(name, ppc_defs[i].name) == 0) {
6524
            return &ppc_defs[i];
6533
        /* We check that the 16 higher bits are the same to ensure the CPU
6534
         * model will be the choosen one.
6535
         */
6536
        if (((pvr ^ ppc_defs[i].pvr) >> 16) == 0) {
6537
            /* We want as much as possible of the low-level 16 bits
6538
             * to be the same but we allow inexact matches.
6539
             */
6540
            match = clz32(pvr_rev ^ (ppc_defs[i].pvr & 0xFFFF));
6541
            /* We check '>=' instead of '>' because the PPC_defs table
6542
             * is ordered by increasing revision.
6543
             * Then, we will match the higher revision compatible 
6544
             * with the requested PVR
6545
             */
6546
            if (match >= best_match) {
6547
                best = i;
6548
                best_match = match;
6549
            }
6525 6550
        }
6526 6551
    }
6527
    return NULL;
6552
    if (best != -1)
6553
        ret = &ppc_defs[best];
6554

  
6555
    return ret;
6528 6556
}
6529 6557

  
6530
const ppc_def_t *cpu_ppc_find_by_pvr (uint32_t pvr)
6531
{
6532
    int i, max;
6558
#include <ctype.h>
6533 6559

  
6560
const ppc_def_t *cpu_ppc_find_by_name (const unsigned char *name)
6561
{
6562
    const ppc_def_t *ret;
6563
    const unsigned char *p;
6564
    int i, max, len;
6565

  
6566
    /* Check if the given name is a PVR */
6567
    len = strlen(name);
6568
    if (len == 10 && name[0] == '0' && name[1] == 'x') {
6569
        p = name + 2;
6570
        goto check_pvr;
6571
    } else if (len == 8) {
6572
        p = name;
6573
    check_pvr:
6574
        for (i = 0; i < 8; i++) {
6575
            if (!isxdigit(*p++))
6576
                break;
6577
        }
6578
        if (i == 8)
6579
            return ppc_find_by_pvr(strtoul(name, NULL, 16));
6580
    }
6581
    ret = NULL;
6534 6582
    max = sizeof(ppc_defs) / sizeof(ppc_def_t);
6535 6583
    for (i = 0; i < max; i++) {
6536
        if ((pvr & ppc_defs[i].pvr_mask) ==
6537
            (ppc_defs[i].pvr & ppc_defs[i].pvr_mask)) {
6538
            return &ppc_defs[i];
6584
        if (strcasecmp(name, ppc_defs[i].name) == 0) {
6585
            ret = &ppc_defs[i];
6586
            break;
6539 6587
        }
6540 6588
    }
6541
    return NULL;
6589

  
6590
    return ret;
6542 6591
}
6543 6592

  
6544 6593
void ppc_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...))

Also available in: Unified diff