1
2
3
4
5
6
7
8 #define EX_LD(x, y) \
9 98: x; \
10 .section __ex_table,"a"; \
11 .align 4; \
12 .word 98b, y; \
13 .text; \
14 .align 4;
15
16 #define EX_LD_FP(x, y) \
17 98: x; \
18 .section __ex_table,"a"; \
19 .align 4; \
20 .word 98b, y##_fp; \
21 .text; \
22 .align 4;
23
24 #ifndef ASI_AIUS
25 #define ASI_AIUS 0x11
26 #endif
27
28 #define FUNC_NAME M7copy_from_user
29 #define LOAD(type,addr,dest) type##a [addr] %asi, dest
30 #define EX_RETVAL(x) 0
31
32 #ifdef __KERNEL__
33 #define PREAMBLE \
34 rd %asi, %g1; \
35 cmp %g1, ASI_AIUS; \
36 bne,pn %icc, raw_copy_in_user; \
37 nop
38 #endif
39
40 #include "M7memcpy.S"