Revision 05332d70 target-ppc/translate_init.c
b/target-ppc/translate_init.c | ||
---|---|---|
2648 | 2648 |
/* PowerPC implementations definitions */ |
2649 | 2649 |
|
2650 | 2650 |
/* PowerPC 40x instruction set */ |
2651 |
#define POWERPC_INSNS_EMB (PPC_INSNS_BASE | PPC_EMB_COMMON | \
|
|
2651 |
#define POWERPC_INSNS_EMB (PPC_INSNS_BASE | PPC_WRTEE | \
|
|
2652 | 2652 |
PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ) |
2653 | 2653 |
|
2654 | 2654 |
/* PowerPC 401 */ |
2655 |
#define POWERPC_INSNS_401 (POWERPC_INSNS_EMB | \
|
|
2655 |
#define POWERPC_INSNS_401 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2656 | 2656 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
2657 | 2657 |
PPC_4xx_COMMON | PPC_40x_EXCP | PPC_40x_ICBT) |
2658 | 2658 |
#define POWERPC_MSRM_401 (0x00000000000FD201ULL) |
... | ... | |
2676 | 2676 |
} |
2677 | 2677 |
|
2678 | 2678 |
/* PowerPC 401x2 */ |
2679 |
#define POWERPC_INSNS_401x2 (POWERPC_INSNS_EMB | \
|
|
2679 |
#define POWERPC_INSNS_401x2 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2680 | 2680 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
2681 | 2681 |
PPC_40x_TLB | PPC_MEM_TLBIA | PPC_MEM_TLBSYNC | \ |
2682 | 2682 |
PPC_CACHE_DCBA | PPC_MFTB | \ |
... | ... | |
2709 | 2709 |
} |
2710 | 2710 |
|
2711 | 2711 |
/* PowerPC 401x3 */ |
2712 |
#define POWERPC_INSNS_401x3 (POWERPC_INSNS_EMB | \
|
|
2712 |
#define POWERPC_INSNS_401x3 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2713 | 2713 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
2714 | 2714 |
PPC_40x_TLB | PPC_MEM_TLBIA | PPC_MEM_TLBSYNC | \ |
2715 | 2715 |
PPC_CACHE_DCBA | PPC_MFTB | \ |
... | ... | |
2738 | 2738 |
} |
2739 | 2739 |
|
2740 | 2740 |
/* IOP480 */ |
2741 |
#define POWERPC_INSNS_IOP480 (POWERPC_INSNS_EMB | \
|
|
2741 |
#define POWERPC_INSNS_IOP480 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2742 | 2742 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
2743 | 2743 |
PPC_40x_TLB | PPC_MEM_TLBIA | PPC_MEM_TLBSYNC | \ |
2744 | 2744 |
PPC_CACHE_DCBA | \ |
... | ... | |
2771 | 2771 |
} |
2772 | 2772 |
|
2773 | 2773 |
/* PowerPC 403 */ |
2774 |
#define POWERPC_INSNS_403 (POWERPC_INSNS_EMB | \
|
|
2774 |
#define POWERPC_INSNS_403 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2775 | 2775 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
2776 | 2776 |
PPC_4xx_COMMON | PPC_40x_EXCP | PPC_40x_ICBT) |
2777 | 2777 |
#define POWERPC_MSRM_403 (0x000000000007D00DULL) |
... | ... | |
2800 | 2800 |
} |
2801 | 2801 |
|
2802 | 2802 |
/* PowerPC 403 GCX */ |
2803 |
#define POWERPC_INSNS_403GCX (POWERPC_INSNS_EMB | \
|
|
2803 |
#define POWERPC_INSNS_403GCX (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2804 | 2804 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | \ |
2805 | 2805 |
PPC_40x_TLB | PPC_MEM_TLBIA | PPC_MEM_TLBSYNC | \ |
2806 | 2806 |
PPC_4xx_COMMON | PPC_40x_EXCP | PPC_40x_ICBT) |
... | ... | |
2844 | 2844 |
} |
2845 | 2845 |
|
2846 | 2846 |
/* PowerPC 405 */ |
2847 |
#define POWERPC_INSNS_405 (POWERPC_INSNS_EMB | PPC_MFTB | \ |
|
2847 |
#define POWERPC_INSNS_405 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \ |
|
2848 |
PPC_MFTB | \ |
|
2848 | 2849 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | PPC_CACHE_DCBA | \ |
2849 | 2850 |
PPC_40x_TLB | PPC_MEM_TLBIA | PPC_MEM_TLBSYNC | \ |
2850 | 2851 |
PPC_4xx_COMMON | PPC_40x_EXCP | PPC_40x_ICBT | \ |
... | ... | |
2889 | 2890 |
} |
2890 | 2891 |
|
2891 | 2892 |
/* PowerPC 440 EP */ |
2892 |
#define POWERPC_INSNS_440EP (POWERPC_INSNS_EMB | \
|
|
2893 |
#define POWERPC_INSNS_440EP (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2893 | 2894 |
PPC_CACHE_DCBA | PPC_MEM_TLBSYNC | \ |
2894 | 2895 |
PPC_BOOKE | PPC_4xx_COMMON | PPC_405_MAC | \ |
2895 | 2896 |
PPC_440_SPEC | PPC_RFMCI) |
... | ... | |
2939 | 2940 |
} |
2940 | 2941 |
|
2941 | 2942 |
/* PowerPC 440 GP */ |
2942 |
#define POWERPC_INSNS_440GP (POWERPC_INSNS_EMB | \ |
|
2943 |
#define POWERPC_INSNS_440GP (POWERPC_INSNS_EMB | PPC_STRING | \ |
|
2944 |
PPC_DCR | PPC_DCRX | \ |
|
2943 | 2945 |
PPC_CACHE_DCBA | PPC_MEM_TLBSYNC | \ |
2944 |
PPC_BOOKE | PPC_BOOKE_EXT | PPC_4xx_COMMON | \
|
|
2945 |
PPC_405_MAC | PPC_440_SPEC) |
|
2946 |
PPC_BOOKE | PPC_MFAPIDI | PPC_TLBIVA | \
|
|
2947 |
PPC_4xx_COMMON | PPC_405_MAC | PPC_440_SPEC)
|
|
2946 | 2948 |
#define POWERPC_MSRM_440GP (0x000000000006FF30ULL) |
2947 | 2949 |
#define POWERPC_MMU_440GP (POWERPC_MMU_BOOKE) |
2948 | 2950 |
#define POWERPC_EXCP_440GP (POWERPC_EXCP_BOOKE) |
... | ... | |
2971 | 2973 |
} |
2972 | 2974 |
|
2973 | 2975 |
/* PowerPC 440x4 */ |
2974 |
#define POWERPC_INSNS_440x4 (POWERPC_INSNS_EMB | \
|
|
2976 |
#define POWERPC_INSNS_440x4 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
2975 | 2977 |
PPC_CACHE_DCBA | PPC_MEM_TLBSYNC | \ |
2976 | 2978 |
PPC_BOOKE | PPC_4xx_COMMON | PPC_405_MAC | \ |
2977 | 2979 |
PPC_440_SPEC) |
... | ... | |
3004 | 3006 |
} |
3005 | 3007 |
|
3006 | 3008 |
/* PowerPC 440x5 */ |
3007 |
#define POWERPC_INSNS_440x5 (POWERPC_INSNS_EMB | \
|
|
3009 |
#define POWERPC_INSNS_440x5 (POWERPC_INSNS_EMB | PPC_STRING | PPC_DCR | \
|
|
3008 | 3010 |
PPC_CACHE_DCBA | PPC_MEM_TLBSYNC | \ |
3009 | 3011 |
PPC_BOOKE | PPC_4xx_COMMON | PPC_405_MAC | \ |
3010 | 3012 |
PPC_440_SPEC | PPC_RFMCI) |
... | ... | |
3054 | 3056 |
} |
3055 | 3057 |
|
3056 | 3058 |
/* PowerPC 460 (guessed) */ |
3057 |
#define POWERPC_INSNS_460 (POWERPC_INSNS_EMB | \ |
|
3059 |
#define POWERPC_INSNS_460 (POWERPC_INSNS_EMB | PPC_STRING | \ |
|
3060 |
PPC_DCR | PPC_DCRX | PPC_DCRUX | \ |
|
3058 | 3061 |
PPC_CACHE_DCBA | PPC_MEM_TLBSYNC | \ |
3059 |
PPC_BOOKE | PPC_BOOKE_EXT | PPC_4xx_COMMON | \
|
|
3060 |
PPC_405_MAC | PPC_440_SPEC | PPC_DCRUX)
|
|
3062 |
PPC_BOOKE | PPC_MFAPIDI | PPC_TLBIVA | \
|
|
3063 |
PPC_4xx_COMMON | PPC_405_MAC | PPC_440_SPEC)
|
|
3061 | 3064 |
#define POWERPC_MSRM_460 (0x000000000006FF30ULL) |
3062 | 3065 |
#define POWERPC_MMU_460 (POWERPC_MMU_BOOKE) |
3063 | 3066 |
#define POWERPC_EXCP_460 (POWERPC_EXCP_BOOKE) |
... | ... | |
3110 | 3113 |
} |
3111 | 3114 |
|
3112 | 3115 |
/* PowerPC 460F (guessed) */ |
3113 |
#define POWERPC_INSNS_460F (POWERPC_INSNS_EMB | \ |
|
3116 |
#define POWERPC_INSNS_460F (POWERPC_INSNS_EMB | PPC_STRING | \ |
|
3117 |
PPC_DCR | PPC_DCRX | PPC_DCRUX | \ |
|
3114 | 3118 |
PPC_CACHE_DCBA | PPC_MEM_TLBSYNC | \ |
3115 | 3119 |
PPC_FLOAT | PPC_FLOAT_FSQRT | PPC_FLOAT_FRES | \ |
3116 | 3120 |
PPC_FLOAT_FRSQRTE | PPC_FLOAT_FSEL | \ |
3117 | 3121 |
PPC_FLOAT_STFIWX | \ |
3118 |
PPC_BOOKE | PPC_BOOKE_EXT | PPC_4xx_COMMON | \
|
|
3119 |
PPC_405_MAC | PPC_440_SPEC | PPC_DCRUX)
|
|
3122 |
PPC_BOOKE | PPC_MFAPIDI | PPC_TLBIVA | \
|
|
3123 |
PPC_4xx_COMMON | PPC_405_MAC | PPC_440_SPEC)
|
|
3120 | 3124 |
#define POWERPC_MSRM_460 (0x000000000006FF30ULL) |
3121 | 3125 |
#define POWERPC_MMU_460F (POWERPC_MMU_BOOKE) |
3122 | 3126 |
#define POWERPC_EXCP_460F (POWERPC_EXCP_BOOKE) |
... | ... | |
3231 | 3235 |
|
3232 | 3236 |
/* Non-embedded PowerPC */ |
3233 | 3237 |
/* Base instructions set for all 6xx/7xx/74xx/970 PowerPC */ |
3234 |
#define POWERPC_INSNS_6xx (PPC_INSNS_BASE | PPC_FLOAT | \
|
|
3238 |
#define POWERPC_INSNS_6xx (PPC_INSNS_BASE | PPC_STRING | PPC_FLOAT | \
|
|
3235 | 3239 |
PPC_CACHE | PPC_CACHE_ICBI | \ |
3236 | 3240 |
PPC_MEM_SYNC | PPC_MEM_EIEIO | PPC_MEM_TLBIE) |
3237 | 3241 |
/* Instructions common to all 6xx/7xx/74xx/970 PowerPC except 601 & 602 */ |
Also available in: Unified diff