Revision bd928eba target-ppc/translate_init.c
b/target-ppc/translate_init.c | ||
---|---|---|
764 | 764 |
SPR_NOACCESS, SPR_NOACCESS, |
765 | 765 |
&spr_read_generic, &spr_write_generic, |
766 | 766 |
0x00000000); |
767 |
/* External access control */ |
|
768 |
/* XXX : not implemented */ |
|
769 |
spr_register(env, SPR_EAR, "EAR", |
|
770 |
SPR_NOACCESS, SPR_NOACCESS, |
|
771 |
&spr_read_generic, &spr_write_generic, |
|
772 |
0x00000000); |
|
773 | 767 |
} |
774 | 768 |
|
775 | 769 |
/* SPR common to all 7xx PowerPC implementations */ |
... | ... | |
792 | 786 |
SPR_NOACCESS, SPR_NOACCESS, |
793 | 787 |
&spr_read_generic, &spr_write_generic, |
794 | 788 |
0x00000000); |
795 |
/* XXX : not implemented */ |
|
796 |
spr_register(env, SPR_L2CR, "L2CR", |
|
797 |
SPR_NOACCESS, SPR_NOACCESS, |
|
798 |
&spr_read_generic, &spr_write_generic, |
|
799 |
0x00000000); |
|
800 | 789 |
/* Performance monitors */ |
801 | 790 |
/* XXX : not implemented */ |
802 | 791 |
spr_register(env, SPR_MMCR0, "MMCR0", |
... | ... | |
1185 | 1174 |
&spr_read_generic, &spr_write_generic, |
1186 | 1175 |
&spr_read_generic, &spr_write_generic, |
1187 | 1176 |
0x00000000); |
1177 |
/* XXX : not implemented */ |
|
1178 |
spr_register(env, SPR_L2CR, "L2CR", |
|
1179 |
SPR_NOACCESS, SPR_NOACCESS, |
|
1180 |
&spr_read_generic, &spr_write_generic, |
|
1181 |
0x00000000); |
|
1188 | 1182 |
} |
1189 | 1183 |
|
1190 | 1184 |
static void gen_l3_ctrl (CPUPPCState *env) |
... | ... | |
2871 | 2865 |
env->excp_vectors[POWERPC_EXCP_TRACE] = 0x00000D00; |
2872 | 2866 |
env->excp_vectors[POWERPC_EXCP_PERFM] = 0x00000F00; |
2873 | 2867 |
env->excp_vectors[POWERPC_EXCP_IABR] = 0x00001300; |
2868 |
env->excp_vectors[POWERPC_EXCP_SMI] = 0x00001400; |
|
2874 | 2869 |
env->excp_vectors[POWERPC_EXCP_THERM] = 0x00001700; |
2875 | 2870 |
env->excp_prefix = 0x00000000UL; |
2876 | 2871 |
/* Hardware reset vector */ |
... | ... | |
2878 | 2873 |
#endif |
2879 | 2874 |
} |
2880 | 2875 |
|
2881 |
static void init_excp_750FX (CPUPPCState *env)
|
|
2876 |
static void init_excp_750cl (CPUPPCState *env)
|
|
2882 | 2877 |
{ |
2883 | 2878 |
#if !defined(CONFIG_USER_ONLY) |
2884 | 2879 |
env->excp_vectors[POWERPC_EXCP_RESET] = 0x00000100; |
... | ... | |
2895 | 2890 |
env->excp_vectors[POWERPC_EXCP_PERFM] = 0x00000F00; |
2896 | 2891 |
env->excp_vectors[POWERPC_EXCP_IABR] = 0x00001300; |
2897 | 2892 |
env->excp_vectors[POWERPC_EXCP_SMI] = 0x00001400; |
2893 |
env->excp_prefix = 0x00000000UL; |
|
2894 |
/* Hardware reset vector */ |
|
2895 |
env->hreset_vector = 0xFFFFFFFCUL; |
|
2896 |
#endif |
|
2897 |
} |
|
2898 |
|
|
2899 |
static void init_excp_750cx (CPUPPCState *env) |
|
2900 |
{ |
|
2901 |
#if !defined(CONFIG_USER_ONLY) |
|
2902 |
env->excp_vectors[POWERPC_EXCP_RESET] = 0x00000100; |
|
2903 |
env->excp_vectors[POWERPC_EXCP_MCHECK] = 0x00000200; |
|
2904 |
env->excp_vectors[POWERPC_EXCP_DSI] = 0x00000300; |
|
2905 |
env->excp_vectors[POWERPC_EXCP_ISI] = 0x00000400; |
|
2906 |
env->excp_vectors[POWERPC_EXCP_EXTERNAL] = 0x00000500; |
|
2907 |
env->excp_vectors[POWERPC_EXCP_ALIGN] = 0x00000600; |
|
2908 |
env->excp_vectors[POWERPC_EXCP_PROGRAM] = 0x00000700; |
|
2909 |
env->excp_vectors[POWERPC_EXCP_FPU] = 0x00000800; |
|
2910 |
env->excp_vectors[POWERPC_EXCP_DECR] = 0x00000900; |
|
2911 |
env->excp_vectors[POWERPC_EXCP_SYSCALL] = 0x00000C00; |
|
2912 |
env->excp_vectors[POWERPC_EXCP_TRACE] = 0x00000D00; |
|
2913 |
env->excp_vectors[POWERPC_EXCP_PERFM] = 0x00000F00; |
|
2914 |
env->excp_vectors[POWERPC_EXCP_IABR] = 0x00001300; |
|
2898 | 2915 |
env->excp_vectors[POWERPC_EXCP_THERM] = 0x00001700; |
2899 | 2916 |
env->excp_prefix = 0x00000000UL; |
2900 | 2917 |
/* Hardware reset vector */ |
... | ... | |
2917 | 2934 |
env->excp_vectors[POWERPC_EXCP_DECR] = 0x00000900; |
2918 | 2935 |
env->excp_vectors[POWERPC_EXCP_SYSCALL] = 0x00000C00; |
2919 | 2936 |
env->excp_vectors[POWERPC_EXCP_TRACE] = 0x00000D00; |
2937 |
env->excp_vectors[POWERPC_EXCP_PERFM] = 0x00000F00; |
|
2920 | 2938 |
env->excp_vectors[POWERPC_EXCP_IFTLB] = 0x00001000; |
2921 | 2939 |
env->excp_vectors[POWERPC_EXCP_DLTLB] = 0x00001100; |
2922 | 2940 |
env->excp_vectors[POWERPC_EXCP_DSTLB] = 0x00001200; |
2923 |
env->excp_vectors[POWERPC_EXCP_PERFM] = 0x00000F00; |
|
2924 | 2941 |
env->excp_vectors[POWERPC_EXCP_IABR] = 0x00001300; |
2925 | 2942 |
env->excp_vectors[POWERPC_EXCP_SMI] = 0x00001400; |
2943 |
env->excp_vectors[POWERPC_EXCP_THERM] = 0x00001700; |
|
2926 | 2944 |
env->excp_prefix = 0x00000000UL; |
2927 | 2945 |
/* Hardware reset vector */ |
2928 | 2946 |
env->hreset_vector = 0xFFFFFFFCUL; |
... | ... | |
3196 | 3214 |
env->icache_line_size = 32; |
3197 | 3215 |
/* Allocate hardware IRQ controller */ |
3198 | 3216 |
ppc40x_irq_init(env); |
3199 |
#if !defined(CONFIG_USER_ONLY) |
|
3200 |
/* Hardware reset vector */ |
|
3201 |
env->hreset_vector = 0xFFFFFFFCUL; |
|
3202 |
#endif |
|
3203 | 3217 |
} |
3204 | 3218 |
|
3205 | 3219 |
/* PowerPC 403 GCX */ |
... | ... | |
3834 | 3848 |
gen_spr_G2(env); |
3835 | 3849 |
/* Time base */ |
3836 | 3850 |
gen_tbl(env); |
3851 |
/* External access control */ |
|
3852 |
/* XXX : not implemented */ |
|
3853 |
spr_register(env, SPR_EAR, "EAR", |
|
3854 |
SPR_NOACCESS, SPR_NOACCESS, |
|
3855 |
&spr_read_generic, &spr_write_generic, |
|
3856 |
0x00000000); |
|
3837 | 3857 |
/* Hardware implementation register */ |
3838 | 3858 |
/* XXX : not implemented */ |
3839 | 3859 |
spr_register(env, SPR_HID0, "HID0", |
... | ... | |
3885 | 3905 |
gen_spr_G2(env); |
3886 | 3906 |
/* Time base */ |
3887 | 3907 |
gen_tbl(env); |
3908 |
/* External access control */ |
|
3909 |
/* XXX : not implemented */ |
|
3910 |
spr_register(env, SPR_EAR, "EAR", |
|
3911 |
SPR_NOACCESS, SPR_NOACCESS, |
|
3912 |
&spr_read_generic, &spr_write_generic, |
|
3913 |
0x00000000); |
|
3888 | 3914 |
/* Hardware implementation register */ |
3889 | 3915 |
/* XXX : not implemented */ |
3890 | 3916 |
spr_register(env, SPR_HID0, "HID0", |
... | ... | |
4529 | 4555 |
ppc6xx_irq_init(env); |
4530 | 4556 |
} |
4531 | 4557 |
|
4532 |
/* PowerPC 740/750 (aka G3) */
|
|
4533 |
#define POWERPC_INSNS_7x0 (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \
|
|
4558 |
/* PowerPC 740 */
|
|
4559 |
#define POWERPC_INSNS_740 (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \
|
|
4534 | 4560 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
4535 |
PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE | \ |
|
4536 |
PPC_FLOAT_STFIWX | \ |
|
4561 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4537 | 4562 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
4538 | 4563 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
4539 | 4564 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | \ |
4540 | 4565 |
PPC_SEGMENT | PPC_EXTERN) |
4541 |
#define POWERPC_MSRM_7x0 (0x000000000005FF77ULL)
|
|
4542 |
#define POWERPC_MMU_7x0 (POWERPC_MMU_32B)
|
|
4543 |
//#define POWERPC_EXCP_7x0 (POWERPC_EXCP_7x0)
|
|
4544 |
#define POWERPC_INPUT_7x0 (PPC_FLAGS_INPUT_6xx)
|
|
4545 |
#define POWERPC_BFDM_7x0 (bfd_mach_ppc_750)
|
|
4546 |
#define POWERPC_FLAG_7x0 (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \
|
|
4566 |
#define POWERPC_MSRM_740 (0x000000000005FF77ULL)
|
|
4567 |
#define POWERPC_MMU_740 (POWERPC_MMU_32B)
|
|
4568 |
#define POWERPC_EXCP_740 (POWERPC_EXCP_7x0)
|
|
4569 |
#define POWERPC_INPUT_740 (PPC_FLAGS_INPUT_6xx)
|
|
4570 |
#define POWERPC_BFDM_740 (bfd_mach_ppc_750)
|
|
4571 |
#define POWERPC_FLAG_740 (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \
|
|
4547 | 4572 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
4548 |
#define check_pow_7x0 check_pow_hid0
|
|
4573 |
#define check_pow_740 check_pow_hid0
|
|
4549 | 4574 |
|
4550 |
static void init_proc_7x0 (CPUPPCState *env)
|
|
4575 |
static void init_proc_740 (CPUPPCState *env)
|
|
4551 | 4576 |
{ |
4552 | 4577 |
gen_spr_ne_601(env); |
4553 | 4578 |
gen_spr_7xx(env); |
... | ... | |
4575 | 4600 |
ppc6xx_irq_init(env); |
4576 | 4601 |
} |
4577 | 4602 |
|
4578 |
/* PowerPC 750FX/GX */ |
|
4603 |
/* PowerPC 750 */ |
|
4604 |
#define POWERPC_INSNS_750 (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \ |
|
4605 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
|
4606 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4607 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
|
4608 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
|
4609 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | \ |
|
4610 |
PPC_SEGMENT | PPC_EXTERN) |
|
4611 |
#define POWERPC_MSRM_750 (0x000000000005FF77ULL) |
|
4612 |
#define POWERPC_MMU_750 (POWERPC_MMU_32B) |
|
4613 |
#define POWERPC_EXCP_750 (POWERPC_EXCP_7x0) |
|
4614 |
#define POWERPC_INPUT_750 (PPC_FLAGS_INPUT_6xx) |
|
4615 |
#define POWERPC_BFDM_750 (bfd_mach_ppc_750) |
|
4616 |
#define POWERPC_FLAG_750 (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \ |
|
4617 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
|
4618 |
#define check_pow_750 check_pow_hid0 |
|
4619 |
|
|
4620 |
static void init_proc_750 (CPUPPCState *env) |
|
4621 |
{ |
|
4622 |
gen_spr_ne_601(env); |
|
4623 |
gen_spr_7xx(env); |
|
4624 |
/* XXX : not implemented */ |
|
4625 |
spr_register(env, SPR_L2CR, "L2CR", |
|
4626 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4627 |
&spr_read_generic, &spr_write_generic, |
|
4628 |
0x00000000); |
|
4629 |
/* Time base */ |
|
4630 |
gen_tbl(env); |
|
4631 |
/* Thermal management */ |
|
4632 |
gen_spr_thrm(env); |
|
4633 |
/* Hardware implementation registers */ |
|
4634 |
/* XXX : not implemented */ |
|
4635 |
spr_register(env, SPR_HID0, "HID0", |
|
4636 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4637 |
&spr_read_generic, &spr_write_generic, |
|
4638 |
0x00000000); |
|
4639 |
/* XXX : not implemented */ |
|
4640 |
spr_register(env, SPR_HID1, "HID1", |
|
4641 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4642 |
&spr_read_generic, &spr_write_generic, |
|
4643 |
0x00000000); |
|
4644 |
/* Memory management */ |
|
4645 |
gen_low_BATs(env); |
|
4646 |
/* XXX: high BATs are also present but are known to be bugged on |
|
4647 |
* die version 1.x |
|
4648 |
*/ |
|
4649 |
init_excp_7x0(env); |
|
4650 |
env->dcache_line_size = 32; |
|
4651 |
env->icache_line_size = 32; |
|
4652 |
/* Allocate hardware IRQ controller */ |
|
4653 |
ppc6xx_irq_init(env); |
|
4654 |
} |
|
4655 |
|
|
4656 |
/* PowerPC 750 CL */ |
|
4657 |
/* XXX: not implemented: |
|
4658 |
* cache lock instructions: |
|
4659 |
* dcbz_l |
|
4660 |
* floating point paired instructions |
|
4661 |
* psq_lux |
|
4662 |
* psq_lx |
|
4663 |
* psq_stux |
|
4664 |
* psq_stx |
|
4665 |
* ps_abs |
|
4666 |
* ps_add |
|
4667 |
* ps_cmpo0 |
|
4668 |
* ps_cmpo1 |
|
4669 |
* ps_cmpu0 |
|
4670 |
* ps_cmpu1 |
|
4671 |
* ps_div |
|
4672 |
* ps_madd |
|
4673 |
* ps_madds0 |
|
4674 |
* ps_madds1 |
|
4675 |
* ps_merge00 |
|
4676 |
* ps_merge01 |
|
4677 |
* ps_merge10 |
|
4678 |
* ps_merge11 |
|
4679 |
* ps_mr |
|
4680 |
* ps_msub |
|
4681 |
* ps_mul |
|
4682 |
* ps_muls0 |
|
4683 |
* ps_muls1 |
|
4684 |
* ps_nabs |
|
4685 |
* ps_neg |
|
4686 |
* ps_nmadd |
|
4687 |
* ps_nmsub |
|
4688 |
* ps_res |
|
4689 |
* ps_rsqrte |
|
4690 |
* ps_sel |
|
4691 |
* ps_sub |
|
4692 |
* ps_sum0 |
|
4693 |
* ps_sum1 |
|
4694 |
*/ |
|
4695 |
#define POWERPC_INSNS_750cl (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \ |
|
4696 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
|
4697 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4698 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
|
4699 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
|
4700 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | \ |
|
4701 |
PPC_SEGMENT | PPC_EXTERN) |
|
4702 |
#define POWERPC_MSRM_750cl (0x000000000005FF77ULL) |
|
4703 |
#define POWERPC_MMU_750cl (POWERPC_MMU_32B) |
|
4704 |
#define POWERPC_EXCP_750cl (POWERPC_EXCP_7x0) |
|
4705 |
#define POWERPC_INPUT_750cl (PPC_FLAGS_INPUT_6xx) |
|
4706 |
#define POWERPC_BFDM_750cl (bfd_mach_ppc_750) |
|
4707 |
#define POWERPC_FLAG_750cl (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \ |
|
4708 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
|
4709 |
#define check_pow_750cl check_pow_hid0 |
|
4710 |
|
|
4711 |
static void init_proc_750cl (CPUPPCState *env) |
|
4712 |
{ |
|
4713 |
gen_spr_ne_601(env); |
|
4714 |
gen_spr_7xx(env); |
|
4715 |
/* XXX : not implemented */ |
|
4716 |
spr_register(env, SPR_L2CR, "L2CR", |
|
4717 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4718 |
&spr_read_generic, &spr_write_generic, |
|
4719 |
0x00000000); |
|
4720 |
/* Time base */ |
|
4721 |
gen_tbl(env); |
|
4722 |
/* Thermal management */ |
|
4723 |
/* Those registers are fake on 750CL */ |
|
4724 |
spr_register(env, SPR_THRM1, "THRM1", |
|
4725 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4726 |
&spr_read_generic, &spr_write_generic, |
|
4727 |
0x00000000); |
|
4728 |
spr_register(env, SPR_THRM2, "THRM2", |
|
4729 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4730 |
&spr_read_generic, &spr_write_generic, |
|
4731 |
0x00000000); |
|
4732 |
spr_register(env, SPR_THRM3, "THRM3", |
|
4733 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4734 |
&spr_read_generic, &spr_write_generic, |
|
4735 |
0x00000000); |
|
4736 |
/* XXX: not implemented */ |
|
4737 |
spr_register(env, SPR_750_TDCL, "TDCL", |
|
4738 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4739 |
&spr_read_generic, &spr_write_generic, |
|
4740 |
0x00000000); |
|
4741 |
spr_register(env, SPR_750_TDCH, "TDCH", |
|
4742 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4743 |
&spr_read_generic, &spr_write_generic, |
|
4744 |
0x00000000); |
|
4745 |
/* DMA */ |
|
4746 |
/* XXX : not implemented */ |
|
4747 |
spr_register(env, SPR_750_WPAR, "WPAR", |
|
4748 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4749 |
&spr_read_generic, &spr_write_generic, |
|
4750 |
0x00000000); |
|
4751 |
spr_register(env, SPR_750_DMAL, "DMAL", |
|
4752 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4753 |
&spr_read_generic, &spr_write_generic, |
|
4754 |
0x00000000); |
|
4755 |
spr_register(env, SPR_750_DMAU, "DMAU", |
|
4756 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4757 |
&spr_read_generic, &spr_write_generic, |
|
4758 |
0x00000000); |
|
4759 |
/* Hardware implementation registers */ |
|
4760 |
/* XXX : not implemented */ |
|
4761 |
spr_register(env, SPR_HID0, "HID0", |
|
4762 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4763 |
&spr_read_generic, &spr_write_generic, |
|
4764 |
0x00000000); |
|
4765 |
/* XXX : not implemented */ |
|
4766 |
spr_register(env, SPR_HID1, "HID1", |
|
4767 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4768 |
&spr_read_generic, &spr_write_generic, |
|
4769 |
0x00000000); |
|
4770 |
/* XXX : not implemented */ |
|
4771 |
spr_register(env, SPR_750CL_HID2, "HID2", |
|
4772 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4773 |
&spr_read_generic, &spr_write_generic, |
|
4774 |
0x00000000); |
|
4775 |
/* XXX : not implemented */ |
|
4776 |
spr_register(env, SPR_750CL_HID4, "HID4", |
|
4777 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4778 |
&spr_read_generic, &spr_write_generic, |
|
4779 |
0x00000000); |
|
4780 |
/* Quantization registers */ |
|
4781 |
/* XXX : not implemented */ |
|
4782 |
spr_register(env, SPR_750_GQR0, "GQR0", |
|
4783 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4784 |
&spr_read_generic, &spr_write_generic, |
|
4785 |
0x00000000); |
|
4786 |
/* XXX : not implemented */ |
|
4787 |
spr_register(env, SPR_750_GQR1, "GQR1", |
|
4788 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4789 |
&spr_read_generic, &spr_write_generic, |
|
4790 |
0x00000000); |
|
4791 |
/* XXX : not implemented */ |
|
4792 |
spr_register(env, SPR_750_GQR2, "GQR2", |
|
4793 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4794 |
&spr_read_generic, &spr_write_generic, |
|
4795 |
0x00000000); |
|
4796 |
/* XXX : not implemented */ |
|
4797 |
spr_register(env, SPR_750_GQR3, "GQR3", |
|
4798 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4799 |
&spr_read_generic, &spr_write_generic, |
|
4800 |
0x00000000); |
|
4801 |
/* XXX : not implemented */ |
|
4802 |
spr_register(env, SPR_750_GQR4, "GQR4", |
|
4803 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4804 |
&spr_read_generic, &spr_write_generic, |
|
4805 |
0x00000000); |
|
4806 |
/* XXX : not implemented */ |
|
4807 |
spr_register(env, SPR_750_GQR5, "GQR5", |
|
4808 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4809 |
&spr_read_generic, &spr_write_generic, |
|
4810 |
0x00000000); |
|
4811 |
/* XXX : not implemented */ |
|
4812 |
spr_register(env, SPR_750_GQR6, "GQR6", |
|
4813 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4814 |
&spr_read_generic, &spr_write_generic, |
|
4815 |
0x00000000); |
|
4816 |
/* XXX : not implemented */ |
|
4817 |
spr_register(env, SPR_750_GQR7, "GQR7", |
|
4818 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4819 |
&spr_read_generic, &spr_write_generic, |
|
4820 |
0x00000000); |
|
4821 |
/* Memory management */ |
|
4822 |
gen_low_BATs(env); |
|
4823 |
/* PowerPC 750cl has 8 DBATs and 8 IBATs */ |
|
4824 |
gen_high_BATs(env); |
|
4825 |
init_excp_750cl(env); |
|
4826 |
env->dcache_line_size = 32; |
|
4827 |
env->icache_line_size = 32; |
|
4828 |
/* Allocate hardware IRQ controller */ |
|
4829 |
ppc6xx_irq_init(env); |
|
4830 |
} |
|
4831 |
|
|
4832 |
#define POWERPC_INSNS_750cx (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \ |
|
4833 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
|
4834 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4835 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
|
4836 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
|
4837 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | \ |
|
4838 |
PPC_SEGMENT | PPC_EXTERN) |
|
4839 |
#define POWERPC_MSRM_750cx (0x000000000005FF77ULL) |
|
4840 |
#define POWERPC_MMU_750cx (POWERPC_MMU_32B) |
|
4841 |
#define POWERPC_EXCP_750cx (POWERPC_EXCP_7x0) |
|
4842 |
#define POWERPC_INPUT_750cx (PPC_FLAGS_INPUT_6xx) |
|
4843 |
#define POWERPC_BFDM_750cx (bfd_mach_ppc_750) |
|
4844 |
#define POWERPC_FLAG_750cx (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \ |
|
4845 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
|
4846 |
#define check_pow_750cx check_pow_hid0 |
|
4847 |
|
|
4848 |
static void init_proc_750cx (CPUPPCState *env) |
|
4849 |
{ |
|
4850 |
gen_spr_ne_601(env); |
|
4851 |
gen_spr_7xx(env); |
|
4852 |
/* XXX : not implemented */ |
|
4853 |
spr_register(env, SPR_L2CR, "L2CR", |
|
4854 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4855 |
&spr_read_generic, &spr_write_generic, |
|
4856 |
0x00000000); |
|
4857 |
/* Time base */ |
|
4858 |
gen_tbl(env); |
|
4859 |
/* Thermal management */ |
|
4860 |
gen_spr_thrm(env); |
|
4861 |
/* This register is not implemented but is present for compatibility */ |
|
4862 |
spr_register(env, SPR_SDA, "SDA", |
|
4863 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4864 |
&spr_read_generic, &spr_write_generic, |
|
4865 |
0x00000000); |
|
4866 |
/* Hardware implementation registers */ |
|
4867 |
/* XXX : not implemented */ |
|
4868 |
spr_register(env, SPR_HID0, "HID0", |
|
4869 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4870 |
&spr_read_generic, &spr_write_generic, |
|
4871 |
0x00000000); |
|
4872 |
/* XXX : not implemented */ |
|
4873 |
spr_register(env, SPR_HID1, "HID1", |
|
4874 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4875 |
&spr_read_generic, &spr_write_generic, |
|
4876 |
0x00000000); |
|
4877 |
/* Memory management */ |
|
4878 |
gen_low_BATs(env); |
|
4879 |
/* XXX: high BATs are also present but are known to be bugged on |
|
4880 |
* die version 1.x |
|
4881 |
*/ |
|
4882 |
init_excp_750cx(env); |
|
4883 |
env->dcache_line_size = 32; |
|
4884 |
env->icache_line_size = 32; |
|
4885 |
/* Allocate hardware IRQ controller */ |
|
4886 |
ppc6xx_irq_init(env); |
|
4887 |
} |
|
4888 |
|
|
4889 |
/* PowerPC 750FX */ |
|
4579 | 4890 |
#define POWERPC_INSNS_750fx (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \ |
4580 | 4891 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
4581 |
PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE | \ |
|
4582 |
PPC_FLOAT_STFIWX | \ |
|
4892 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4583 | 4893 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
4584 | 4894 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
4585 | 4895 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | \ |
... | ... | |
4597 | 4907 |
{ |
4598 | 4908 |
gen_spr_ne_601(env); |
4599 | 4909 |
gen_spr_7xx(env); |
4910 |
/* XXX : not implemented */ |
|
4911 |
spr_register(env, SPR_L2CR, "L2CR", |
|
4912 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4913 |
&spr_read_generic, &spr_write_generic, |
|
4914 |
0x00000000); |
|
4600 | 4915 |
/* Time base */ |
4601 | 4916 |
gen_tbl(env); |
4602 | 4917 |
/* Thermal management */ |
4603 | 4918 |
gen_spr_thrm(env); |
4919 |
/* XXX : not implemented */ |
|
4920 |
spr_register(env, SPR_750_THRM4, "THRM4", |
|
4921 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4922 |
&spr_read_generic, &spr_write_generic, |
|
4923 |
0x00000000); |
|
4604 | 4924 |
/* Hardware implementation registers */ |
4605 | 4925 |
/* XXX : not implemented */ |
4606 | 4926 |
spr_register(env, SPR_HID0, "HID0", |
... | ... | |
4613 | 4933 |
&spr_read_generic, &spr_write_generic, |
4614 | 4934 |
0x00000000); |
4615 | 4935 |
/* XXX : not implemented */ |
4616 |
spr_register(env, SPR_750_HID2, "HID2", |
|
4936 |
spr_register(env, SPR_750FX_HID2, "HID2",
|
|
4617 | 4937 |
SPR_NOACCESS, SPR_NOACCESS, |
4618 | 4938 |
&spr_read_generic, &spr_write_generic, |
4619 | 4939 |
0x00000000); |
... | ... | |
4621 | 4941 |
gen_low_BATs(env); |
4622 | 4942 |
/* PowerPC 750fx & 750gx has 8 DBATs and 8 IBATs */ |
4623 | 4943 |
gen_high_BATs(env); |
4624 |
init_excp_750FX(env);
|
|
4944 |
init_excp_7x0(env);
|
|
4625 | 4945 |
env->dcache_line_size = 32; |
4626 | 4946 |
env->icache_line_size = 32; |
4627 | 4947 |
/* Allocate hardware IRQ controller */ |
4628 | 4948 |
ppc6xx_irq_init(env); |
4629 | 4949 |
} |
4630 | 4950 |
|
4631 |
/* PowerPC 745/755 */
|
|
4632 |
#define POWERPC_INSNS_7x5 (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \
|
|
4951 |
/* PowerPC 750GX */
|
|
4952 |
#define POWERPC_INSNS_750gx (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \
|
|
4633 | 4953 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
4634 |
PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE | \ |
|
4635 |
PPC_FLOAT_STFIWX | \ |
|
4954 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4955 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
|
4956 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
|
4957 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | \ |
|
4958 |
PPC_SEGMENT | PPC_EXTERN) |
|
4959 |
#define POWERPC_MSRM_750gx (0x000000000005FF77ULL) |
|
4960 |
#define POWERPC_MMU_750gx (POWERPC_MMU_32B) |
|
4961 |
#define POWERPC_EXCP_750gx (POWERPC_EXCP_7x0) |
|
4962 |
#define POWERPC_INPUT_750gx (PPC_FLAGS_INPUT_6xx) |
|
4963 |
#define POWERPC_BFDM_750gx (bfd_mach_ppc_750) |
|
4964 |
#define POWERPC_FLAG_750gx (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \ |
|
4965 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
|
4966 |
#define check_pow_750gx check_pow_hid0 |
|
4967 |
|
|
4968 |
static void init_proc_750gx (CPUPPCState *env) |
|
4969 |
{ |
|
4970 |
gen_spr_ne_601(env); |
|
4971 |
gen_spr_7xx(env); |
|
4972 |
/* XXX : not implemented (XXX: different from 750fx) */ |
|
4973 |
spr_register(env, SPR_L2CR, "L2CR", |
|
4974 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4975 |
&spr_read_generic, &spr_write_generic, |
|
4976 |
0x00000000); |
|
4977 |
/* Time base */ |
|
4978 |
gen_tbl(env); |
|
4979 |
/* Thermal management */ |
|
4980 |
gen_spr_thrm(env); |
|
4981 |
/* XXX : not implemented */ |
|
4982 |
spr_register(env, SPR_750_THRM4, "THRM4", |
|
4983 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4984 |
&spr_read_generic, &spr_write_generic, |
|
4985 |
0x00000000); |
|
4986 |
/* Hardware implementation registers */ |
|
4987 |
/* XXX : not implemented (XXX: different from 750fx) */ |
|
4988 |
spr_register(env, SPR_HID0, "HID0", |
|
4989 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4990 |
&spr_read_generic, &spr_write_generic, |
|
4991 |
0x00000000); |
|
4992 |
/* XXX : not implemented */ |
|
4993 |
spr_register(env, SPR_HID1, "HID1", |
|
4994 |
SPR_NOACCESS, SPR_NOACCESS, |
|
4995 |
&spr_read_generic, &spr_write_generic, |
|
4996 |
0x00000000); |
|
4997 |
/* XXX : not implemented (XXX: different from 750fx) */ |
|
4998 |
spr_register(env, SPR_750FX_HID2, "HID2", |
|
4999 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5000 |
&spr_read_generic, &spr_write_generic, |
|
5001 |
0x00000000); |
|
5002 |
/* Memory management */ |
|
5003 |
gen_low_BATs(env); |
|
5004 |
/* PowerPC 750fx & 750gx has 8 DBATs and 8 IBATs */ |
|
5005 |
gen_high_BATs(env); |
|
5006 |
init_excp_7x0(env); |
|
5007 |
env->dcache_line_size = 32; |
|
5008 |
env->icache_line_size = 32; |
|
5009 |
/* Allocate hardware IRQ controller */ |
|
5010 |
ppc6xx_irq_init(env); |
|
5011 |
} |
|
5012 |
|
|
5013 |
/* PowerPC 745 */ |
|
5014 |
#define POWERPC_INSNS_745 (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \ |
|
5015 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
|
5016 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
5017 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
|
5018 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
|
5019 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | PPC_6xx_TLB | \ |
|
5020 |
PPC_SEGMENT | PPC_EXTERN) |
|
5021 |
#define POWERPC_MSRM_745 (0x000000000005FF77ULL) |
|
5022 |
#define POWERPC_MMU_745 (POWERPC_MMU_SOFT_6xx) |
|
5023 |
#define POWERPC_EXCP_745 (POWERPC_EXCP_7x5) |
|
5024 |
#define POWERPC_INPUT_745 (PPC_FLAGS_INPUT_6xx) |
|
5025 |
#define POWERPC_BFDM_745 (bfd_mach_ppc_750) |
|
5026 |
#define POWERPC_FLAG_745 (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \ |
|
5027 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
|
5028 |
#define check_pow_745 check_pow_hid0 |
|
5029 |
|
|
5030 |
static void init_proc_745 (CPUPPCState *env) |
|
5031 |
{ |
|
5032 |
gen_spr_ne_601(env); |
|
5033 |
gen_spr_7xx(env); |
|
5034 |
gen_spr_G2_755(env); |
|
5035 |
/* Time base */ |
|
5036 |
gen_tbl(env); |
|
5037 |
/* Thermal management */ |
|
5038 |
gen_spr_thrm(env); |
|
5039 |
/* Hardware implementation registers */ |
|
5040 |
/* XXX : not implemented */ |
|
5041 |
spr_register(env, SPR_HID0, "HID0", |
|
5042 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5043 |
&spr_read_generic, &spr_write_generic, |
|
5044 |
0x00000000); |
|
5045 |
/* XXX : not implemented */ |
|
5046 |
spr_register(env, SPR_HID1, "HID1", |
|
5047 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5048 |
&spr_read_generic, &spr_write_generic, |
|
5049 |
0x00000000); |
|
5050 |
/* XXX : not implemented */ |
|
5051 |
spr_register(env, SPR_HID2, "HID2", |
|
5052 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5053 |
&spr_read_generic, &spr_write_generic, |
|
5054 |
0x00000000); |
|
5055 |
/* Memory management */ |
|
5056 |
gen_low_BATs(env); |
|
5057 |
gen_high_BATs(env); |
|
5058 |
gen_6xx_7xx_soft_tlb(env, 64, 2); |
|
5059 |
init_excp_7x5(env); |
|
5060 |
env->dcache_line_size = 32; |
|
5061 |
env->icache_line_size = 32; |
|
5062 |
/* Allocate hardware IRQ controller */ |
|
5063 |
ppc6xx_irq_init(env); |
|
5064 |
} |
|
5065 |
|
|
5066 |
/* PowerPC 755 */ |
|
5067 |
#define POWERPC_INSNS_755 (PPC_INSNS_BASE | PPC_STRING | PPC_MFTB | \ |
|
5068 |
PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES | \ |
|
5069 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_STFIWX | \ |
|
4636 | 5070 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | \ |
4637 | 5071 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
4638 | 5072 |
PPC_MEM_TLBIE | PPC_MEM_TLBSYNC | PPC_6xx_TLB | \ |
4639 | 5073 |
PPC_SEGMENT | PPC_EXTERN) |
4640 |
#define POWERPC_MSRM_7x5 (0x000000000005FF77ULL)
|
|
4641 |
#define POWERPC_MMU_7x5 (POWERPC_MMU_SOFT_6xx)
|
|
4642 |
//#define POWERPC_EXCP_7x5 (POWERPC_EXCP_7x5)
|
|
4643 |
#define POWERPC_INPUT_7x5 (PPC_FLAGS_INPUT_6xx)
|
|
4644 |
#define POWERPC_BFDM_7x5 (bfd_mach_ppc_750)
|
|
4645 |
#define POWERPC_FLAG_7x5 (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \
|
|
5074 |
#define POWERPC_MSRM_755 (0x000000000005FF77ULL)
|
|
5075 |
#define POWERPC_MMU_755 (POWERPC_MMU_SOFT_6xx)
|
|
5076 |
#define POWERPC_EXCP_755 (POWERPC_EXCP_7x5)
|
|
5077 |
#define POWERPC_INPUT_755 (PPC_FLAGS_INPUT_6xx)
|
|
5078 |
#define POWERPC_BFDM_755 (bfd_mach_ppc_750)
|
|
5079 |
#define POWERPC_FLAG_755 (POWERPC_FLAG_SE | POWERPC_FLAG_BE | \
|
|
4646 | 5080 |
POWERPC_FLAG_PMM | POWERPC_FLAG_BUS_CLK) |
4647 |
#define check_pow_7x5 check_pow_hid0
|
|
5081 |
#define check_pow_755 check_pow_hid0
|
|
4648 | 5082 |
|
4649 |
static void init_proc_7x5 (CPUPPCState *env)
|
|
5083 |
static void init_proc_755 (CPUPPCState *env)
|
|
4650 | 5084 |
{ |
4651 | 5085 |
gen_spr_ne_601(env); |
5086 |
gen_spr_7xx(env); |
|
4652 | 5087 |
gen_spr_G2_755(env); |
4653 | 5088 |
/* Time base */ |
4654 | 5089 |
gen_tbl(env); |
4655 | 5090 |
/* L2 cache control */ |
4656 | 5091 |
/* XXX : not implemented */ |
4657 |
spr_register(env, SPR_ICTC, "ICTC",
|
|
5092 |
spr_register(env, SPR_L2CR, "L2CR",
|
|
4658 | 5093 |
SPR_NOACCESS, SPR_NOACCESS, |
4659 | 5094 |
&spr_read_generic, &spr_write_generic, |
4660 | 5095 |
0x00000000); |
... | ... | |
4663 | 5098 |
SPR_NOACCESS, SPR_NOACCESS, |
4664 | 5099 |
&spr_read_generic, &spr_write_generic, |
4665 | 5100 |
0x00000000); |
5101 |
/* Thermal management */ |
|
5102 |
gen_spr_thrm(env); |
|
4666 | 5103 |
/* Hardware implementation registers */ |
4667 | 5104 |
/* XXX : not implemented */ |
4668 | 5105 |
spr_register(env, SPR_HID0, "HID0", |
... | ... | |
4688 | 5125 |
env->icache_line_size = 32; |
4689 | 5126 |
/* Allocate hardware IRQ controller */ |
4690 | 5127 |
ppc6xx_irq_init(env); |
4691 |
#if !defined(CONFIG_USER_ONLY) |
|
4692 |
/* Hardware reset vector */ |
|
4693 |
env->hreset_vector = 0xFFFFFFFCUL; |
|
4694 |
#endif |
|
4695 | 5128 |
} |
4696 | 5129 |
|
4697 | 5130 |
/* PowerPC 7400 (aka G4) */ |
... | ... | |
5232 | 5665 |
&spr_read_generic, &spr_write_generic, |
5233 | 5666 |
0x00000000); |
5234 | 5667 |
/* XXX : not implemented */ |
5235 |
spr_register(env, SPR_750_HID2, "HID2", |
|
5668 |
spr_register(env, SPR_750FX_HID2, "HID2",
|
|
5236 | 5669 |
SPR_NOACCESS, SPR_NOACCESS, |
5237 | 5670 |
&spr_read_generic, &spr_write_generic, |
5238 | 5671 |
0x00000000); |
... | ... | |
5241 | 5674 |
SPR_NOACCESS, SPR_NOACCESS, |
5242 | 5675 |
&spr_read_generic, &spr_write_generic, |
5243 | 5676 |
POWERPC970_HID5_INIT); |
5677 |
/* XXX : not implemented */ |
|
5678 |
spr_register(env, SPR_L2CR, "L2CR", |
|
5679 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5680 |
&spr_read_generic, &spr_write_generic, |
|
5681 |
0x00000000); |
|
5244 | 5682 |
/* Memory management */ |
5245 | 5683 |
/* XXX: not correct */ |
5246 | 5684 |
gen_low_BATs(env); |
... | ... | |
5313 | 5751 |
&spr_read_generic, &spr_write_generic, |
5314 | 5752 |
0x00000000); |
5315 | 5753 |
/* XXX : not implemented */ |
5316 |
spr_register(env, SPR_750_HID2, "HID2", |
|
5754 |
spr_register(env, SPR_750FX_HID2, "HID2",
|
|
5317 | 5755 |
SPR_NOACCESS, SPR_NOACCESS, |
5318 | 5756 |
&spr_read_generic, &spr_write_generic, |
5319 | 5757 |
0x00000000); |
... | ... | |
5322 | 5760 |
SPR_NOACCESS, SPR_NOACCESS, |
5323 | 5761 |
&spr_read_generic, &spr_write_generic, |
5324 | 5762 |
POWERPC970_HID5_INIT); |
5763 |
/* XXX : not implemented */ |
|
5764 |
spr_register(env, SPR_L2CR, "L2CR", |
|
5765 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5766 |
&spr_read_generic, &spr_write_generic, |
|
5767 |
0x00000000); |
|
5325 | 5768 |
/* Memory management */ |
5326 | 5769 |
/* XXX: not correct */ |
5327 | 5770 |
gen_low_BATs(env); |
... | ... | |
5394 | 5837 |
&spr_read_generic, &spr_write_generic, |
5395 | 5838 |
0x00000000); |
5396 | 5839 |
/* XXX : not implemented */ |
5397 |
spr_register(env, SPR_750_HID2, "HID2", |
|
5840 |
spr_register(env, SPR_750FX_HID2, "HID2",
|
|
5398 | 5841 |
SPR_NOACCESS, SPR_NOACCESS, |
5399 | 5842 |
&spr_read_generic, &spr_write_generic, |
5400 | 5843 |
0x00000000); |
... | ... | |
5403 | 5846 |
SPR_NOACCESS, SPR_NOACCESS, |
5404 | 5847 |
&spr_read_generic, &spr_write_generic, |
5405 | 5848 |
POWERPC970_HID5_INIT); |
5849 |
/* XXX : not implemented */ |
|
5850 |
spr_register(env, SPR_L2CR, "L2CR", |
|
5851 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5852 |
&spr_read_generic, &spr_write_generic, |
|
5853 |
0x00000000); |
|
5406 | 5854 |
/* Memory management */ |
5407 | 5855 |
/* XXX: not correct */ |
5408 | 5856 |
gen_low_BATs(env); |
... | ... | |
5475 | 5923 |
&spr_read_generic, &spr_write_generic, |
5476 | 5924 |
0x00000000); |
5477 | 5925 |
/* XXX : not implemented */ |
5478 |
spr_register(env, SPR_750_HID2, "HID2", |
|
5926 |
spr_register(env, SPR_750FX_HID2, "HID2",
|
|
5479 | 5927 |
SPR_NOACCESS, SPR_NOACCESS, |
5480 | 5928 |
&spr_read_generic, &spr_write_generic, |
5481 | 5929 |
0x00000000); |
... | ... | |
5484 | 5932 |
SPR_NOACCESS, SPR_NOACCESS, |
5485 | 5933 |
&spr_read_generic, &spr_write_generic, |
5486 | 5934 |
POWERPC970_HID5_INIT); |
5935 |
/* XXX : not implemented */ |
|
5936 |
spr_register(env, SPR_L2CR, "L2CR", |
|
5937 |
SPR_NOACCESS, SPR_NOACCESS, |
|
5938 |
&spr_read_generic, &spr_write_generic, |
|
5939 |
0x00000000); |
|
5487 | 5940 |
/* Memory management */ |
5488 | 5941 |
/* XXX: not correct */ |
5489 | 5942 |
gen_low_BATs(env); |
... | ... | |
6092 | 6545 |
#define CPU_POWERPC_601 CPU_POWERPC_601_v2 |
6093 | 6546 |
CPU_POWERPC_601_v0 = 0x00010001, |
6094 | 6547 |
CPU_POWERPC_601_v1 = 0x00010001, |
6548 |
#define CPU_POWERPC_601v CPU_POWERPC_601_v2 |
|
6095 | 6549 |
CPU_POWERPC_601_v2 = 0x00010002, |
6096 | 6550 |
CPU_POWERPC_602 = 0x00050100, |
6097 | 6551 |
CPU_POWERPC_603 = 0x00030100, |
... | ... | |
6129 | 6583 |
/* PowerPC 740/750 cores (aka G3) */ |
6130 | 6584 |
/* XXX: missing 0x00084202 */ |
6131 | 6585 |
#define CPU_POWERPC_7x0 CPU_POWERPC_7x0_v31 |
6586 |
CPU_POWERPC_7x0_v10 = 0x00080100, |
|
6132 | 6587 |
CPU_POWERPC_7x0_v20 = 0x00080200, |
6133 | 6588 |
CPU_POWERPC_7x0_v21 = 0x00080201, |
6134 | 6589 |
CPU_POWERPC_7x0_v22 = 0x00080202, |
6135 | 6590 |
CPU_POWERPC_7x0_v30 = 0x00080300, |
6136 | 6591 |
CPU_POWERPC_7x0_v31 = 0x00080301, |
6137 | 6592 |
CPU_POWERPC_740E = 0x00080100, |
6593 |
CPU_POWERPC_750E = 0x00080200, |
|
6138 | 6594 |
CPU_POWERPC_7x0P = 0x10080000, |
6139 | 6595 |
/* XXX: missing 0x00087010 (CL ?) */ |
6140 |
CPU_POWERPC_750CL = 0x00087200, |
|
6596 |
#define CPU_POWERPC_750CL CPU_POWERPC_750CL_v20 |
|
6597 |
CPU_POWERPC_750CL_v10 = 0x00087200, |
|
6598 |
CPU_POWERPC_750CL_v20 = 0x00087210, /* aka rev E */ |
|
6141 | 6599 |
#define CPU_POWERPC_750CX CPU_POWERPC_750CX_v22 |
6600 |
CPU_POWERPC_750CX_v10 = 0x00082100, |
|
6601 |
CPU_POWERPC_750CX_v20 = 0x00082200, |
|
6142 | 6602 |
CPU_POWERPC_750CX_v21 = 0x00082201, |
6143 | 6603 |
CPU_POWERPC_750CX_v22 = 0x00082202, |
6144 | 6604 |
#define CPU_POWERPC_750CXE CPU_POWERPC_750CXE_v31b |
... | ... | |
6147 | 6607 |
CPU_POWERPC_750CXE_v23 = 0x00082213, |
6148 | 6608 |
CPU_POWERPC_750CXE_v24 = 0x00082214, |
6149 | 6609 |
CPU_POWERPC_750CXE_v24b = 0x00083214, |
6150 |
CPU_POWERPC_750CXE_v31 = 0x00083211, |
|
6610 |
CPU_POWERPC_750CXE_v30 = 0x00082310, |
|
6611 |
CPU_POWERPC_750CXE_v31 = 0x00082311, |
|
6151 | 6612 |
CPU_POWERPC_750CXE_v31b = 0x00083311, |
6152 | 6613 |
CPU_POWERPC_750CXR = 0x00083410, |
6153 |
CPU_POWERPC_750E = 0x00080200, |
|
6154 |
CPU_POWERPC_750FL = 0x700A0203, |
|
6614 |
CPU_POWERPC_750FL = 0x70000203, |
|
6155 | 6615 |
#define CPU_POWERPC_750FX CPU_POWERPC_750FX_v23 |
6156 | 6616 |
CPU_POWERPC_750FX_v10 = 0x70000100, |
6157 | 6617 |
CPU_POWERPC_750FX_v20 = 0x70000200, |
... | ... | |
6164 | 6624 |
CPU_POWERPC_750GX_v11 = 0x70020101, |
6165 | 6625 |
CPU_POWERPC_750GX_v12 = 0x70020102, |
6166 | 6626 |
#define CPU_POWERPC_750L CPU_POWERPC_750L_v32 /* Aka LoneStar */ |
6627 |
CPU_POWERPC_750L_v20 = 0x00088200, |
|
6628 |
CPU_POWERPC_750L_v21 = 0x00088201, |
|
6167 | 6629 |
CPU_POWERPC_750L_v22 = 0x00088202, |
6168 | 6630 |
CPU_POWERPC_750L_v30 = 0x00088300, |
6169 | 6631 |
CPU_POWERPC_750L_v32 = 0x00088302, |
... | ... | |
7577 | 8039 |
/* 32 bits "classic" PowerPC */ |
7578 | 8040 |
/* PowerPC 6xx family */ |
7579 | 8041 |
/* PowerPC 601 */ |
7580 |
POWERPC_DEF("601", CPU_POWERPC_601, 601), |
|
8042 |
POWERPC_DEF("601", CPU_POWERPC_601, 601v),
|
|
7581 | 8043 |
/* PowerPC 601v0 */ |
7582 | 8044 |
POWERPC_DEF("601_v0", CPU_POWERPC_601_v0, 601), |
7583 | 8045 |
/* PowerPC 601v1 */ |
7584 | 8046 |
POWERPC_DEF("601_v1", CPU_POWERPC_601_v1, 601), |
7585 | 8047 |
/* PowerPC 601v */ |
7586 |
POWERPC_DEF("601v", CPU_POWERPC_601, 601v),
|
|
8048 |
POWERPC_DEF("601v", CPU_POWERPC_601v, 601v),
|
|
7587 | 8049 |
/* PowerPC 601v2 */ |
7588 | 8050 |
POWERPC_DEF("601_v2", CPU_POWERPC_601_v2, 601v), |
7589 | 8051 |
/* PowerPC 602 */ |
... | ... | |
7652 | 8114 |
#endif |
7653 | 8115 |
/* PowerPC 7xx family */ |
7654 | 8116 |
/* Generic PowerPC 740 (G3) */ |
7655 |
POWERPC_DEF("740", CPU_POWERPC_7x0, 7x0),
|
|
8117 |
POWERPC_DEF("740", CPU_POWERPC_7x0, 740),
|
|
7656 | 8118 |
/* Code name for PowerPC 740 */ |
7657 |
POWERPC_DEF("Arthur", CPU_POWERPC_7x0, 7x0),
|
|
8119 |
POWERPC_DEF("Arthur", CPU_POWERPC_7x0, 740),
|
|
7658 | 8120 |
/* Generic PowerPC 750 (G3) */ |
7659 |
POWERPC_DEF("750", CPU_POWERPC_7x0, 7x0),
|
|
8121 |
POWERPC_DEF("750", CPU_POWERPC_7x0, 750),
|
|
7660 | 8122 |
/* Code name for PowerPC 750 */ |
7661 |
POWERPC_DEF("Typhoon", CPU_POWERPC_7x0, 7x0),
|
|
8123 |
POWERPC_DEF("Typhoon", CPU_POWERPC_7x0, 750),
|
|
7662 | 8124 |
/* PowerPC 740/750 is also known as G3 */ |
7663 |
POWERPC_DEF("G3", CPU_POWERPC_7x0, 7x0), |
|
8125 |
POWERPC_DEF("G3", CPU_POWERPC_7x0, 750), |
|
8126 |
/* PowerPC 740 v1.0 (G3) */ |
|
8127 |
POWERPC_DEF("740_v1.0", CPU_POWERPC_7x0_v10, 740), |
|
8128 |
/* PowerPC 750 v1.0 (G3) */ |
|
8129 |
POWERPC_DEF("750_v1.0", CPU_POWERPC_7x0_v10, 750), |
|
7664 | 8130 |
/* PowerPC 740 v2.0 (G3) */ |
7665 |
POWERPC_DEF("740_v2.0", CPU_POWERPC_7x0_v20, 7x0),
|
|
8131 |
POWERPC_DEF("740_v2.0", CPU_POWERPC_7x0_v20, 740),
|
|
7666 | 8132 |
/* PowerPC 750 v2.0 (G3) */ |
7667 |
POWERPC_DEF("750_v2.0", CPU_POWERPC_7x0_v20, 7x0),
|
|
8133 |
POWERPC_DEF("750_v2.0", CPU_POWERPC_7x0_v20, 750),
|
|
7668 | 8134 |
/* PowerPC 740 v2.1 (G3) */ |
7669 |
POWERPC_DEF("740_v2.1", CPU_POWERPC_7x0_v21, 7x0),
|
|
8135 |
POWERPC_DEF("740_v2.1", CPU_POWERPC_7x0_v21, 740),
|
|
7670 | 8136 |
/* PowerPC 750 v2.1 (G3) */ |
7671 |
POWERPC_DEF("750_v2.1", CPU_POWERPC_7x0_v21, 7x0),
|
|
8137 |
POWERPC_DEF("750_v2.1", CPU_POWERPC_7x0_v21, 750),
|
|
7672 | 8138 |
/* PowerPC 740 v2.2 (G3) */ |
7673 |
POWERPC_DEF("740_v2.2", CPU_POWERPC_7x0_v22, 7x0),
|
|
8139 |
POWERPC_DEF("740_v2.2", CPU_POWERPC_7x0_v22, 740),
|
|
7674 | 8140 |
/* PowerPC 750 v2.2 (G3) */ |
7675 |
POWERPC_DEF("750_v2.2", CPU_POWERPC_7x0_v22, 7x0),
|
|
8141 |
POWERPC_DEF("750_v2.2", CPU_POWERPC_7x0_v22, 750),
|
|
7676 | 8142 |
/* PowerPC 740 v3.0 (G3) */ |
7677 |
POWERPC_DEF("740_v3.0", CPU_POWERPC_7x0_v30, 7x0),
|
|
8143 |
POWERPC_DEF("740_v3.0", CPU_POWERPC_7x0_v30, 740),
|
|
7678 | 8144 |
/* PowerPC 750 v3.0 (G3) */ |
7679 |
POWERPC_DEF("750_v3.0", CPU_POWERPC_7x0_v30, 7x0),
|
|
8145 |
POWERPC_DEF("750_v3.0", CPU_POWERPC_7x0_v30, 750),
|
|
7680 | 8146 |
/* PowerPC 740 v3.1 (G3) */ |
7681 |
POWERPC_DEF("740_v3.1", CPU_POWERPC_7x0_v31, 7x0),
|
|
8147 |
POWERPC_DEF("740_v3.1", CPU_POWERPC_7x0_v31, 740),
|
|
7682 | 8148 |
/* PowerPC 750 v3.1 (G3) */ |
7683 |
POWERPC_DEF("750_v3.1", CPU_POWERPC_7x0_v31, 7x0),
|
|
8149 |
POWERPC_DEF("750_v3.1", CPU_POWERPC_7x0_v31, 750),
|
|
7684 | 8150 |
/* PowerPC 740E (G3) */ |
7685 |
POWERPC_DEF("740e", CPU_POWERPC_740E, 7x0), |
|
8151 |
POWERPC_DEF("740e", CPU_POWERPC_740E, 740), |
|
8152 |
/* PowerPC 750E (G3) */ |
|
8153 |
POWERPC_DEF("750e", CPU_POWERPC_750E, 750), |
|
7686 | 8154 |
/* PowerPC 740P (G3) */ |
7687 |
POWERPC_DEF("740p", CPU_POWERPC_7x0P, 7x0),
|
|
8155 |
POWERPC_DEF("740p", CPU_POWERPC_7x0P, 740),
|
|
7688 | 8156 |
/* PowerPC 750P (G3) */ |
7689 |
POWERPC_DEF("750p", CPU_POWERPC_7x0P, 7x0),
|
|
8157 |
POWERPC_DEF("750p", CPU_POWERPC_7x0P, 750),
|
|
7690 | 8158 |
/* Code name for PowerPC 740P/750P (G3) */ |
7691 |
POWERPC_DEF("Conan/Doyle", CPU_POWERPC_7x0P, 7x0),
|
|
8159 |
POWERPC_DEF("Conan/Doyle", CPU_POWERPC_7x0P, 750),
|
|
7692 | 8160 |
/* PowerPC 750CL (G3 embedded) */ |
7693 |
POWERPC_DEF("750cl", CPU_POWERPC_750CL, 7x0), |
|
8161 |
POWERPC_DEF("750cl", CPU_POWERPC_750CL, 750cl), |
|
8162 |
/* PowerPC 750CL v1.0 */ |
|
8163 |
POWERPC_DEF("750cl_v1.0", CPU_POWERPC_750CL_v10, 750cl), |
|
8164 |
/* PowerPC 750CL v2.0 */ |
|
8165 |
POWERPC_DEF("750cl_v2.0", CPU_POWERPC_750CL_v20, 750cl), |
|
7694 | 8166 |
/* PowerPC 750CX (G3 embedded) */ |
7695 |
POWERPC_DEF("750cx", CPU_POWERPC_750CX, 7x0), |
|
8167 |
POWERPC_DEF("750cx", CPU_POWERPC_750CX, 750cx), |
|
8168 |
/* PowerPC 750CX v1.0 (G3 embedded) */ |
|
8169 |
POWERPC_DEF("750cx_v1.0", CPU_POWERPC_750CX_v10, 750cx), |
|
8170 |
/* PowerPC 750CX v2.1 (G3 embedded) */ |
|
8171 |
POWERPC_DEF("750cx_v2.0", CPU_POWERPC_750CX_v20, 750cx), |
|
7696 | 8172 |
/* PowerPC 750CX v2.1 (G3 embedded) */ |
7697 |
POWERPC_DEF("750cx_v2.1", CPU_POWERPC_750CX_v21, 7x0),
|
|
8173 |
POWERPC_DEF("750cx_v2.1", CPU_POWERPC_750CX_v21, 750cx),
|
|
7698 | 8174 |
/* PowerPC 750CX v2.2 (G3 embedded) */ |
7699 |
POWERPC_DEF("750cx_v2.2", CPU_POWERPC_750CX_v22, 7x0),
|
|
8175 |
POWERPC_DEF("750cx_v2.2", CPU_POWERPC_750CX_v22, 750cx),
|
|
7700 | 8176 |
/* PowerPC 750CXe (G3 embedded) */ |
7701 |
POWERPC_DEF("750cxe", CPU_POWERPC_750CXE, 7x0),
|
|
8177 |
POWERPC_DEF("750cxe", CPU_POWERPC_750CXE, 750cx),
|
|
7702 | 8178 |
/* PowerPC 750CXe v2.1 (G3 embedded) */ |
7703 |
POWERPC_DEF("750cxe_v2.1", CPU_POWERPC_750CXE_v21, 7x0),
|
|
8179 |
POWERPC_DEF("750cxe_v2.1", CPU_POWERPC_750CXE_v21, 750cx),
|
|
7704 | 8180 |
/* PowerPC 750CXe v2.2 (G3 embedded) */ |
7705 |
POWERPC_DEF("750cxe_v2.2", CPU_POWERPC_750CXE_v22, 7x0),
|
|
8181 |
POWERPC_DEF("750cxe_v2.2", CPU_POWERPC_750CXE_v22, 750cx),
|
|
7706 | 8182 |
/* PowerPC 750CXe v2.3 (G3 embedded) */ |
7707 |
POWERPC_DEF("750cxe_v2.3", CPU_POWERPC_750CXE_v23, 7x0),
|
|
8183 |
POWERPC_DEF("750cxe_v2.3", CPU_POWERPC_750CXE_v23, 750cx),
|
|
7708 | 8184 |
/* PowerPC 750CXe v2.4 (G3 embedded) */ |
7709 |
POWERPC_DEF("750cxe_v2.4", CPU_POWERPC_750CXE_v24, 7x0),
|
|
8185 |
POWERPC_DEF("750cxe_v2.4", CPU_POWERPC_750CXE_v24, 750cx),
|
|
7710 | 8186 |
/* PowerPC 750CXe v2.4b (G3 embedded) */ |
7711 |
POWERPC_DEF("750cxe_v2.4b", CPU_POWERPC_750CXE_v24b, 7x0), |
|
8187 |
POWERPC_DEF("750cxe_v2.4b", CPU_POWERPC_750CXE_v24b, 750cx), |
|
8188 |
/* PowerPC 750CXe v3.0 (G3 embedded) */ |
|
8189 |
POWERPC_DEF("750cxe_v3.0", CPU_POWERPC_750CXE_v30, 750cx), |
|
7712 | 8190 |
/* PowerPC 750CXe v3.1 (G3 embedded) */ |
7713 |
POWERPC_DEF("750cxe_v3.1", CPU_POWERPC_750CXE_v31, 7x0),
|
|
8191 |
POWERPC_DEF("750cxe_v3.1", CPU_POWERPC_750CXE_v31, 750cx),
|
|
7714 | 8192 |
/* PowerPC 750CXe v3.1b (G3 embedded) */ |
7715 |
POWERPC_DEF("750cxe_v3.1b", CPU_POWERPC_750CXE_v31b, 7x0),
|
|
8193 |
POWERPC_DEF("750cxe_v3.1b", CPU_POWERPC_750CXE_v31b, 750cx),
|
|
7716 | 8194 |
/* PowerPC 750CXr (G3 embedded) */ |
7717 |
POWERPC_DEF("750cxr", CPU_POWERPC_750CXR, 7x0), |
|
7718 |
/* PowerPC 750E (G3) */ |
|
7719 |
POWERPC_DEF("750e", CPU_POWERPC_750E, 7x0), |
|
8195 |
POWERPC_DEF("750cxr", CPU_POWERPC_750CXR, 750cx), |
|
7720 | 8196 |
/* PowerPC 750FL (G3 embedded) */ |
7721 | 8197 |
POWERPC_DEF("750fl", CPU_POWERPC_750FL, 750fx), |
7722 | 8198 |
/* PowerPC 750FX (G3 embedded) */ |
... | ... | |
7732 | 8208 |
/* PowerPC 750FX v2.3 (G3 embedded) */ |
7733 | 8209 |
POWERPC_DEF("750fx_v2.3", CPU_POWERPC_750FX_v23, 750fx), |
7734 | 8210 |
/* PowerPC 750GL (G3 embedded) */ |
7735 |
POWERPC_DEF("750gl", CPU_POWERPC_750GL, 750fx),
|
|
8211 |
POWERPC_DEF("750gl", CPU_POWERPC_750GL, 750gx),
|
|
7736 | 8212 |
/* PowerPC 750GX (G3 embedded) */ |
7737 |
POWERPC_DEF("750gx", CPU_POWERPC_750GX, 750fx),
|
|
8213 |
POWERPC_DEF("750gx", CPU_POWERPC_750GX, 750gx),
|
|
7738 | 8214 |
/* PowerPC 750GX v1.0 (G3 embedded) */ |
7739 |
POWERPC_DEF("750gx_v1.0", CPU_POWERPC_750GX_v10, 750fx),
|
|
8215 |
POWERPC_DEF("750gx_v1.0", CPU_POWERPC_750GX_v10, 750gx),
|
|
7740 | 8216 |
/* PowerPC 750GX v1.1 (G3 embedded) */ |
7741 |
POWERPC_DEF("750gx_v1.1", CPU_POWERPC_750GX_v11, 750fx),
|
|
8217 |
POWERPC_DEF("750gx_v1.1", CPU_POWERPC_750GX_v11, 750gx),
|
|
7742 | 8218 |
/* PowerPC 750GX v1.2 (G3 embedded) */ |
7743 |
POWERPC_DEF("750gx_v1.2", CPU_POWERPC_750GX_v12, 750fx),
|
|
8219 |
POWERPC_DEF("750gx_v1.2", CPU_POWERPC_750GX_v12, 750gx),
|
|
7744 | 8220 |
/* PowerPC 750L (G3 embedded) */ |
7745 |
POWERPC_DEF("750l", CPU_POWERPC_750L, 7x0),
|
|
8221 |
POWERPC_DEF("750l", CPU_POWERPC_750L, 750),
|
|
7746 | 8222 |
/* Code name for PowerPC 750L (G3 embedded) */ |
7747 |
POWERPC_DEF("LoneStar", CPU_POWERPC_750L, 7x0), |
|
8223 |
POWERPC_DEF("LoneStar", CPU_POWERPC_750L, 750), |
|
8224 |
/* PowerPC 750L v2.0 (G3 embedded) */ |
|
8225 |
POWERPC_DEF("750l_v2.0", CPU_POWERPC_750L_v20, 750), |
|
8226 |
/* PowerPC 750L v2.1 (G3 embedded) */ |
|
8227 |
POWERPC_DEF("750l_v2.1", CPU_POWERPC_750L_v21, 750), |
|
7748 | 8228 |
/* PowerPC 750L v2.2 (G3 embedded) */ |
7749 |
POWERPC_DEF("750l_v2.2", CPU_POWERPC_750L_v22, 7x0),
|
|
8229 |
POWERPC_DEF("750l_v2.2", CPU_POWERPC_750L_v22, 750),
|
|
7750 | 8230 |
/* PowerPC 750L v3.0 (G3 embedded) */ |
7751 |
POWERPC_DEF("750l_v3.0", CPU_POWERPC_750L_v30, 7x0),
|
|
8231 |
POWERPC_DEF("750l_v3.0", CPU_POWERPC_750L_v30, 750),
|
|
7752 | 8232 |
/* PowerPC 750L v3.2 (G3 embedded) */ |
7753 |
POWERPC_DEF("750l_v3.2", CPU_POWERPC_750L_v32, 7x0),
|
|
8233 |
POWERPC_DEF("750l_v3.2", CPU_POWERPC_750L_v32, 750),
|
|
7754 | 8234 |
/* Generic PowerPC 745 */ |
7755 |
POWERPC_DEF("745", CPU_POWERPC_7x5, 7x5),
|
|
8235 |
POWERPC_DEF("745", CPU_POWERPC_7x5, 745),
|
|
7756 | 8236 |
/* Generic PowerPC 755 */ |
7757 |
POWERPC_DEF("755", CPU_POWERPC_7x5, 7x5),
|
|
8237 |
POWERPC_DEF("755", CPU_POWERPC_7x5, 755),
|
|
7758 | 8238 |
/* Code name for PowerPC 745/755 */ |
7759 |
POWERPC_DEF("Goldfinger", CPU_POWERPC_7x5, 7x5),
|
|
8239 |
POWERPC_DEF("Goldfinger", CPU_POWERPC_7x5, 755),
|
|
7760 | 8240 |
/* PowerPC 745 v1.0 */ |
7761 |
POWERPC_DEF("745_v1.0", CPU_POWERPC_7x5_v10, 7x5),
|
|
8241 |
POWERPC_DEF("745_v1.0", CPU_POWERPC_7x5_v10, 745),
|
|
7762 | 8242 |
/* PowerPC 755 v1.0 */ |
7763 |
POWERPC_DEF("755_v1.0", CPU_POWERPC_7x5_v10, 7x5),
|
|
8243 |
POWERPC_DEF("755_v1.0", CPU_POWERPC_7x5_v10, 755),
|
|
7764 | 8244 |
/* PowerPC 745 v1.1 */ |
7765 |
POWERPC_DEF("745_v1.1", CPU_POWERPC_7x5_v11, 7x5),
|
|
8245 |
POWERPC_DEF("745_v1.1", CPU_POWERPC_7x5_v11, 745),
|
|
7766 | 8246 |
/* PowerPC 755 v1.1 */ |
7767 |
POWERPC_DEF("755_v1.1", CPU_POWERPC_7x5_v11, 7x5),
|
|
8247 |
POWERPC_DEF("755_v1.1", CPU_POWERPC_7x5_v11, 755),
|
|
7768 | 8248 |
/* PowerPC 745 v2.0 */ |
7769 |
POWERPC_DEF("745_v2.0", CPU_POWERPC_7x5_v20, 7x5),
|
|
8249 |
POWERPC_DEF("745_v2.0", CPU_POWERPC_7x5_v20, 745),
|
|
7770 | 8250 |
/* PowerPC 755 v2.0 */ |
7771 |
POWERPC_DEF("755_v2.0", CPU_POWERPC_7x5_v20, 7x5),
|
|
8251 |
POWERPC_DEF("755_v2.0", CPU_POWERPC_7x5_v20, 755),
|
|
7772 | 8252 |
/* PowerPC 745 v2.1 */ |
7773 |
POWERPC_DEF("745_v2.1", CPU_POWERPC_7x5_v21, 7x5),
|
|
8253 |
POWERPC_DEF("745_v2.1", CPU_POWERPC_7x5_v21, 745),
|
|
7774 | 8254 |
/* PowerPC 755 v2.1 */ |
7775 |
POWERPC_DEF("755_v2.1", CPU_POWERPC_7x5_v21, 7x5),
|
|
8255 |
POWERPC_DEF("755_v2.1", CPU_POWERPC_7x5_v21, 755),
|
|
7776 | 8256 |
/* PowerPC 745 v2.2 */ |
7777 |
POWERPC_DEF("745_v2.2", CPU_POWERPC_7x5_v22, 7x5),
|
|
8257 |
POWERPC_DEF("745_v2.2", CPU_POWERPC_7x5_v22, 745),
|
|
7778 | 8258 |
/* PowerPC 755 v2.2 */ |
7779 |
POWERPC_DEF("755_v2.2", CPU_POWERPC_7x5_v22, 7x5),
|
|
8259 |
POWERPC_DEF("755_v2.2", CPU_POWERPC_7x5_v22, 755),
|
|
7780 | 8260 |
/* PowerPC 745 v2.3 */ |
7781 |
POWERPC_DEF("745_v2.3", CPU_POWERPC_7x5_v23, 7x5),
|
|
8261 |
POWERPC_DEF("745_v2.3", CPU_POWERPC_7x5_v23, 745),
|
|
7782 | 8262 |
/* PowerPC 755 v2.3 */ |
7783 |
POWERPC_DEF("755_v2.3", CPU_POWERPC_7x5_v23, 7x5),
|
|
8263 |
POWERPC_DEF("755_v2.3", CPU_POWERPC_7x5_v23, 755),
|
|
7784 | 8264 |
/* PowerPC 745 v2.4 */ |
7785 |
POWERPC_DEF("745_v2.4", CPU_POWERPC_7x5_v24, 7x5),
|
|
8265 |
POWERPC_DEF("745_v2.4", CPU_POWERPC_7x5_v24, 745),
|
|
7786 | 8266 |
/* PowerPC 755 v2.4 */ |
7787 |
POWERPC_DEF("755_v2.4", CPU_POWERPC_7x5_v24, 7x5),
|
|
8267 |
POWERPC_DEF("755_v2.4", CPU_POWERPC_7x5_v24, 755),
|
|
7788 | 8268 |
/* PowerPC 745 v2.5 */ |
7789 |
POWERPC_DEF("745_v2.5", CPU_POWERPC_7x5_v25, 7x5),
|
|
8269 |
POWERPC_DEF("745_v2.5", CPU_POWERPC_7x5_v25, 745),
|
|
7790 | 8270 |
/* PowerPC 755 v2.5 */ |
7791 |
POWERPC_DEF("755_v2.5", CPU_POWERPC_7x5_v25, 7x5),
|
|
8271 |
POWERPC_DEF("755_v2.5", CPU_POWERPC_7x5_v25, 755),
|
|
7792 | 8272 |
/* PowerPC 745 v2.6 */ |
7793 |
POWERPC_DEF("745_v2.6", CPU_POWERPC_7x5_v26, 7x5),
|
|
8273 |
POWERPC_DEF("745_v2.6", CPU_POWERPC_7x5_v26, 745),
|
|
7794 | 8274 |
/* PowerPC 755 v2.6 */ |
7795 |
POWERPC_DEF("755_v2.6", CPU_POWERPC_7x5_v26, 7x5),
|
|
8275 |
POWERPC_DEF("755_v2.6", CPU_POWERPC_7x5_v26, 755),
|
|
7796 | 8276 |
/* PowerPC 745 v2.7 */ |
7797 |
POWERPC_DEF("745_v2.7", CPU_POWERPC_7x5_v27, 7x5),
|
|
8277 |
POWERPC_DEF("745_v2.7", CPU_POWERPC_7x5_v27, 745),
|
|
7798 | 8278 |
/* PowerPC 755 v2.7 */ |
7799 |
POWERPC_DEF("755_v2.7", CPU_POWERPC_7x5_v27, 7x5),
|
|
8279 |
POWERPC_DEF("755_v2.7", CPU_POWERPC_7x5_v27, 755),
|
|
7800 | 8280 |
/* PowerPC 745 v2.8 */ |
7801 |
POWERPC_DEF("745_v2.8", CPU_POWERPC_7x5_v28, 7x5),
|
|
8281 |
POWERPC_DEF("745_v2.8", CPU_POWERPC_7x5_v28, 745),
|
|
7802 | 8282 |
/* PowerPC 755 v2.8 */ |
7803 |
POWERPC_DEF("755_v2.8", CPU_POWERPC_7x5_v28, 7x5),
|
|
8283 |
POWERPC_DEF("755_v2.8", CPU_POWERPC_7x5_v28, 755),
|
|
7804 | 8284 |
#if defined (TODO) |
7805 | 8285 |
/* PowerPC 745P (G3) */ |
7806 |
POWERPC_DEF("745p", CPU_POWERPC_7x5P, 7x5),
|
|
8286 |
POWERPC_DEF("745p", CPU_POWERPC_7x5P, 745),
|
|
7807 | 8287 |
/* PowerPC 755P (G3) */ |
7808 |
POWERPC_DEF("755p", CPU_POWERPC_7x5P, 7x5),
|
|
8288 |
POWERPC_DEF("755p", CPU_POWERPC_7x5P, 755),
|
|
7809 | 8289 |
#endif |
7810 | 8290 |
/* PowerPC 74xx family */ |
7811 | 8291 |
/* PowerPC 7400 (G4) */ |
Also available in: Unified diff