blob: f7a26e0be94f5f2a1e19feca704b0c4f8270bb5e [file] [log] [blame]
Babu Mogerde5c0732017-08-07 17:52:49 -06001#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
8ENTRY(__restore_asi_fp)
9 VISExitHalf
10 retl
11 wr %g0, ASI_AIUS, %asi
12ENDPROC(__restore_asi_fp)
13
14ENTRY(__restore_asi)
15 retl
16 wr %g0, ASI_AIUS, %asi
17ENDPROC(__restore_asi)
18
19ENTRY(NG4_retl_o2)
20 ba,pt %xcc, __restore_asi
21 mov %o2, %o0
22ENDPROC(NG4_retl_o2)
23ENTRY(NG4_retl_o2_plus_1)
24 ba,pt %xcc, __restore_asi
25 add %o2, 1, %o0
26ENDPROC(NG4_retl_o2_plus_1)
27ENTRY(NG4_retl_o2_plus_4)
28 ba,pt %xcc, __restore_asi
29 add %o2, 4, %o0
30ENDPROC(NG4_retl_o2_plus_4)
31ENTRY(NG4_retl_o2_plus_o5)
32 ba,pt %xcc, __restore_asi
33 add %o2, %o5, %o0
34ENDPROC(NG4_retl_o2_plus_o5)
35ENTRY(NG4_retl_o2_plus_o5_plus_4)
36 add %o5, 4, %o5
37 ba,pt %xcc, __restore_asi
38 add %o2, %o5, %o0
39ENDPROC(NG4_retl_o2_plus_o5_plus_4)
40ENTRY(NG4_retl_o2_plus_o5_plus_8)
41 add %o5, 8, %o5
42 ba,pt %xcc, __restore_asi
43 add %o2, %o5, %o0
44ENDPROC(NG4_retl_o2_plus_o5_plus_8)
45ENTRY(NG4_retl_o2_plus_o5_plus_16)
46 add %o5, 16, %o5
47 ba,pt %xcc, __restore_asi
48 add %o2, %o5, %o0
49ENDPROC(NG4_retl_o2_plus_o5_plus_16)
50ENTRY(NG4_retl_o2_plus_o5_plus_24)
51 add %o5, 24, %o5
52 ba,pt %xcc, __restore_asi
53 add %o2, %o5, %o0
54ENDPROC(NG4_retl_o2_plus_o5_plus_24)
55ENTRY(NG4_retl_o2_plus_o5_plus_32)
56 add %o5, 32, %o5
57 ba,pt %xcc, __restore_asi
58 add %o2, %o5, %o0
59ENDPROC(NG4_retl_o2_plus_o5_plus_32)
60ENTRY(NG4_retl_o2_plus_g1)
61 ba,pt %xcc, __restore_asi
62 add %o2, %g1, %o0
63ENDPROC(NG4_retl_o2_plus_g1)
64ENTRY(NG4_retl_o2_plus_g1_plus_1)
65 add %g1, 1, %g1
66 ba,pt %xcc, __restore_asi
67 add %o2, %g1, %o0
68ENDPROC(NG4_retl_o2_plus_g1_plus_1)
69ENTRY(NG4_retl_o2_plus_g1_plus_8)
70 add %g1, 8, %g1
71 ba,pt %xcc, __restore_asi
72 add %o2, %g1, %o0
73ENDPROC(NG4_retl_o2_plus_g1_plus_8)
74ENTRY(NG4_retl_o2_plus_o4)
75 ba,pt %xcc, __restore_asi
76 add %o2, %o4, %o0
77ENDPROC(NG4_retl_o2_plus_o4)
78ENTRY(NG4_retl_o2_plus_o4_plus_8)
79 add %o4, 8, %o4
80 ba,pt %xcc, __restore_asi
81 add %o2, %o4, %o0
82ENDPROC(NG4_retl_o2_plus_o4_plus_8)
83ENTRY(NG4_retl_o2_plus_o4_plus_16)
84 add %o4, 16, %o4
85 ba,pt %xcc, __restore_asi
86 add %o2, %o4, %o0
87ENDPROC(NG4_retl_o2_plus_o4_plus_16)
88ENTRY(NG4_retl_o2_plus_o4_plus_24)
89 add %o4, 24, %o4
90 ba,pt %xcc, __restore_asi
91 add %o2, %o4, %o0
92ENDPROC(NG4_retl_o2_plus_o4_plus_24)
93ENTRY(NG4_retl_o2_plus_o4_plus_32)
94 add %o4, 32, %o4
95 ba,pt %xcc, __restore_asi
96 add %o2, %o4, %o0
97ENDPROC(NG4_retl_o2_plus_o4_plus_32)
98ENTRY(NG4_retl_o2_plus_o4_plus_40)
99 add %o4, 40, %o4
100 ba,pt %xcc, __restore_asi
101 add %o2, %o4, %o0
102ENDPROC(NG4_retl_o2_plus_o4_plus_40)
103ENTRY(NG4_retl_o2_plus_o4_plus_48)
104 add %o4, 48, %o4
105 ba,pt %xcc, __restore_asi
106 add %o2, %o4, %o0
107ENDPROC(NG4_retl_o2_plus_o4_plus_48)
108ENTRY(NG4_retl_o2_plus_o4_plus_56)
109 add %o4, 56, %o4
110 ba,pt %xcc, __restore_asi
111 add %o2, %o4, %o0
112ENDPROC(NG4_retl_o2_plus_o4_plus_56)
113ENTRY(NG4_retl_o2_plus_o4_plus_64)
114 add %o4, 64, %o4
115 ba,pt %xcc, __restore_asi
116 add %o2, %o4, %o0
117ENDPROC(NG4_retl_o2_plus_o4_plus_64)
118ENTRY(NG4_retl_o2_plus_o4_fp)
119 ba,pt %xcc, __restore_asi_fp
120 add %o2, %o4, %o0
121ENDPROC(NG4_retl_o2_plus_o4_fp)
122ENTRY(NG4_retl_o2_plus_o4_plus_8_fp)
123 add %o4, 8, %o4
124 ba,pt %xcc, __restore_asi_fp
125 add %o2, %o4, %o0
126ENDPROC(NG4_retl_o2_plus_o4_plus_8_fp)
127ENTRY(NG4_retl_o2_plus_o4_plus_16_fp)
128 add %o4, 16, %o4
129 ba,pt %xcc, __restore_asi_fp
130 add %o2, %o4, %o0
131ENDPROC(NG4_retl_o2_plus_o4_plus_16_fp)
132ENTRY(NG4_retl_o2_plus_o4_plus_24_fp)
133 add %o4, 24, %o4
134 ba,pt %xcc, __restore_asi_fp
135 add %o2, %o4, %o0
136ENDPROC(NG4_retl_o2_plus_o4_plus_24_fp)
137ENTRY(NG4_retl_o2_plus_o4_plus_32_fp)
138 add %o4, 32, %o4
139 ba,pt %xcc, __restore_asi_fp
140 add %o2, %o4, %o0
141ENDPROC(NG4_retl_o2_plus_o4_plus_32_fp)
142ENTRY(NG4_retl_o2_plus_o4_plus_40_fp)
143 add %o4, 40, %o4
144 ba,pt %xcc, __restore_asi_fp
145 add %o2, %o4, %o0
146ENDPROC(NG4_retl_o2_plus_o4_plus_40_fp)
147ENTRY(NG4_retl_o2_plus_o4_plus_48_fp)
148 add %o4, 48, %o4
149 ba,pt %xcc, __restore_asi_fp
150 add %o2, %o4, %o0
151ENDPROC(NG4_retl_o2_plus_o4_plus_48_fp)
152ENTRY(NG4_retl_o2_plus_o4_plus_56_fp)
153 add %o4, 56, %o4
154 ba,pt %xcc, __restore_asi_fp
155 add %o2, %o4, %o0
156ENDPROC(NG4_retl_o2_plus_o4_plus_56_fp)
157ENTRY(NG4_retl_o2_plus_o4_plus_64_fp)
158 add %o4, 64, %o4
159 ba,pt %xcc, __restore_asi_fp
160 add %o2, %o4, %o0
161ENDPROC(NG4_retl_o2_plus_o4_plus_64_fp)
162
163#endif