Revision 5a5012ec target-mips/translate_init.c
b/target-mips/translate_init.c | ||
---|---|---|
55 | 55 |
|
56 | 56 |
/* Define a implementation number of 1. |
57 | 57 |
Define a major version 1, minor version 0. */ |
58 |
#define MIPS_FCR0 ((0 << 16) | (1 << 8) | (1 << 4) | 0)
|
|
58 |
#define MIPS_FCR0 ((0 << FCR0_S) | (0x1 << FCR0_PRID) | (0x10 << FCR0_REV))
|
|
59 | 59 |
|
60 | 60 |
|
61 | 61 |
struct mips_def_t { |
... | ... | |
69 | 69 |
int32_t CP0_Config7; |
70 | 70 |
int32_t SYNCI_Step; |
71 | 71 |
int32_t CCRes; |
72 |
int32_t Status_rw_bitmask; |
|
72 | 73 |
int32_t CP1_fcr0; |
73 | 74 |
}; |
74 | 75 |
|
... | ... | |
86 | 87 |
.CP0_Config3 = MIPS_CONFIG3, |
87 | 88 |
.SYNCI_Step = 32, |
88 | 89 |
.CCRes = 2, |
89 |
.CP1_fcr0 = MIPS_FCR0,
|
|
90 |
.Status_rw_bitmask = 0x3278FF17,
|
|
90 | 91 |
}, |
91 | 92 |
{ |
92 | 93 |
.name = "4KEcR1", |
... | ... | |
97 | 98 |
.CP0_Config3 = MIPS_CONFIG3, |
98 | 99 |
.SYNCI_Step = 32, |
99 | 100 |
.CCRes = 2, |
100 |
.CP1_fcr0 = MIPS_FCR0, |
|
101 | 101 |
}, |
102 | 102 |
{ |
103 | 103 |
.name = "4KEc", |
... | ... | |
108 | 108 |
.CP0_Config3 = MIPS_CONFIG3, |
109 | 109 |
.SYNCI_Step = 32, |
110 | 110 |
.CCRes = 2, |
111 |
.CP1_fcr0 = MIPS_FCR0,
|
|
111 |
.Status_rw_bitmask = 0x3278FF17,
|
|
112 | 112 |
}, |
113 | 113 |
{ |
114 | 114 |
.name = "24Kc", |
... | ... | |
119 | 119 |
.CP0_Config3 = MIPS_CONFIG3, |
120 | 120 |
.SYNCI_Step = 32, |
121 | 121 |
.CCRes = 2, |
122 |
.CP1_fcr0 = MIPS_FCR0,
|
|
122 |
.Status_rw_bitmask = 0x3278FF17,
|
|
123 | 123 |
}, |
124 | 124 |
{ |
125 | 125 |
.name = "24Kf", |
... | ... | |
130 | 130 |
.CP0_Config3 = MIPS_CONFIG3, |
131 | 131 |
.SYNCI_Step = 32, |
132 | 132 |
.CCRes = 2, |
133 |
.CP1_fcr0 = MIPS_FCR0, |
|
133 |
.Status_rw_bitmask = 0x3678FF17, |
|
134 |
.CP1_fcr0 = (1 << FCR0_F64) | (1 << FCR0_L) | (1 << FCR0_W) | |
|
135 |
(1 << FCR0_D) | (1 << FCR0_S) | (0x93 << FCR0_PRID), |
|
134 | 136 |
}, |
135 | 137 |
#else |
136 | 138 |
{ |
... | ... | |
142 | 144 |
.CP0_Config3 = MIPS_CONFIG3, |
143 | 145 |
.SYNCI_Step = 16, |
144 | 146 |
.CCRes = 2, |
145 |
.CP1_fcr0 = MIPS_FCR0, |
|
147 |
.Status_rw_bitmask = 0x3678FFFF, |
|
148 |
.CP1_fcr0 = (1 << FCR0_F64) | (1 << FCR0_L) | (1 << FCR0_W) | |
|
149 |
(1 << FCR0_D) | (1 << FCR0_S) | |
|
150 |
(0x4 << FCR0_PRID) | (0x0 << FCR0_REV), |
|
146 | 151 |
}, |
147 | 152 |
#endif |
148 | 153 |
}; |
... | ... | |
191 | 196 |
env->CP0_Config7 = def->CP0_Config7; |
192 | 197 |
env->SYNCI_Step = def->SYNCI_Step; |
193 | 198 |
env->CCRes = def->CCRes; |
199 |
env->Status_rw_bitmask = def->Status_rw_bitmask; |
|
194 | 200 |
env->fcr0 = def->CP1_fcr0; |
195 | 201 |
#if defined (MIPS_USES_R4K_TLB) |
196 | 202 |
env->nb_tlb = 1 + ((def->CP0_Config1 >> CP0C1_MMU) & 63); |
Also available in: Unified diff