~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/sparc/lib/Memcpy_utils.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef __ASM_MEMCPY_UTILS
  2 #define __ASM_MEMCPY_UTILS
  3 
  4 #include <linux/linkage.h>
  5 #include <asm/asi.h>
  6 #include <asm/visasm.h>
  7 
  8 ENTRY(__restore_asi_fp)
  9         VISExitHalf
 10         retl
 11          wr     %g0, ASI_AIUS, %asi
 12 ENDPROC(__restore_asi_fp)
 13 
 14 ENTRY(__restore_asi)
 15         retl
 16          wr     %g0, ASI_AIUS, %asi
 17 ENDPROC(__restore_asi)
 18 
 19 ENTRY(memcpy_retl_o2)
 20         ba,pt   %xcc, __restore_asi
 21          mov    %o2, %o0
 22 ENDPROC(memcpy_retl_o2)
 23 ENTRY(memcpy_retl_o2_plus_1)
 24         ba,pt   %xcc, __restore_asi
 25          add    %o2, 1, %o0
 26 ENDPROC(memcpy_retl_o2_plus_1)
 27 ENTRY(memcpy_retl_o2_plus_3)
 28         ba,pt   %xcc, __restore_asi
 29          add    %o2, 3, %o0
 30 ENDPROC(memcpy_retl_o2_plus_3)
 31 ENTRY(memcpy_retl_o2_plus_4)
 32         ba,pt   %xcc, __restore_asi
 33          add    %o2, 4, %o0
 34 ENDPROC(memcpy_retl_o2_plus_4)
 35 ENTRY(memcpy_retl_o2_plus_5)
 36         ba,pt   %xcc, __restore_asi
 37          add    %o2, 5, %o0
 38 ENDPROC(memcpy_retl_o2_plus_5)
 39 ENTRY(memcpy_retl_o2_plus_6)
 40         ba,pt   %xcc, __restore_asi
 41          add    %o2, 6, %o0
 42 ENDPROC(memcpy_retl_o2_plus_6)
 43 ENTRY(memcpy_retl_o2_plus_7)
 44         ba,pt   %xcc, __restore_asi
 45          add    %o2, 7, %o0
 46 ENDPROC(memcpy_retl_o2_plus_7)
 47 ENTRY(memcpy_retl_o2_plus_8)
 48         ba,pt   %xcc, __restore_asi
 49          add    %o2, 8, %o0
 50 ENDPROC(memcpy_retl_o2_plus_8)
 51 ENTRY(memcpy_retl_o2_plus_15)
 52         ba,pt   %xcc, __restore_asi
 53          add    %o2, 15, %o0
 54 ENDPROC(memcpy_retl_o2_plus_15)
 55 ENTRY(memcpy_retl_o2_plus_15_8)
 56          add    %o2, 15, %o2
 57         ba,pt   %xcc, __restore_asi
 58          add    %o2, 8, %o0
 59 ENDPROC(memcpy_retl_o2_plus_15_8)
 60 ENTRY(memcpy_retl_o2_plus_16)
 61         ba,pt   %xcc, __restore_asi
 62          add    %o2, 16, %o0
 63 ENDPROC(memcpy_retl_o2_plus_16)
 64 ENTRY(memcpy_retl_o2_plus_24)
 65         ba,pt   %xcc, __restore_asi
 66          add    %o2, 24, %o0
 67 ENDPROC(memcpy_retl_o2_plus_24)
 68 ENTRY(memcpy_retl_o2_plus_31)
 69         ba,pt   %xcc, __restore_asi
 70          add    %o2, 31, %o0
 71 ENDPROC(memcpy_retl_o2_plus_31)
 72 ENTRY(memcpy_retl_o2_plus_32)
 73         ba,pt   %xcc, __restore_asi
 74          add    %o2, 32, %o0
 75 ENDPROC(memcpy_retl_o2_plus_32)
 76 ENTRY(memcpy_retl_o2_plus_31_32)
 77         add     %o2, 31, %o2
 78         ba,pt   %xcc, __restore_asi
 79          add    %o2, 32, %o0
 80 ENDPROC(memcpy_retl_o2_plus_31_32)
 81 ENTRY(memcpy_retl_o2_plus_31_24)
 82         add     %o2, 31, %o2
 83         ba,pt   %xcc, __restore_asi
 84          add    %o2, 24, %o0
 85 ENDPROC(memcpy_retl_o2_plus_31_24)
 86 ENTRY(memcpy_retl_o2_plus_31_16)
 87         add     %o2, 31, %o2
 88         ba,pt   %xcc, __restore_asi
 89          add    %o2, 16, %o0
 90 ENDPROC(memcpy_retl_o2_plus_31_16)
 91 ENTRY(memcpy_retl_o2_plus_31_8)
 92         add     %o2, 31, %o2
 93         ba,pt   %xcc, __restore_asi
 94          add    %o2, 8, %o0
 95 ENDPROC(memcpy_retl_o2_plus_31_8)
 96 ENTRY(memcpy_retl_o2_plus_63)
 97         ba,pt   %xcc, __restore_asi
 98          add    %o2, 63, %o0
 99 ENDPROC(memcpy_retl_o2_plus_63)
100 ENTRY(memcpy_retl_o2_plus_63_64)
101          add    %o2, 63, %o2
102         ba,pt   %xcc, __restore_asi
103          add    %o2, 64, %o0
104 ENDPROC(memcpy_retl_o2_plus_63_64)
105 ENTRY(memcpy_retl_o2_plus_63_56)
106          add    %o2, 63, %o2
107         ba,pt   %xcc, __restore_asi
108          add    %o2, 56, %o0
109 ENDPROC(memcpy_retl_o2_plus_63_56)
110 ENTRY(memcpy_retl_o2_plus_63_48)
111          add    %o2, 63, %o2
112         ba,pt   %xcc, __restore_asi
113          add    %o2, 48, %o0
114 ENDPROC(memcpy_retl_o2_plus_63_48)
115 ENTRY(memcpy_retl_o2_plus_63_40)
116          add    %o2, 63, %o2
117         ba,pt   %xcc, __restore_asi
118          add    %o2, 40, %o0
119 ENDPROC(memcpy_retl_o2_plus_63_40)
120 ENTRY(memcpy_retl_o2_plus_63_32)
121          add    %o2, 63, %o2
122         ba,pt   %xcc, __restore_asi
123          add    %o2, 32, %o0
124 ENDPROC(memcpy_retl_o2_plus_63_32)
125 ENTRY(memcpy_retl_o2_plus_63_24)
126          add    %o2, 63, %o2
127         ba,pt   %xcc, __restore_asi
128          add    %o2, 24, %o0
129 ENDPROC(memcpy_retl_o2_plus_63_24)
130 ENTRY(memcpy_retl_o2_plus_63_16)
131          add    %o2, 63, %o2
132         ba,pt   %xcc, __restore_asi
133          add    %o2, 16, %o0
134 ENDPROC(memcpy_retl_o2_plus_63_16)
135 ENTRY(memcpy_retl_o2_plus_63_8)
136          add    %o2, 63, %o2
137         ba,pt   %xcc, __restore_asi
138          add    %o2, 8, %o0
139 ENDPROC(memcpy_retl_o2_plus_63_8)
140 ENTRY(memcpy_retl_o2_plus_o5)
141         ba,pt   %xcc, __restore_asi
142          add    %o2, %o5, %o0
143 ENDPROC(memcpy_retl_o2_plus_o5)
144 ENTRY(memcpy_retl_o2_plus_o5_plus_1)
145         add     %o5, 1, %o5
146         ba,pt   %xcc, __restore_asi
147          add    %o2, %o5, %o0
148 ENDPROC(memcpy_retl_o2_plus_o5_plus_1)
149 ENTRY(memcpy_retl_o2_plus_o5_plus_4)
150         add     %o5, 4, %o5
151         ba,pt   %xcc, __restore_asi
152          add    %o2, %o5, %o0
153 ENDPROC(memcpy_retl_o2_plus_o5_plus_4)
154 ENTRY(memcpy_retl_o2_plus_o5_plus_8)
155         add     %o5, 8, %o5
156         ba,pt   %xcc, __restore_asi
157          add    %o2, %o5, %o0
158 ENDPROC(memcpy_retl_o2_plus_o5_plus_8)
159 ENTRY(memcpy_retl_o2_plus_o5_plus_16)
160         add     %o5, 16, %o5
161         ba,pt   %xcc, __restore_asi
162          add    %o2, %o5, %o0
163 ENDPROC(memcpy_retl_o2_plus_o5_plus_16)
164 ENTRY(memcpy_retl_o2_plus_o5_plus_24)
165         add     %o5, 24, %o5
166         ba,pt   %xcc, __restore_asi
167          add    %o2, %o5, %o0
168 ENDPROC(memcpy_retl_o2_plus_o5_plus_24)
169 ENTRY(memcpy_retl_o2_plus_o5_plus_32)
170         add     %o5, 32, %o5
171         ba,pt   %xcc, __restore_asi
172          add    %o2, %o5, %o0
173 ENDPROC(memcpy_retl_o2_plus_o5_plus_32)
174 ENTRY(memcpy_retl_o2_plus_o5_64)
175         add     %o5, 32, %o5
176         ba,pt   %xcc, __restore_asi
177          add    %o2, %o5, %o0
178 ENDPROC(memcpy_retl_o2_plus_o5_64)
179 ENTRY(memcpy_retl_o2_plus_g1)
180         ba,pt   %xcc, __restore_asi
181          add    %o2, %g1, %o0
182 ENDPROC(memcpy_retl_o2_plus_g1)
183 ENTRY(memcpy_retl_o2_plus_g1_plus_1)
184         add     %g1, 1, %g1
185         ba,pt   %xcc, __restore_asi
186          add    %o2, %g1, %o0
187 ENDPROC(memcpy_retl_o2_plus_g1_plus_1)
188 ENTRY(memcpy_retl_o2_plus_g1_plus_8)
189         add     %g1, 8, %g1
190         ba,pt   %xcc, __restore_asi
191          add    %o2, %g1, %o0
192 ENDPROC(memcpy_retl_o2_plus_g1_plus_8)
193 ENTRY(memcpy_retl_o2_plus_o4)
194         ba,pt   %xcc, __restore_asi
195          add    %o2, %o4, %o0
196 ENDPROC(memcpy_retl_o2_plus_o4)
197 ENTRY(memcpy_retl_o2_plus_o4_plus_8)
198         add     %o4, 8, %o4
199         ba,pt   %xcc, __restore_asi
200          add    %o2, %o4, %o0
201 ENDPROC(memcpy_retl_o2_plus_o4_plus_8)
202 ENTRY(memcpy_retl_o2_plus_o4_plus_16)
203         add     %o4, 16, %o4
204         ba,pt   %xcc, __restore_asi
205          add    %o2, %o4, %o0
206 ENDPROC(memcpy_retl_o2_plus_o4_plus_16)
207 ENTRY(memcpy_retl_o2_plus_o4_plus_24)
208         add     %o4, 24, %o4
209         ba,pt   %xcc, __restore_asi
210          add    %o2, %o4, %o0
211 ENDPROC(memcpy_retl_o2_plus_o4_plus_24)
212 ENTRY(memcpy_retl_o2_plus_o4_plus_32)
213         add     %o4, 32, %o4
214         ba,pt   %xcc, __restore_asi
215          add    %o2, %o4, %o0
216 ENDPROC(memcpy_retl_o2_plus_o4_plus_32)
217 ENTRY(memcpy_retl_o2_plus_o4_plus_40)
218         add     %o4, 40, %o4
219         ba,pt   %xcc, __restore_asi
220          add    %o2, %o4, %o0
221 ENDPROC(memcpy_retl_o2_plus_o4_plus_40)
222 ENTRY(memcpy_retl_o2_plus_o4_plus_48)
223         add     %o4, 48, %o4
224         ba,pt   %xcc, __restore_asi
225          add    %o2, %o4, %o0
226 ENDPROC(memcpy_retl_o2_plus_o4_plus_48)
227 ENTRY(memcpy_retl_o2_plus_o4_plus_56)
228         add     %o4, 56, %o4
229         ba,pt   %xcc, __restore_asi
230          add    %o2, %o4, %o0
231 ENDPROC(memcpy_retl_o2_plus_o4_plus_56)
232 ENTRY(memcpy_retl_o2_plus_o4_plus_64)
233         add     %o4, 64, %o4
234         ba,pt   %xcc, __restore_asi
235          add    %o2, %o4, %o0
236 ENDPROC(memcpy_retl_o2_plus_o4_plus_64)
237 ENTRY(memcpy_retl_o2_plus_o5_plus_64)
238         add     %o5, 64, %o5
239         ba,pt   %xcc, __restore_asi
240          add    %o2, %o5, %o0
241 ENDPROC(memcpy_retl_o2_plus_o5_plus_64)
242 ENTRY(memcpy_retl_o2_plus_o3_fp)
243         ba,pt   %xcc, __restore_asi_fp
244          add    %o2, %o3, %o0
245 ENDPROC(memcpy_retl_o2_plus_o3_fp)
246 ENTRY(memcpy_retl_o2_plus_o3_plus_1_fp)
247         add     %o3, 1, %o3
248         ba,pt   %xcc, __restore_asi_fp
249          add    %o2, %o3, %o0
250 ENDPROC(memcpy_retl_o2_plus_o3_plus_1_fp)
251 ENTRY(memcpy_retl_o2_plus_o3_plus_4_fp)
252         add     %o3, 4, %o3
253         ba,pt   %xcc, __restore_asi_fp
254          add    %o2, %o3, %o0
255 ENDPROC(memcpy_retl_o2_plus_o3_plus_4_fp)
256 ENTRY(memcpy_retl_o2_plus_o4_fp)
257         ba,pt   %xcc, __restore_asi_fp
258          add    %o2, %o4, %o0
259 ENDPROC(memcpy_retl_o2_plus_o4_fp)
260 ENTRY(memcpy_retl_o2_plus_o4_plus_8_fp)
261         add     %o4, 8, %o4
262         ba,pt   %xcc, __restore_asi_fp
263          add    %o2, %o4, %o0
264 ENDPROC(memcpy_retl_o2_plus_o4_plus_8_fp)
265 ENTRY(memcpy_retl_o2_plus_o4_plus_16_fp)
266         add     %o4, 16, %o4
267         ba,pt   %xcc, __restore_asi_fp
268          add    %o2, %o4, %o0
269 ENDPROC(memcpy_retl_o2_plus_o4_plus_16_fp)
270 ENTRY(memcpy_retl_o2_plus_o4_plus_24_fp)
271         add     %o4, 24, %o4
272         ba,pt   %xcc, __restore_asi_fp
273          add    %o2, %o4, %o0
274 ENDPROC(memcpy_retl_o2_plus_o4_plus_24_fp)
275 ENTRY(memcpy_retl_o2_plus_o4_plus_32_fp)
276         add     %o4, 32, %o4
277         ba,pt   %xcc, __restore_asi_fp
278          add    %o2, %o4, %o0
279 ENDPROC(memcpy_retl_o2_plus_o4_plus_32_fp)
280 ENTRY(memcpy_retl_o2_plus_o4_plus_40_fp)
281         add     %o4, 40, %o4
282         ba,pt   %xcc, __restore_asi_fp
283          add    %o2, %o4, %o0
284 ENDPROC(memcpy_retl_o2_plus_o4_plus_40_fp)
285 ENTRY(memcpy_retl_o2_plus_o4_plus_48_fp)
286         add     %o4, 48, %o4
287         ba,pt   %xcc, __restore_asi_fp
288          add    %o2, %o4, %o0
289 ENDPROC(memcpy_retl_o2_plus_o4_plus_48_fp)
290 ENTRY(memcpy_retl_o2_plus_o4_plus_56_fp)
291         add     %o4, 56, %o4
292         ba,pt   %xcc, __restore_asi_fp
293          add    %o2, %o4, %o0
294 ENDPROC(memcpy_retl_o2_plus_o4_plus_56_fp)
295 ENTRY(memcpy_retl_o2_plus_o4_plus_64_fp)
296         add     %o4, 64, %o4
297         ba,pt   %xcc, __restore_asi_fp
298          add    %o2, %o4, %o0
299 ENDPROC(memcpy_retl_o2_plus_o4_plus_64_fp)
300 ENTRY(memcpy_retl_o2_plus_o5_fp)
301         ba,pt   %xcc, __restore_asi_fp
302          add    %o2, %o5, %o0
303 ENDPROC(memcpy_retl_o2_plus_o5_fp)
304 ENTRY(memcpy_retl_o2_plus_o5_plus_64_fp)
305         add     %o5, 64, %o5
306         ba,pt   %xcc, __restore_asi_fp
307          add    %o2, %o5, %o0
308 ENDPROC(memcpy_retl_o2_plus_o5_plus_64_fp)
309 ENTRY(memcpy_retl_o2_plus_o5_plus_56_fp)
310         add     %o5, 56, %o5
311         ba,pt   %xcc, __restore_asi_fp
312          add    %o2, %o5, %o0
313 ENDPROC(memcpy_retl_o2_plus_o5_plus_56_fp)
314 ENTRY(memcpy_retl_o2_plus_o5_plus_48_fp)
315         add     %o5, 48, %o5
316         ba,pt   %xcc, __restore_asi_fp
317          add    %o2, %o5, %o0
318 ENDPROC(memcpy_retl_o2_plus_o5_plus_48_fp)
319 ENTRY(memcpy_retl_o2_plus_o5_plus_40_fp)
320         add     %o5, 40, %o5
321         ba,pt   %xcc, __restore_asi_fp
322          add    %o2, %o5, %o0
323 ENDPROC(memcpy_retl_o2_plus_o5_plus_40_fp)
324 ENTRY(memcpy_retl_o2_plus_o5_plus_32_fp)
325         add     %o5, 32, %o5
326         ba,pt   %xcc, __restore_asi_fp
327          add    %o2, %o5, %o0
328 ENDPROC(memcpy_retl_o2_plus_o5_plus_32_fp)
329 ENTRY(memcpy_retl_o2_plus_o5_plus_24_fp)
330         add     %o5, 24, %o5
331         ba,pt   %xcc, __restore_asi_fp
332          add    %o2, %o5, %o0
333 ENDPROC(memcpy_retl_o2_plus_o5_plus_24_fp)
334 ENTRY(memcpy_retl_o2_plus_o5_plus_16_fp)
335         add     %o5, 16, %o5
336         ba,pt   %xcc, __restore_asi_fp
337          add    %o2, %o5, %o0
338 ENDPROC(memcpy_retl_o2_plus_o5_plus_16_fp)
339 ENTRY(memcpy_retl_o2_plus_o5_plus_8_fp)
340         add     %o5, 8, %o5
341         ba,pt   %xcc, __restore_asi_fp
342          add    %o2, %o5, %o0
343 ENDPROC(memcpy_retl_o2_plus_o5_plus_8_fp)
344 
345 #endif

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php