Commit ae5d8053a124508650140fc72cccf9f2bd131871
1 parent
c3d2689d
Fix MIPS cache configuration, by Aurelien Jarno.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3092 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
19 additions
and
11 deletions
target-mips/translate_init.c
... | ... | @@ -28,15 +28,11 @@ |
28 | 28 | (0x0 << CP0C0_AT) | (0x0 << CP0C0_AR) | (0x1 << CP0C0_MT) | \ |
29 | 29 | (0x2 << CP0C0_K0)) |
30 | 30 | |
31 | -/* Have config2, 64 sets Icache, 16 bytes Icache line, | |
32 | - 2-way Icache, 64 sets Dcache, 16 bytes Dcache line, 2-way Dcache, | |
33 | - no coprocessor2 attached, no MDMX support attached, | |
31 | +/* Have config2, no coprocessor2 attached, no MDMX support attached, | |
34 | 32 | no performance counters, watch registers present, |
35 | 33 | no code compression, EJTAG present, no FPU */ |
36 | 34 | #define MIPS_CONFIG1 \ |
37 | 35 | ((1 << CP0C1_M) | \ |
38 | - (0x0 << CP0C1_IS) | (0x3 << CP0C1_IL) | (0x1 << CP0C1_IA) | \ | |
39 | - (0x0 << CP0C1_DS) | (0x3 << CP0C1_DL) | (0x1 << CP0C1_DA) | \ | |
40 | 36 | (0 << CP0C1_C2) | (0 << CP0C1_MD) | (0 << CP0C1_PC) | \ |
41 | 37 | (1 << CP0C1_WR) | (0 << CP0C1_CA) | (1 << CP0C1_EP) | \ |
42 | 38 | (0 << CP0C1_FP)) |
... | ... | @@ -82,7 +78,9 @@ static mips_def_t mips_defs[] = |
82 | 78 | .name = "4Kc", |
83 | 79 | .CP0_PRid = 0x00018000, |
84 | 80 | .CP0_Config0 = MIPS_CONFIG0, |
85 | - .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU), | |
81 | + .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | | |
82 | + (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | | |
83 | + (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA), | |
86 | 84 | .CP0_Config2 = MIPS_CONFIG2, |
87 | 85 | .CP0_Config3 = MIPS_CONFIG3, |
88 | 86 | .SYNCI_Step = 32, |
... | ... | @@ -94,7 +92,9 @@ static mips_def_t mips_defs[] = |
94 | 92 | .name = "4KEcR1", |
95 | 93 | .CP0_PRid = 0x00018400, |
96 | 94 | .CP0_Config0 = MIPS_CONFIG0, |
97 | - .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU), | |
95 | + .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | | |
96 | + (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | | |
97 | + (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA), | |
98 | 98 | .CP0_Config2 = MIPS_CONFIG2, |
99 | 99 | .CP0_Config3 = MIPS_CONFIG3, |
100 | 100 | .SYNCI_Step = 32, |
... | ... | @@ -106,7 +106,9 @@ static mips_def_t mips_defs[] = |
106 | 106 | .name = "4KEc", |
107 | 107 | .CP0_PRid = 0x00019000, |
108 | 108 | .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR), |
109 | - .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU), | |
109 | + .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | | |
110 | + (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | | |
111 | + (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA), | |
110 | 112 | .CP0_Config2 = MIPS_CONFIG2, |
111 | 113 | .CP0_Config3 = MIPS_CONFIG3, |
112 | 114 | .SYNCI_Step = 32, |
... | ... | @@ -118,7 +120,9 @@ static mips_def_t mips_defs[] = |
118 | 120 | .name = "24Kc", |
119 | 121 | .CP0_PRid = 0x00019300, |
120 | 122 | .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR), |
121 | - .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU), | |
123 | + .CP0_Config1 = MIPS_CONFIG1 | (15 << CP0C1_MMU) | | |
124 | + (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | | |
125 | + (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA), | |
122 | 126 | .CP0_Config2 = MIPS_CONFIG2, |
123 | 127 | .CP0_Config3 = MIPS_CONFIG3, |
124 | 128 | .SYNCI_Step = 32, |
... | ... | @@ -130,7 +134,9 @@ static mips_def_t mips_defs[] = |
130 | 134 | .name = "24Kf", |
131 | 135 | .CP0_PRid = 0x00019300, |
132 | 136 | .CP0_Config0 = MIPS_CONFIG0 | (0x1 << CP0C0_AR), |
133 | - .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (15 << CP0C1_MMU), | |
137 | + .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (15 << CP0C1_MMU) | | |
138 | + (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | | |
139 | + (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA), | |
134 | 140 | .CP0_Config2 = MIPS_CONFIG2, |
135 | 141 | .CP0_Config3 = MIPS_CONFIG3, |
136 | 142 | .SYNCI_Step = 32, |
... | ... | @@ -145,7 +151,9 @@ static mips_def_t mips_defs[] = |
145 | 151 | .name = "R4000", |
146 | 152 | .CP0_PRid = 0x00000400, |
147 | 153 | .CP0_Config0 = MIPS_CONFIG0 | (0x2 << CP0C0_AT), |
148 | - .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (47 << CP0C1_MMU), | |
154 | + .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (47 << CP0C1_MMU) | | |
155 | + (0 << CP0C1_IS) | (3 << CP0C1_IL) | (1 << CP0C1_IA) | | |
156 | + (0 << CP0C1_DS) | (3 << CP0C1_DL) | (1 << CP0C1_DA), | |
149 | 157 | .CP0_Config2 = MIPS_CONFIG2, |
150 | 158 | .CP0_Config3 = MIPS_CONFIG3, |
151 | 159 | .SYNCI_Step = 16, | ... | ... |