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
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.