Revision 363be49c target-ppc/cpu.h

b/target-ppc/cpu.h
514 514
/* Default PowerPC will be 604/970 */
515 515
#define PPC_INSNS_PPC32 PPC_INSNS_604
516 516
#define PPC_FLAGS_PPC32 PPC_FLAGS_604
517
#if 1
518 517
#define PPC_INSNS_PPC64 PPC_INSNS_970
519 518
#define PPC_FLAGS_PPC64 PPC_FLAGS_970
520
#endif
521 519
#define PPC_INSNS_DEFAULT PPC_INSNS_604
522 520
#define PPC_FLAGS_DEFAULT PPC_FLAGS_604
523 521
typedef struct ppc_def_t ppc_def_t;
......
562 560
#define MSR_SF   63 /* Sixty-four-bit mode                            hflags */
563 561
#define MSR_ISF  61 /* Sixty-four-bit interrupt mode on 630                  */
564 562
#define MSR_HV   60 /* hypervisor state                               hflags */
565
#define MSR_UCLE 26 /* User-mode cache lock enable on e500                   */
563
#define MSR_CM   31 /* Computation mode for BookE                     hflags */
564
#define MSR_ICM  30 /* Interrupt computation mode for BookE                  */
565
#define MSR_UCLE 26 /* User-mode cache lock enable for BookE                 */
566 566
#define MSR_VR   25 /* altivec available                              hflags */
567
#define MSR_SPE  25 /* SPE enable on e500                             hflags */
567
#define MSR_SPE  25 /* SPE enable for BookE                           hflags */
568 568
#define MSR_AP   23 /* Access privilege state on 602                  hflags */
569 569
#define MSR_SA   22 /* Supervisor access mode on 602                  hflags */
570 570
#define MSR_KEY  19 /* key bit on 603e                                       */
......
600 600
#define msr_sf   env->msr[MSR_SF]
601 601
#define msr_isf  env->msr[MSR_ISF]
602 602
#define msr_hv   env->msr[MSR_HV]
603
#define msr_cm   env->msr[MSR_CM]
604
#define msr_icm  env->msr[MSR_ICM]
603 605
#define msr_ucle env->msr[MSR_UCLE]
604 606
#define msr_vr   env->msr[MSR_VR]
605 607
#define msr_spe  env->msr[MSR_SPE]
......
724 726
    int nb_ways;     /* Number of ways in the TLB set                        */
725 727
    int last_way;    /* Last used way used to allocate TLB in a LRU way      */
726 728
    int id_tlbs;     /* If 1, MMU has separated TLBs for instructions & data */
729
    int nb_pids;     /* Number of available PID registers                    */
727 730
    ppc_tlb_t *tlb;  /* TLB is optional. Allocate them only if needed        */
728 731
    /* Callbacks for specific checks on some implementations */
729 732
    int (*tlb_check_more)(CPUPPCState *env, struct ppc_tlb_t *tlb, int *prot,
......
874 877
#define SPR_SRR1         (0x01B)
875 878
#define SPR_BOOKE_PID    (0x030)
876 879
#define SPR_BOOKE_DECAR  (0x036)
877
#define SPR_CSRR0        (0x03A)
878
#define SPR_CSRR1        (0x03B)
880
#define SPR_BOOKE_CSRR0  (0x03A)
881
#define SPR_BOOKE_CSRR1  (0x03B)
879 882
#define SPR_BOOKE_DEAR   (0x03D)
880 883
#define SPR_BOOKE_ESR    (0x03E)
881
#define SPR_BOOKE_EVPR   (0x03F)
884
#define SPR_BOOKE_IVPR   (0x03F)
882 885
#define SPR_8xx_EIE      (0x050)
883 886
#define SPR_8xx_EID      (0x051)
884 887
#define SPR_8xx_NRE      (0x052)
......
900 903
#define SPR_58x_BAR      (0x09F)
901 904
#define SPR_VRSAVE       (0x100)
902 905
#define SPR_USPRG0       (0x100)
906
#define SPR_USPRG1       (0x101)
907
#define SPR_USPRG2       (0x102)
908
#define SPR_USPRG3       (0x103)
903 909
#define SPR_USPRG4       (0x104)
904 910
#define SPR_USPRG5       (0x105)
905 911
#define SPR_USPRG6       (0x106)
......
973 979
#define SPR_BOOKE_ATBL   (0x20E)
974 980
#define SPR_BOOKE_ATBU   (0x20F)
975 981
#define SPR_IBAT0U       (0x210)
976
#define SPR_E500_IVOR32  (0x210)
982
#define SPR_BOOKE_IVOR32 (0x210)
977 983
#define SPR_IBAT0L       (0x211)
978
#define SPR_E500_IVOR33  (0x211)
984
#define SPR_BOOKE_IVOR33 (0x211)
979 985
#define SPR_IBAT1U       (0x212)
980
#define SPR_E500_IVOR34  (0x212)
986
#define SPR_BOOKE_IVOR34 (0x212)
981 987
#define SPR_IBAT1L       (0x213)
982
#define SPR_E500_IVOR35  (0x213)
988
#define SPR_BOOKE_IVOR35 (0x213)
983 989
#define SPR_IBAT2U       (0x214)
990
#define SPR_BOOKE_IVOR36 (0x214)
984 991
#define SPR_IBAT2L       (0x215)
985 992
#define SPR_E500_L1CFG0  (0x215)
993
#define SPR_BOOKE_IVOR37 (0x215)
986 994
#define SPR_IBAT3U       (0x216)
987 995
#define SPR_E500_L1CFG1  (0x216)
988 996
#define SPR_IBAT3L       (0x217)
......
1005 1013
#define SPR_DBAT4U       (0x238)
1006 1014
#define SPR_DBAT4L       (0x239)
1007 1015
#define SPR_DBAT5U       (0x23A)
1008
#define SPR_E500_MCSRR0  (0x23A)
1016
#define SPR_BOOKE_MCSRR0 (0x23A)
1009 1017
#define SPR_DBAT5L       (0x23B)
1010
#define SPR_E500_MCSRR1  (0x23B)
1018
#define SPR_BOOKE_MCSRR1 (0x23B)
1011 1019
#define SPR_DBAT6U       (0x23C)
1012
#define SPR_E500_MCSR    (0x23C)
1020
#define SPR_BOOKE_MCSR   (0x23C)
1013 1021
#define SPR_DBAT6L       (0x23D)
1014 1022
#define SPR_E500_MCAR    (0x23D)
1015 1023
#define SPR_DBAT7U       (0x23E)
1024
#define SPR_BOOKE_DSRR0  (0x23E)
1016 1025
#define SPR_DBAT7L       (0x23F)
1017
#define SPR_E500_MAS0    (0x270)
1018
#define SPR_E500_MAS1    (0x271)
1019
#define SPR_E500_MAS2    (0x272)
1020
#define SPR_E500_MAS3    (0x273)
1021
#define SPR_E500_MAS4    (0x274)
1022
#define SPR_E500_MAS6    (0x276)
1023
#define SPR_E500_PID1    (0x279)
1024
#define SPR_E500_PID2    (0x27A)
1025
#define SPR_E500_TLB0CFG (0x2B0)
1026
#define SPR_E500_TLB1CFG (0x2B1)
1026
#define SPR_BOOKE_DSRR1  (0x23F)
1027
#define SPR_BOOKE_SPRG8  (0x25C)
1028
#define SPR_BOOKE_SPRG9  (0x25D)
1029
#define SPR_BOOKE_MAS0   (0x270)
1030
#define SPR_BOOKE_MAS1   (0x271)
1031
#define SPR_BOOKE_MAS2   (0x272)
1032
#define SPR_BOOKE_MAS3   (0x273)
1033
#define SPR_BOOKE_MAS4   (0x274)
1034
#define SPR_BOOKE_MAS6   (0x276)
1035
#define SPR_BOOKE_PID1   (0x279)
1036
#define SPR_BOOKE_PID2   (0x27A)
1037
#define SPR_BOOKE_TLB0CFG (0x2B0)
1038
#define SPR_BOOKE_TLB1CFG (0x2B1)
1039
#define SPR_BOOKE_TLB2CFG (0x2B2)
1040
#define SPR_BOOKE_TLB3CFG (0x2B3)
1041
#define SPR_BOOKE_EPR    (0x2BE)
1027 1042
#define SPR_440_INV0     (0x370)
1028 1043
#define SPR_440_INV1     (0x371)
1029 1044
#define SPR_440_INV2     (0x372)
......
1043 1058
#define SPR_440_DVLIM    (0x398)
1044 1059
#define SPR_440_IVLIM    (0x399)
1045 1060
#define SPR_440_RSTCFG   (0x39B)
1046
#define SPR_440_DCBTRL   (0x39C)
1047
#define SPR_440_DCBTRH   (0x39D)
1048
#define SPR_440_ICBTRL   (0x39E)
1049
#define SPR_440_ICBTRH   (0x39F)
1061
#define SPR_BOOKE_DCBTRL (0x39C)
1062
#define SPR_BOOKE_DCBTRH (0x39D)
1063
#define SPR_BOOKE_ICBTRL (0x39E)
1064
#define SPR_BOOKE_ICBTRH (0x39F)
1050 1065
#define SPR_UMMCR0       (0x3A8)
1051 1066
#define SPR_UPMC1        (0x3A9)
1052 1067
#define SPR_UPMC2        (0x3AA)
......
1056 1071
#define SPR_UPMC4        (0x3AE)
1057 1072
#define SPR_USDA         (0x3AF)
1058 1073
#define SPR_40x_ZPR      (0x3B0)
1059
#define SPR_E500_MAS7    (0x3B0)
1074
#define SPR_BOOKE_MAS7   (0x3B0)
1060 1075
#define SPR_40x_PID      (0x3B1)
1061 1076
#define SPR_440_MMUCR    (0x3B2)
1062 1077
#define SPR_4xx_CCR0     (0x3B3)
1078
#define SPR_BOOKE_EPLC   (0x3B3)
1063 1079
#define SPR_405_IAC3     (0x3B4)
1080
#define SPR_BOOKE_EPSC   (0x3B4)
1064 1081
#define SPR_405_IAC4     (0x3B5)
1065 1082
#define SPR_405_DVC1     (0x3B6)
1066 1083
#define SPR_405_DVC2     (0x3B7)
......
1083 1100
#define SPR_DCMP         (0x3D1)
1084 1101
#define SPR_HASH1        (0x3D2)
1085 1102
#define SPR_HASH2        (0x3D3)
1086
#define SPR_4xx_ICDBDR   (0x3D3)
1103
#define SPR_BOOKE_ICBDR  (0x3D3)
1087 1104
#define SPR_IMISS        (0x3D4)
1088 1105
#define SPR_40x_ESR      (0x3D4)
1089 1106
#define SPR_ICMP         (0x3D5)
......
1114 1131
#define SPR_E500_L1CSR1  (0x3F3)
1115 1132
#define SPR_440_DBDR     (0x3F3)
1116 1133
#define SPR_40x_IAC1     (0x3F4)
1117
#define SPR_E500_MMUCSR0 (0x3F4)
1134
#define SPR_BOOKE_MMUCSR0 (0x3F4)
1118 1135
#define SPR_DABR         (0x3F5)
1119 1136
#define DABR_MASK (~(target_ulong)0x7)
1120 1137
#define SPR_E500_BUCSR   (0x3F5)
......
1122 1139
#define SPR_601_HID5     (0x3F5)
1123 1140
#define SPR_40x_DAC1     (0x3F6)
1124 1141
#define SPR_40x_DAC2     (0x3F7)
1125
#define SPR_E500_MMUCFG  (0x3F7)
1142
#define SPR_BOOKE_MMUCFG (0x3F7)
1126 1143
#define SPR_L2PM         (0x3F8)
1127 1144
#define SPR_750_HID2     (0x3F8)
1128 1145
#define SPR_L2CR         (0x3F9)

Also available in: Unified diff