hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/mips/kernel/r4k_fpu.S
....@@ -41,7 +41,7 @@
4141 LEAF(_save_fp)
4242 EXPORT_SYMBOL(_save_fp)
4343 #if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPSR2) || \
44
- defined(CONFIG_CPU_MIPSR6)
44
+ defined(CONFIG_CPU_MIPSR5) || defined(CONFIG_CPU_MIPSR6)
4545 mfc0 t0, CP0_STATUS
4646 #endif
4747 fpu_save_double a0 t0 t1 # clobbers t1
....@@ -53,7 +53,7 @@
5353 */
5454 LEAF(_restore_fp)
5555 #if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPSR2) || \
56
- defined(CONFIG_CPU_MIPSR6)
56
+ defined(CONFIG_CPU_MIPSR5) || defined(CONFIG_CPU_MIPSR6)
5757 mfc0 t0, CP0_STATUS
5858 #endif
5959 fpu_restore_double a0 t0 t1 # clobbers t1
....@@ -86,150 +86,6 @@
8686
8787 #endif
8888
89
-/*
90
- * Load the FPU with signalling NANS. This bit pattern we're using has
91
- * the property that no matter whether considered as single or as double
92
- * precision represents signaling NANS.
93
- *
94
- * The value to initialize fcr31 to comes in $a0.
95
- */
96
-
97
- .set push
98
- SET_HARDFLOAT
99
-
100
-LEAF(_init_fpu)
101
- mfc0 t0, CP0_STATUS
102
- li t1, ST0_CU1
103
- or t0, t1
104
- mtc0 t0, CP0_STATUS
105
- enable_fpu_hazard
106
-
107
- ctc1 a0, fcr31
108
-
109
- li t1, -1 # SNaN
110
-
111
-#ifdef CONFIG_64BIT
112
- sll t0, t0, 5
113
- bgez t0, 1f # 16 / 32 register mode?
114
-
115
- dmtc1 t1, $f1
116
- dmtc1 t1, $f3
117
- dmtc1 t1, $f5
118
- dmtc1 t1, $f7
119
- dmtc1 t1, $f9
120
- dmtc1 t1, $f11
121
- dmtc1 t1, $f13
122
- dmtc1 t1, $f15
123
- dmtc1 t1, $f17
124
- dmtc1 t1, $f19
125
- dmtc1 t1, $f21
126
- dmtc1 t1, $f23
127
- dmtc1 t1, $f25
128
- dmtc1 t1, $f27
129
- dmtc1 t1, $f29
130
- dmtc1 t1, $f31
131
-1:
132
-#endif
133
-
134
-#ifdef CONFIG_CPU_MIPS32
135
- mtc1 t1, $f0
136
- mtc1 t1, $f1
137
- mtc1 t1, $f2
138
- mtc1 t1, $f3
139
- mtc1 t1, $f4
140
- mtc1 t1, $f5
141
- mtc1 t1, $f6
142
- mtc1 t1, $f7
143
- mtc1 t1, $f8
144
- mtc1 t1, $f9
145
- mtc1 t1, $f10
146
- mtc1 t1, $f11
147
- mtc1 t1, $f12
148
- mtc1 t1, $f13
149
- mtc1 t1, $f14
150
- mtc1 t1, $f15
151
- mtc1 t1, $f16
152
- mtc1 t1, $f17
153
- mtc1 t1, $f18
154
- mtc1 t1, $f19
155
- mtc1 t1, $f20
156
- mtc1 t1, $f21
157
- mtc1 t1, $f22
158
- mtc1 t1, $f23
159
- mtc1 t1, $f24
160
- mtc1 t1, $f25
161
- mtc1 t1, $f26
162
- mtc1 t1, $f27
163
- mtc1 t1, $f28
164
- mtc1 t1, $f29
165
- mtc1 t1, $f30
166
- mtc1 t1, $f31
167
-
168
-#if defined(CONFIG_CPU_MIPS32_R2) || defined(CONFIG_CPU_MIPS32_R6)
169
- .set push
170
- .set MIPS_ISA_LEVEL_RAW
171
- .set fp=64
172
- sll t0, t0, 5 # is Status.FR set?
173
- bgez t0, 1f # no: skip setting upper 32b
174
-
175
- mthc1 t1, $f0
176
- mthc1 t1, $f1
177
- mthc1 t1, $f2
178
- mthc1 t1, $f3
179
- mthc1 t1, $f4
180
- mthc1 t1, $f5
181
- mthc1 t1, $f6
182
- mthc1 t1, $f7
183
- mthc1 t1, $f8
184
- mthc1 t1, $f9
185
- mthc1 t1, $f10
186
- mthc1 t1, $f11
187
- mthc1 t1, $f12
188
- mthc1 t1, $f13
189
- mthc1 t1, $f14
190
- mthc1 t1, $f15
191
- mthc1 t1, $f16
192
- mthc1 t1, $f17
193
- mthc1 t1, $f18
194
- mthc1 t1, $f19
195
- mthc1 t1, $f20
196
- mthc1 t1, $f21
197
- mthc1 t1, $f22
198
- mthc1 t1, $f23
199
- mthc1 t1, $f24
200
- mthc1 t1, $f25
201
- mthc1 t1, $f26
202
- mthc1 t1, $f27
203
- mthc1 t1, $f28
204
- mthc1 t1, $f29
205
- mthc1 t1, $f30
206
- mthc1 t1, $f31
207
-1: .set pop
208
-#endif /* CONFIG_CPU_MIPS32_R2 || CONFIG_CPU_MIPS32_R6 */
209
-#else
210
- .set MIPS_ISA_ARCH_LEVEL_RAW
211
- dmtc1 t1, $f0
212
- dmtc1 t1, $f2
213
- dmtc1 t1, $f4
214
- dmtc1 t1, $f6
215
- dmtc1 t1, $f8
216
- dmtc1 t1, $f10
217
- dmtc1 t1, $f12
218
- dmtc1 t1, $f14
219
- dmtc1 t1, $f16
220
- dmtc1 t1, $f18
221
- dmtc1 t1, $f20
222
- dmtc1 t1, $f22
223
- dmtc1 t1, $f24
224
- dmtc1 t1, $f26
225
- dmtc1 t1, $f28
226
- dmtc1 t1, $f30
227
-#endif
228
- jr ra
229
- END(_init_fpu)
230
-
231
- .set pop /* SET_HARDFLOAT */
232
-
23389 .set noreorder
23490
23591 /**
....@@ -247,10 +103,10 @@
247103 .set pop
248104
249105 #if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPSR2) || \
250
- defined(CONFIG_CPU_MIPSR6)
106
+ defined(CONFIG_CPU_MIPSR5) || defined(CONFIG_CPU_MIPSR6)
251107 .set push
252108 SET_HARDFLOAT
253
-#ifdef CONFIG_CPU_MIPSR2
109
+#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR5)
254110 .set mips32r2
255111 .set fp=64
256112 mfc0 t0, CP0_STATUS
....@@ -314,11 +170,11 @@
314170 LEAF(_restore_fp_context)
315171 EX lw t1, 0(a1)
316172
317
-#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPSR2) || \
318
- defined(CONFIG_CPU_MIPSR6)
173
+#if defined(CONFIG_64BIT) || defined(CONFIG_CPU_MIPSR2) || \
174
+ defined(CONFIG_CPU_MIPSR5) || defined(CONFIG_CPU_MIPSR6)
319175 .set push
320176 SET_HARDFLOAT
321
-#ifdef CONFIG_CPU_MIPSR2
177
+#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR5)
322178 .set mips32r2
323179 .set fp=64
324180 mfc0 t0, CP0_STATUS