138
static void spr_read_ureg (void *opaque, int sprn)
148
static void spr_read_ureg (void *opaque, int gprn, int sprn)
140
gen_op_load_spr(sprn + 0x10);
150
gen_load_spr(cpu_gpr[gprn], sprn + 0x10);
143
153
/* SPR common to all non-embedded PowerPC */
145
155
#if !defined(CONFIG_USER_ONLY)
146
static void spr_read_decr (void *opaque, int sprn)
156
static void spr_read_decr (void *opaque, int gprn, int sprn)
158
gen_helper_load_decr(cpu_gpr[gprn]);
151
static void spr_write_decr (void *opaque, int sprn)
161
static void spr_write_decr (void *opaque, int sprn, int gprn)
163
gen_helper_store_decr(cpu_gpr[gprn]);
157
167
/* SPR common to all non-embedded PowerPC, except 601 */
159
static void spr_read_tbl (void *opaque, int sprn)
164
static void spr_read_tbu (void *opaque, int sprn)
169
__attribute__ (( unused ))
170
static void spr_read_atbl (void *opaque, int sprn)
175
__attribute__ (( unused ))
176
static void spr_read_atbu (void *opaque, int sprn)
169
static void spr_read_tbl (void *opaque, int gprn, int sprn)
171
gen_helper_load_tbl(cpu_gpr[gprn]);
174
static void spr_read_tbu (void *opaque, int gprn, int sprn)
176
gen_helper_load_tbu(cpu_gpr[gprn]);
179
__attribute__ (( unused ))
180
static void spr_read_atbl (void *opaque, int gprn, int sprn)
182
gen_helper_load_atbl(cpu_gpr[gprn]);
185
__attribute__ (( unused ))
186
static void spr_read_atbu (void *opaque, int gprn, int sprn)
188
gen_helper_load_atbu(cpu_gpr[gprn]);
181
191
#if !defined(CONFIG_USER_ONLY)
182
static void spr_write_tbl (void *opaque, int sprn)
187
static void spr_write_tbu (void *opaque, int sprn)
192
__attribute__ (( unused ))
193
static void spr_write_atbl (void *opaque, int sprn)
198
__attribute__ (( unused ))
199
static void spr_write_atbu (void *opaque, int sprn)
192
static void spr_write_tbl (void *opaque, int sprn, int gprn)
194
gen_helper_store_tbl(cpu_gpr[gprn]);
197
static void spr_write_tbu (void *opaque, int sprn, int gprn)
199
gen_helper_store_tbu(cpu_gpr[gprn]);
202
__attribute__ (( unused ))
203
static void spr_write_atbl (void *opaque, int sprn, int gprn)
205
gen_helper_store_atbl(cpu_gpr[gprn]);
208
__attribute__ (( unused ))
209
static void spr_write_atbu (void *opaque, int sprn, int gprn)
211
gen_helper_store_atbu(cpu_gpr[gprn]);
205
215
#if !defined(CONFIG_USER_ONLY)
206
216
/* IBAT0U...IBAT0U */
207
217
/* IBAT0L...IBAT7L */
208
static void spr_read_ibat (void *opaque, int sprn)
210
gen_op_load_ibat(sprn & 1, (sprn - SPR_IBAT0U) / 2);
213
static void spr_read_ibat_h (void *opaque, int sprn)
215
gen_op_load_ibat(sprn & 1, (sprn - SPR_IBAT4U) / 2);
218
static void spr_write_ibatu (void *opaque, int sprn)
220
gen_op_store_ibatu((sprn - SPR_IBAT0U) / 2);
223
static void spr_write_ibatu_h (void *opaque, int sprn)
225
gen_op_store_ibatu((sprn - SPR_IBAT4U) / 2);
228
static void spr_write_ibatl (void *opaque, int sprn)
230
gen_op_store_ibatl((sprn - SPR_IBAT0L) / 2);
233
static void spr_write_ibatl_h (void *opaque, int sprn)
235
gen_op_store_ibatl((sprn - SPR_IBAT4L) / 2);
218
static void spr_read_ibat (void *opaque, int gprn, int sprn)
220
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, IBAT[sprn & 1][(sprn - SPR_IBAT0U) / 2]));
223
static void spr_read_ibat_h (void *opaque, int gprn, int sprn)
225
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, IBAT[sprn & 1][(sprn - SPR_IBAT4U) / 2]));
228
static void spr_write_ibatu (void *opaque, int sprn, int gprn)
230
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_IBAT0U) / 2);
231
gen_helper_store_ibatu(t0, cpu_gpr[gprn]);
232
tcg_temp_free_i32(t0);
235
static void spr_write_ibatu_h (void *opaque, int sprn, int gprn)
237
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_IBAT4U) / 2);
238
gen_helper_store_ibatu(t0, cpu_gpr[gprn]);
239
tcg_temp_free_i32(t0);
242
static void spr_write_ibatl (void *opaque, int sprn, int gprn)
244
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_IBAT0L) / 2);
245
gen_helper_store_ibatl(t0, cpu_gpr[gprn]);
246
tcg_temp_free_i32(t0);
249
static void spr_write_ibatl_h (void *opaque, int sprn, int gprn)
251
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_IBAT4L) / 2);
252
gen_helper_store_ibatl(t0, cpu_gpr[gprn]);
253
tcg_temp_free_i32(t0);
238
256
/* DBAT0U...DBAT7U */
239
257
/* DBAT0L...DBAT7L */
240
static void spr_read_dbat (void *opaque, int sprn)
242
gen_op_load_dbat(sprn & 1, (sprn - SPR_DBAT0U) / 2);
245
static void spr_read_dbat_h (void *opaque, int sprn)
247
gen_op_load_dbat(sprn & 1, ((sprn - SPR_DBAT4U) / 2) + 4);
250
static void spr_write_dbatu (void *opaque, int sprn)
252
gen_op_store_dbatu((sprn - SPR_DBAT0U) / 2);
255
static void spr_write_dbatu_h (void *opaque, int sprn)
257
gen_op_store_dbatu(((sprn - SPR_DBAT4U) / 2) + 4);
260
static void spr_write_dbatl (void *opaque, int sprn)
262
gen_op_store_dbatl((sprn - SPR_DBAT0L) / 2);
265
static void spr_write_dbatl_h (void *opaque, int sprn)
267
gen_op_store_dbatl(((sprn - SPR_DBAT4L) / 2) + 4);
258
static void spr_read_dbat (void *opaque, int gprn, int sprn)
260
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, DBAT[sprn & 1][(sprn - SPR_DBAT0U) / 2]));
263
static void spr_read_dbat_h (void *opaque, int gprn, int sprn)
265
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, DBAT[sprn & 1][((sprn - SPR_DBAT4U) / 2) + 4]));
268
static void spr_write_dbatu (void *opaque, int sprn, int gprn)
270
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_DBAT0U) / 2);
271
gen_helper_store_dbatu(t0, cpu_gpr[gprn]);
272
tcg_temp_free_i32(t0);
275
static void spr_write_dbatu_h (void *opaque, int sprn, int gprn)
277
TCGv_i32 t0 = tcg_const_i32(((sprn - SPR_DBAT4U) / 2) + 4);
278
gen_helper_store_dbatu(t0, cpu_gpr[gprn]);
279
tcg_temp_free_i32(t0);
282
static void spr_write_dbatl (void *opaque, int sprn, int gprn)
284
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_DBAT0L) / 2);
285
gen_helper_store_dbatl(t0, cpu_gpr[gprn]);
286
tcg_temp_free_i32(t0);
289
static void spr_write_dbatl_h (void *opaque, int sprn, int gprn)
291
TCGv_i32 t0 = tcg_const_i32(((sprn - SPR_DBAT4L) / 2) + 4);
292
gen_helper_store_dbatl(t0, cpu_gpr[gprn]);
293
tcg_temp_free_i32(t0);
271
static void spr_read_sdr1 (void *opaque, int sprn)
297
static void spr_read_sdr1 (void *opaque, int gprn, int sprn)
299
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, sdr1));
276
static void spr_write_sdr1 (void *opaque, int sprn)
302
static void spr_write_sdr1 (void *opaque, int sprn, int gprn)
304
gen_helper_store_sdr1(cpu_gpr[gprn]);
281
307
/* 64 bits PowerPC specific SPRs */
283
309
#if defined(TARGET_PPC64)
284
static void spr_read_asr (void *opaque, int sprn)
289
static void spr_write_asr (void *opaque, int sprn)
310
static void spr_read_hior (void *opaque, int gprn, int sprn)
312
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, excp_prefix));
315
static void spr_write_hior (void *opaque, int sprn, int gprn)
317
TCGv t0 = tcg_temp_new();
318
tcg_gen_andi_tl(t0, cpu_gpr[gprn], 0x3FFFFF00000ULL);
319
tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, excp_prefix));
323
static void spr_read_asr (void *opaque, int gprn, int sprn)
325
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, asr));
328
static void spr_write_asr (void *opaque, int sprn, int gprn)
330
gen_helper_store_asr(cpu_gpr[gprn]);
296
335
/* PowerPC 601 specific registers */
298
static void spr_read_601_rtcl (void *opaque, int sprn)
337
static void spr_read_601_rtcl (void *opaque, int gprn, int sprn)
300
gen_op_load_601_rtcl();
339
gen_helper_load_601_rtcl(cpu_gpr[gprn]);
303
static void spr_read_601_rtcu (void *opaque, int sprn)
342
static void spr_read_601_rtcu (void *opaque, int gprn, int sprn)
305
gen_op_load_601_rtcu();
344
gen_helper_load_601_rtcu(cpu_gpr[gprn]);
308
347
#if !defined(CONFIG_USER_ONLY)
309
static void spr_write_601_rtcu (void *opaque, int sprn)
311
gen_op_store_601_rtcu();
314
static void spr_write_601_rtcl (void *opaque, int sprn)
316
gen_op_store_601_rtcl();
319
static void spr_write_hid0_601 (void *opaque, int sprn)
348
static void spr_write_601_rtcu (void *opaque, int sprn, int gprn)
350
gen_helper_store_601_rtcu(cpu_gpr[gprn]);
353
static void spr_write_601_rtcl (void *opaque, int sprn, int gprn)
355
gen_helper_store_601_rtcl(cpu_gpr[gprn]);
358
static void spr_write_hid0_601 (void *opaque, int sprn, int gprn)
321
360
DisasContext *ctx = opaque;
323
gen_op_store_hid0_601();
362
gen_helper_store_hid0_601(cpu_gpr[gprn]);
324
363
/* Must stop the translation as endianness may have changed */
364
gen_stop_exception(ctx);
329
368
/* Unified bats */
330
369
#if !defined(CONFIG_USER_ONLY)
331
static void spr_read_601_ubat (void *opaque, int sprn)
333
gen_op_load_601_bat(sprn & 1, (sprn - SPR_IBAT0U) / 2);
336
static void spr_write_601_ubatu (void *opaque, int sprn)
338
gen_op_store_601_batu((sprn - SPR_IBAT0U) / 2);
341
static void spr_write_601_ubatl (void *opaque, int sprn)
343
gen_op_store_601_batl((sprn - SPR_IBAT0L) / 2);
370
static void spr_read_601_ubat (void *opaque, int gprn, int sprn)
372
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, IBAT[sprn & 1][(sprn - SPR_IBAT0U) / 2]));
375
static void spr_write_601_ubatu (void *opaque, int sprn, int gprn)
377
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_IBAT0U) / 2);
378
gen_helper_store_601_batl(t0, cpu_gpr[gprn]);
379
tcg_temp_free_i32(t0);
382
static void spr_write_601_ubatl (void *opaque, int sprn, int gprn)
384
TCGv_i32 t0 = tcg_const_i32((sprn - SPR_IBAT0U) / 2);
385
gen_helper_store_601_batu(t0, cpu_gpr[gprn]);
386
tcg_temp_free_i32(t0);
347
390
/* PowerPC 40x specific registers */
348
391
#if !defined(CONFIG_USER_ONLY)
349
static void spr_read_40x_pit (void *opaque, int sprn)
351
gen_op_load_40x_pit();
354
static void spr_write_40x_pit (void *opaque, int sprn)
356
gen_op_store_40x_pit();
359
static void spr_write_40x_dbcr0 (void *opaque, int sprn)
392
static void spr_read_40x_pit (void *opaque, int gprn, int sprn)
394
gen_helper_load_40x_pit(cpu_gpr[gprn]);
397
static void spr_write_40x_pit (void *opaque, int sprn, int gprn)
399
gen_helper_store_40x_pit(cpu_gpr[gprn]);
402
static void spr_write_40x_dbcr0 (void *opaque, int sprn, int gprn)
361
404
DisasContext *ctx = opaque;
363
gen_op_store_40x_dbcr0();
406
gen_helper_store_40x_dbcr0(cpu_gpr[gprn]);
364
407
/* We must stop translation as we may have rebooted */
368
static void spr_write_40x_sler (void *opaque, int sprn)
370
gen_op_store_40x_sler();
373
static void spr_write_booke_tcr (void *opaque, int sprn)
375
gen_op_store_booke_tcr();
378
static void spr_write_booke_tsr (void *opaque, int sprn)
380
gen_op_store_booke_tsr();
408
gen_stop_exception(ctx);
411
static void spr_write_40x_sler (void *opaque, int sprn, int gprn)
413
gen_helper_store_40x_sler(cpu_gpr[gprn]);
416
static void spr_write_booke_tcr (void *opaque, int sprn, int gprn)
418
gen_helper_store_booke_tcr(cpu_gpr[gprn]);
421
static void spr_write_booke_tsr (void *opaque, int sprn, int gprn)
423
gen_helper_store_booke_tsr(cpu_gpr[gprn]);
384
427
/* PowerPC 403 specific registers */
385
428
/* PBL1 / PBU1 / PBL2 / PBU2 */
386
429
#if !defined(CONFIG_USER_ONLY)
387
static void spr_read_403_pbr (void *opaque, int sprn)
389
gen_op_load_403_pb(sprn - SPR_403_PBL1);
392
static void spr_write_403_pbr (void *opaque, int sprn)
394
gen_op_store_403_pb(sprn - SPR_403_PBL1);
397
static void spr_write_pir (void *opaque, int sprn)
430
static void spr_read_403_pbr (void *opaque, int gprn, int sprn)
432
tcg_gen_ld_tl(cpu_gpr[gprn], cpu_env, offsetof(CPUState, pb[sprn - SPR_403_PBL1]));
435
static void spr_write_403_pbr (void *opaque, int sprn, int gprn)
437
TCGv_i32 t0 = tcg_const_i32(sprn - SPR_403_PBL1);
438
gen_helper_store_403_pbr(t0, cpu_gpr[gprn]);
439
tcg_temp_free_i32(t0);
442
static void spr_write_pir (void *opaque, int sprn, int gprn)
444
TCGv t0 = tcg_temp_new();
445
tcg_gen_andi_tl(t0, cpu_gpr[gprn], 0xF);
446
gen_store_spr(SPR_PIR, t0);
403
451
#if !defined(CONFIG_USER_ONLY)
404
452
/* Callback used to write the exception vector base */
405
static void spr_write_excp_prefix (void *opaque, int sprn)
453
static void spr_write_excp_prefix (void *opaque, int sprn, int gprn)
407
gen_op_store_excp_prefix();
408
gen_op_store_spr(sprn);
455
TCGv t0 = tcg_temp_new();
456
tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, ivpr_mask));
457
tcg_gen_and_tl(t0, t0, cpu_gpr[gprn]);
458
tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, excp_prefix));
459
gen_store_spr(sprn, t0);
411
static void spr_write_excp_vector (void *opaque, int sprn)
462
static void spr_write_excp_vector (void *opaque, int sprn, int gprn)
413
464
DisasContext *ctx = opaque;
415
466
if (sprn >= SPR_BOOKE_IVOR0 && sprn <= SPR_BOOKE_IVOR15) {
416
gen_op_store_excp_vector(sprn - SPR_BOOKE_IVOR0);
417
gen_op_store_spr(sprn);
467
TCGv t0 = tcg_temp_new();
468
tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, ivor_mask));
469
tcg_gen_and_tl(t0, t0, cpu_gpr[gprn]);
470
tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, excp_vectors[sprn - SPR_BOOKE_IVOR0]));
471
gen_store_spr(sprn, t0);
418
473
} else if (sprn >= SPR_BOOKE_IVOR32 && sprn <= SPR_BOOKE_IVOR37) {
419
gen_op_store_excp_vector(sprn - SPR_BOOKE_IVOR32 + 32);
420
gen_op_store_spr(sprn);
474
TCGv t0 = tcg_temp_new();
475
tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUState, ivor_mask));
476
tcg_gen_and_tl(t0, t0, cpu_gpr[gprn]);
477
tcg_gen_st_tl(t0, cpu_env, offsetof(CPUState, excp_vectors[sprn - SPR_BOOKE_IVOR32 + 32]));
478
gen_store_spr(sprn, t0);
422
481
printf("Trying to write an unknown exception vector %d %03x\n",
424
GEN_EXCP_PRIVREG(ctx);
483
gen_inval_exception(ctx, POWERPC_EXCP_PRIV_REG);
488
static inline void vscr_init (CPUPPCState *env, uint32_t val)
491
/* Altivec always uses round-to-nearest */
492
set_float_rounding_mode(float_round_nearest_even, &env->vec_status);
493
set_flush_to_zero(vscr_nj, &env->vec_status);
429
496
#if defined(CONFIG_USER_ONLY)
430
497
#define spr_register(env, num, name, uea_read, uea_write, \
431
498
oea_read, oea_write, initial_value) \
7975
8077
CPU_POWERPC_MPC8379E, POWERPC_SVR_8379E, e300),
7976
8078
/* e500 family */
7977
8079
/* PowerPC e500 core */
7978
POWERPC_DEF("e500", CPU_POWERPC_e500, e500),
8080
POWERPC_DEF("e500", CPU_POWERPC_e500v2_v22, e500v2),
8081
/* PowerPC e500v1 core */
8082
POWERPC_DEF("e500v1", CPU_POWERPC_e500v1, e500v1),
7979
8083
/* PowerPC e500 v1.0 core */
7980
POWERPC_DEF("e500_v10", CPU_POWERPC_e500_v10, e500),
8084
POWERPC_DEF("e500_v10", CPU_POWERPC_e500v1_v10, e500v1),
7981
8085
/* PowerPC e500 v2.0 core */
7982
POWERPC_DEF("e500_v20", CPU_POWERPC_e500_v20, e500),
8086
POWERPC_DEF("e500_v20", CPU_POWERPC_e500v1_v20, e500v1),
7983
8087
/* PowerPC e500v2 core */
7984
POWERPC_DEF("e500v2", CPU_POWERPC_e500v2, e500),
8088
POWERPC_DEF("e500v2", CPU_POWERPC_e500v2, e500v2),
7985
8089
/* PowerPC e500v2 v1.0 core */
7986
POWERPC_DEF("e500v2_v10", CPU_POWERPC_e500v2_v10, e500),
8090
POWERPC_DEF("e500v2_v10", CPU_POWERPC_e500v2_v10, e500v2),
7987
8091
/* PowerPC e500v2 v2.0 core */
7988
POWERPC_DEF("e500v2_v20", CPU_POWERPC_e500v2_v20, e500),
8092
POWERPC_DEF("e500v2_v20", CPU_POWERPC_e500v2_v20, e500v2),
7989
8093
/* PowerPC e500v2 v2.1 core */
7990
POWERPC_DEF("e500v2_v21", CPU_POWERPC_e500v2_v21, e500),
8094
POWERPC_DEF("e500v2_v21", CPU_POWERPC_e500v2_v21, e500v2),
7991
8095
/* PowerPC e500v2 v2.2 core */
7992
POWERPC_DEF("e500v2_v22", CPU_POWERPC_e500v2_v22, e500),
8096
POWERPC_DEF("e500v2_v22", CPU_POWERPC_e500v2_v22, e500v2),
7993
8097
/* PowerPC e500v2 v3.0 core */
7994
POWERPC_DEF("e500v2_v30", CPU_POWERPC_e500v2_v30, e500),
8098
POWERPC_DEF("e500v2_v30", CPU_POWERPC_e500v2_v30, e500v2),
7995
8099
/* PowerPC e500 microcontrollers */
7997
8101
POWERPC_DEF_SVR("MPC8533",
7998
CPU_POWERPC_MPC8533, POWERPC_SVR_8533, e500),
8102
CPU_POWERPC_MPC8533, POWERPC_SVR_8533, e500v2),
7999
8103
/* MPC8533 v1.0 */
8000
8104
POWERPC_DEF_SVR("MPC8533_v10",
8001
CPU_POWERPC_MPC8533_v10, POWERPC_SVR_8533_v10, e500),
8105
CPU_POWERPC_MPC8533_v10, POWERPC_SVR_8533_v10, e500v2),
8002
8106
/* MPC8533 v1.1 */
8003
8107
POWERPC_DEF_SVR("MPC8533_v11",
8004
CPU_POWERPC_MPC8533_v11, POWERPC_SVR_8533_v11, e500),
8108
CPU_POWERPC_MPC8533_v11, POWERPC_SVR_8533_v11, e500v2),
8006
8110
POWERPC_DEF_SVR("MPC8533E",
8007
CPU_POWERPC_MPC8533E, POWERPC_SVR_8533E, e500),
8111
CPU_POWERPC_MPC8533E, POWERPC_SVR_8533E, e500v2),
8008
8112
/* MPC8533E v1.0 */
8009
8113
POWERPC_DEF_SVR("MPC8533E_v10",
8010
CPU_POWERPC_MPC8533E_v10, POWERPC_SVR_8533E_v10, e500),
8114
CPU_POWERPC_MPC8533E_v10, POWERPC_SVR_8533E_v10, e500v2),
8011
8115
POWERPC_DEF_SVR("MPC8533E_v11",
8012
CPU_POWERPC_MPC8533E_v11, POWERPC_SVR_8533E_v11, e500),
8116
CPU_POWERPC_MPC8533E_v11, POWERPC_SVR_8533E_v11, e500v2),
8014
8118
POWERPC_DEF_SVR("MPC8540",
8015
CPU_POWERPC_MPC8540, POWERPC_SVR_8540, e500),
8119
CPU_POWERPC_MPC8540, POWERPC_SVR_8540, e500v1),
8016
8120
/* MPC8540 v1.0 */
8017
8121
POWERPC_DEF_SVR("MPC8540_v10",
8018
CPU_POWERPC_MPC8540_v10, POWERPC_SVR_8540_v10, e500),
8122
CPU_POWERPC_MPC8540_v10, POWERPC_SVR_8540_v10, e500v1),
8019
8123
/* MPC8540 v2.0 */
8020
8124
POWERPC_DEF_SVR("MPC8540_v20",
8021
CPU_POWERPC_MPC8540_v20, POWERPC_SVR_8540_v20, e500),
8125
CPU_POWERPC_MPC8540_v20, POWERPC_SVR_8540_v20, e500v1),
8022
8126
/* MPC8540 v2.1 */
8023
8127
POWERPC_DEF_SVR("MPC8540_v21",
8024
CPU_POWERPC_MPC8540_v21, POWERPC_SVR_8540_v21, e500),
8128
CPU_POWERPC_MPC8540_v21, POWERPC_SVR_8540_v21, e500v1),
8026
8130
POWERPC_DEF_SVR("MPC8541",
8027
CPU_POWERPC_MPC8541, POWERPC_SVR_8541, e500),
8131
CPU_POWERPC_MPC8541, POWERPC_SVR_8541, e500v1),
8028
8132
/* MPC8541 v1.0 */
8029
8133
POWERPC_DEF_SVR("MPC8541_v10",
8030
CPU_POWERPC_MPC8541_v10, POWERPC_SVR_8541_v10, e500),
8134
CPU_POWERPC_MPC8541_v10, POWERPC_SVR_8541_v10, e500v1),
8031
8135
/* MPC8541 v1.1 */
8032
8136
POWERPC_DEF_SVR("MPC8541_v11",
8033
CPU_POWERPC_MPC8541_v11, POWERPC_SVR_8541_v11, e500),
8137
CPU_POWERPC_MPC8541_v11, POWERPC_SVR_8541_v11, e500v1),
8035
8139
POWERPC_DEF_SVR("MPC8541E",
8036
CPU_POWERPC_MPC8541E, POWERPC_SVR_8541E, e500),
8140
CPU_POWERPC_MPC8541E, POWERPC_SVR_8541E, e500v1),
8037
8141
/* MPC8541E v1.0 */
8038
8142
POWERPC_DEF_SVR("MPC8541E_v10",
8039
CPU_POWERPC_MPC8541E_v10, POWERPC_SVR_8541E_v10, e500),
8143
CPU_POWERPC_MPC8541E_v10, POWERPC_SVR_8541E_v10, e500v1),
8040
8144
/* MPC8541E v1.1 */
8041
8145
POWERPC_DEF_SVR("MPC8541E_v11",
8042
CPU_POWERPC_MPC8541E_v11, POWERPC_SVR_8541E_v11, e500),
8146
CPU_POWERPC_MPC8541E_v11, POWERPC_SVR_8541E_v11, e500v1),
8044
8148
POWERPC_DEF_SVR("MPC8543",
8045
CPU_POWERPC_MPC8543, POWERPC_SVR_8543, e500),
8149
CPU_POWERPC_MPC8543, POWERPC_SVR_8543, e500v2),
8046
8150
/* MPC8543 v1.0 */
8047
8151
POWERPC_DEF_SVR("MPC8543_v10",
8048
CPU_POWERPC_MPC8543_v10, POWERPC_SVR_8543_v10, e500),
8152
CPU_POWERPC_MPC8543_v10, POWERPC_SVR_8543_v10, e500v2),
8049
8153
/* MPC8543 v1.1 */
8050
8154
POWERPC_DEF_SVR("MPC8543_v11",
8051
CPU_POWERPC_MPC8543_v11, POWERPC_SVR_8543_v11, e500),
8155
CPU_POWERPC_MPC8543_v11, POWERPC_SVR_8543_v11, e500v2),
8052
8156
/* MPC8543 v2.0 */
8053
8157
POWERPC_DEF_SVR("MPC8543_v20",
8054
CPU_POWERPC_MPC8543_v20, POWERPC_SVR_8543_v20, e500),
8158
CPU_POWERPC_MPC8543_v20, POWERPC_SVR_8543_v20, e500v2),
8055
8159
/* MPC8543 v2.1 */
8056
8160
POWERPC_DEF_SVR("MPC8543_v21",
8057
CPU_POWERPC_MPC8543_v21, POWERPC_SVR_8543_v21, e500),
8161
CPU_POWERPC_MPC8543_v21, POWERPC_SVR_8543_v21, e500v2),
8059
8163
POWERPC_DEF_SVR("MPC8543E",
8060
CPU_POWERPC_MPC8543E, POWERPC_SVR_8543E, e500),
8164
CPU_POWERPC_MPC8543E, POWERPC_SVR_8543E, e500v2),
8061
8165
/* MPC8543E v1.0 */
8062
8166
POWERPC_DEF_SVR("MPC8543E_v10",
8063
CPU_POWERPC_MPC8543E_v10, POWERPC_SVR_8543E_v10, e500),
8167
CPU_POWERPC_MPC8543E_v10, POWERPC_SVR_8543E_v10, e500v2),
8064
8168
/* MPC8543E v1.1 */
8065
8169
POWERPC_DEF_SVR("MPC8543E_v11",
8066
CPU_POWERPC_MPC8543E_v11, POWERPC_SVR_8543E_v11, e500),
8170
CPU_POWERPC_MPC8543E_v11, POWERPC_SVR_8543E_v11, e500v2),
8067
8171
/* MPC8543E v2.0 */
8068
8172
POWERPC_DEF_SVR("MPC8543E_v20",
8069
CPU_POWERPC_MPC8543E_v20, POWERPC_SVR_8543E_v20, e500),
8173
CPU_POWERPC_MPC8543E_v20, POWERPC_SVR_8543E_v20, e500v2),
8070
8174
/* MPC8543E v2.1 */
8071
8175
POWERPC_DEF_SVR("MPC8543E_v21",
8072
CPU_POWERPC_MPC8543E_v21, POWERPC_SVR_8543E_v21, e500),
8176
CPU_POWERPC_MPC8543E_v21, POWERPC_SVR_8543E_v21, e500v2),
8074
8178
POWERPC_DEF_SVR("MPC8544",
8075
CPU_POWERPC_MPC8544, POWERPC_SVR_8544, e500),
8179
CPU_POWERPC_MPC8544, POWERPC_SVR_8544, e500v2),
8076
8180
/* MPC8544 v1.0 */
8077
8181
POWERPC_DEF_SVR("MPC8544_v10",
8078
CPU_POWERPC_MPC8544_v10, POWERPC_SVR_8544_v10, e500),
8182
CPU_POWERPC_MPC8544_v10, POWERPC_SVR_8544_v10, e500v2),
8079
8183
/* MPC8544 v1.1 */
8080
8184
POWERPC_DEF_SVR("MPC8544_v11",
8081
CPU_POWERPC_MPC8544_v11, POWERPC_SVR_8544_v11, e500),
8185
CPU_POWERPC_MPC8544_v11, POWERPC_SVR_8544_v11, e500v2),
8083
8187
POWERPC_DEF_SVR("MPC8544E",
8084
CPU_POWERPC_MPC8544E, POWERPC_SVR_8544E, e500),
8188
CPU_POWERPC_MPC8544E, POWERPC_SVR_8544E, e500v2),
8085
8189
/* MPC8544E v1.0 */
8086
8190
POWERPC_DEF_SVR("MPC8544E_v10",
8087
CPU_POWERPC_MPC8544E_v10, POWERPC_SVR_8544E_v10, e500),
8191
CPU_POWERPC_MPC8544E_v10, POWERPC_SVR_8544E_v10, e500v2),
8088
8192
/* MPC8544E v1.1 */
8089
8193
POWERPC_DEF_SVR("MPC8544E_v11",
8090
CPU_POWERPC_MPC8544E_v11, POWERPC_SVR_8544E_v11, e500),
8194
CPU_POWERPC_MPC8544E_v11, POWERPC_SVR_8544E_v11, e500v2),
8092
8196
POWERPC_DEF_SVR("MPC8545",
8093
CPU_POWERPC_MPC8545, POWERPC_SVR_8545, e500),
8197
CPU_POWERPC_MPC8545, POWERPC_SVR_8545, e500v2),
8094
8198
/* MPC8545 v2.0 */
8095
8199
POWERPC_DEF_SVR("MPC8545_v20",
8096
CPU_POWERPC_MPC8545_v20, POWERPC_SVR_8545_v20, e500),
8200
CPU_POWERPC_MPC8545_v20, POWERPC_SVR_8545_v20, e500v2),
8097
8201
/* MPC8545 v2.1 */
8098
8202
POWERPC_DEF_SVR("MPC8545_v21",
8099
CPU_POWERPC_MPC8545_v21, POWERPC_SVR_8545_v21, e500),
8203
CPU_POWERPC_MPC8545_v21, POWERPC_SVR_8545_v21, e500v2),
8101
8205
POWERPC_DEF_SVR("MPC8545E",
8102
CPU_POWERPC_MPC8545E, POWERPC_SVR_8545E, e500),
8206
CPU_POWERPC_MPC8545E, POWERPC_SVR_8545E, e500v2),
8103
8207
/* MPC8545E v2.0 */
8104
8208
POWERPC_DEF_SVR("MPC8545E_v20",
8105
CPU_POWERPC_MPC8545E_v20, POWERPC_SVR_8545E_v20, e500),
8209
CPU_POWERPC_MPC8545E_v20, POWERPC_SVR_8545E_v20, e500v2),
8106
8210
/* MPC8545E v2.1 */
8107
8211
POWERPC_DEF_SVR("MPC8545E_v21",
8108
CPU_POWERPC_MPC8545E_v21, POWERPC_SVR_8545E_v21, e500),
8212
CPU_POWERPC_MPC8545E_v21, POWERPC_SVR_8545E_v21, e500v2),
8110
8214
POWERPC_DEF_SVR("MPC8547E",
8111
CPU_POWERPC_MPC8547E, POWERPC_SVR_8547E, e500),
8215
CPU_POWERPC_MPC8547E, POWERPC_SVR_8547E, e500v2),
8112
8216
/* MPC8547E v2.0 */
8113
8217
POWERPC_DEF_SVR("MPC8547E_v20",
8114
CPU_POWERPC_MPC8547E_v20, POWERPC_SVR_8547E_v20, e500),
8218
CPU_POWERPC_MPC8547E_v20, POWERPC_SVR_8547E_v20, e500v2),
8115
8219
/* MPC8547E v2.1 */
8116
8220
POWERPC_DEF_SVR("MPC8547E_v21",
8117
CPU_POWERPC_MPC8547E_v21, POWERPC_SVR_8547E_v21, e500),
8221
CPU_POWERPC_MPC8547E_v21, POWERPC_SVR_8547E_v21, e500v2),
8119
8223
POWERPC_DEF_SVR("MPC8548",
8120
CPU_POWERPC_MPC8548, POWERPC_SVR_8548, e500),
8224
CPU_POWERPC_MPC8548, POWERPC_SVR_8548, e500v2),
8121
8225
/* MPC8548 v1.0 */
8122
8226
POWERPC_DEF_SVR("MPC8548_v10",
8123
CPU_POWERPC_MPC8548_v10, POWERPC_SVR_8548_v10, e500),
8227
CPU_POWERPC_MPC8548_v10, POWERPC_SVR_8548_v10, e500v2),
8124
8228
/* MPC8548 v1.1 */
8125
8229
POWERPC_DEF_SVR("MPC8548_v11",
8126
CPU_POWERPC_MPC8548_v11, POWERPC_SVR_8548_v11, e500),
8230
CPU_POWERPC_MPC8548_v11, POWERPC_SVR_8548_v11, e500v2),
8127
8231
/* MPC8548 v2.0 */
8128
8232
POWERPC_DEF_SVR("MPC8548_v20",
8129
CPU_POWERPC_MPC8548_v20, POWERPC_SVR_8548_v20, e500),
8233
CPU_POWERPC_MPC8548_v20, POWERPC_SVR_8548_v20, e500v2),
8130
8234
/* MPC8548 v2.1 */
8131
8235
POWERPC_DEF_SVR("MPC8548_v21",
8132
CPU_POWERPC_MPC8548_v21, POWERPC_SVR_8548_v21, e500),
8236
CPU_POWERPC_MPC8548_v21, POWERPC_SVR_8548_v21, e500v2),
8134
8238
POWERPC_DEF_SVR("MPC8548E",
8135
CPU_POWERPC_MPC8548E, POWERPC_SVR_8548E, e500),
8239
CPU_POWERPC_MPC8548E, POWERPC_SVR_8548E, e500v2),
8136
8240
/* MPC8548E v1.0 */
8137
8241
POWERPC_DEF_SVR("MPC8548E_v10",
8138
CPU_POWERPC_MPC8548E_v10, POWERPC_SVR_8548E_v10, e500),
8242
CPU_POWERPC_MPC8548E_v10, POWERPC_SVR_8548E_v10, e500v2),
8139
8243
/* MPC8548E v1.1 */
8140
8244
POWERPC_DEF_SVR("MPC8548E_v11",
8141
CPU_POWERPC_MPC8548E_v11, POWERPC_SVR_8548E_v11, e500),
8245
CPU_POWERPC_MPC8548E_v11, POWERPC_SVR_8548E_v11, e500v2),
8142
8246
/* MPC8548E v2.0 */
8143
8247
POWERPC_DEF_SVR("MPC8548E_v20",
8144
CPU_POWERPC_MPC8548E_v20, POWERPC_SVR_8548E_v20, e500),
8248
CPU_POWERPC_MPC8548E_v20, POWERPC_SVR_8548E_v20, e500v2),
8145
8249
/* MPC8548E v2.1 */
8146
8250
POWERPC_DEF_SVR("MPC8548E_v21",
8147
CPU_POWERPC_MPC8548E_v21, POWERPC_SVR_8548E_v21, e500),
8251
CPU_POWERPC_MPC8548E_v21, POWERPC_SVR_8548E_v21, e500v2),
8149
8253
POWERPC_DEF_SVR("MPC8555",
8150
CPU_POWERPC_MPC8555, POWERPC_SVR_8555, e500),
8254
CPU_POWERPC_MPC8555, POWERPC_SVR_8555, e500v2),
8151
8255
/* MPC8555 v1.0 */
8152
8256
POWERPC_DEF_SVR("MPC8555_v10",
8153
CPU_POWERPC_MPC8555_v10, POWERPC_SVR_8555_v10, e500),
8257
CPU_POWERPC_MPC8555_v10, POWERPC_SVR_8555_v10, e500v2),
8154
8258
/* MPC8555 v1.1 */
8155
8259
POWERPC_DEF_SVR("MPC8555_v11",
8156
CPU_POWERPC_MPC8555_v11, POWERPC_SVR_8555_v11, e500),
8260
CPU_POWERPC_MPC8555_v11, POWERPC_SVR_8555_v11, e500v2),
8158
8262
POWERPC_DEF_SVR("MPC8555E",
8159
CPU_POWERPC_MPC8555E, POWERPC_SVR_8555E, e500),
8263
CPU_POWERPC_MPC8555E, POWERPC_SVR_8555E, e500v2),
8160
8264
/* MPC8555E v1.0 */
8161
8265
POWERPC_DEF_SVR("MPC8555E_v10",
8162
CPU_POWERPC_MPC8555E_v10, POWERPC_SVR_8555E_v10, e500),
8266
CPU_POWERPC_MPC8555E_v10, POWERPC_SVR_8555E_v10, e500v2),
8163
8267
/* MPC8555E v1.1 */
8164
8268
POWERPC_DEF_SVR("MPC8555E_v11",
8165
CPU_POWERPC_MPC8555E_v11, POWERPC_SVR_8555E_v11, e500),
8269
CPU_POWERPC_MPC8555E_v11, POWERPC_SVR_8555E_v11, e500v2),
8167
8271
POWERPC_DEF_SVR("MPC8560",
8168
CPU_POWERPC_MPC8560, POWERPC_SVR_8560, e500),
8272
CPU_POWERPC_MPC8560, POWERPC_SVR_8560, e500v2),
8169
8273
/* MPC8560 v1.0 */
8170
8274
POWERPC_DEF_SVR("MPC8560_v10",
8171
CPU_POWERPC_MPC8560_v10, POWERPC_SVR_8560_v10, e500),
8275
CPU_POWERPC_MPC8560_v10, POWERPC_SVR_8560_v10, e500v2),
8172
8276
/* MPC8560 v2.0 */
8173
8277
POWERPC_DEF_SVR("MPC8560_v20",
8174
CPU_POWERPC_MPC8560_v20, POWERPC_SVR_8560_v20, e500),
8278
CPU_POWERPC_MPC8560_v20, POWERPC_SVR_8560_v20, e500v2),
8175
8279
/* MPC8560 v2.1 */
8176
8280
POWERPC_DEF_SVR("MPC8560_v21",
8177
CPU_POWERPC_MPC8560_v21, POWERPC_SVR_8560_v21, e500),
8281
CPU_POWERPC_MPC8560_v21, POWERPC_SVR_8560_v21, e500v2),
8179
8283
POWERPC_DEF_SVR("MPC8567",
8180
CPU_POWERPC_MPC8567, POWERPC_SVR_8567, e500),
8284
CPU_POWERPC_MPC8567, POWERPC_SVR_8567, e500v2),
8182
8286
POWERPC_DEF_SVR("MPC8567E",
8183
CPU_POWERPC_MPC8567E, POWERPC_SVR_8567E, e500),
8287
CPU_POWERPC_MPC8567E, POWERPC_SVR_8567E, e500v2),
8185
8289
POWERPC_DEF_SVR("MPC8568",
8186
CPU_POWERPC_MPC8568, POWERPC_SVR_8568, e500),
8290
CPU_POWERPC_MPC8568, POWERPC_SVR_8568, e500v2),
8188
8292
POWERPC_DEF_SVR("MPC8568E",
8189
CPU_POWERPC_MPC8568E, POWERPC_SVR_8568E, e500),
8293
CPU_POWERPC_MPC8568E, POWERPC_SVR_8568E, e500v2),
8191
8295
POWERPC_DEF_SVR("MPC8572",
8192
CPU_POWERPC_MPC8572, POWERPC_SVR_8572, e500),
8296
CPU_POWERPC_MPC8572, POWERPC_SVR_8572, e500v2),
8194
8298
POWERPC_DEF_SVR("MPC8572E",
8195
CPU_POWERPC_MPC8572E, POWERPC_SVR_8572E, e500),
8299
CPU_POWERPC_MPC8572E, POWERPC_SVR_8572E, e500v2),
8196
8300
/* e600 family */
8197
8301
/* PowerPC e600 core */
8198
8302
POWERPC_DEF("e600", CPU_POWERPC_e600, 7400),