0001
0002
0003
0004
0005
0006
0007
0008 #define EX_LD(x, y) \
0009 98: x; \
0010 .section __ex_table,"a"; \
0011 .align 4; \
0012 .word 98b, y; \
0013 .text; \
0014 .align 4;
0015
0016 #define EX_LD_FP(x, y) \
0017 98: x; \
0018 .section __ex_table,"a"; \
0019 .align 4; \
0020 .word 98b, y##_fp; \
0021 .text; \
0022 .align 4;
0023
0024 #ifndef ASI_AIUS
0025 #define ASI_AIUS 0x11
0026 #endif
0027
0028 #define FUNC_NAME M7copy_from_user
0029 #define LOAD(type,addr,dest) type##a [addr] %asi, dest
0030 #define EX_RETVAL(x) 0
0031
0032 #ifdef __KERNEL__
0033 #define PREAMBLE \
0034 rd %asi, %g1; \
0035 cmp %g1, ASI_AIUS; \
0036 bne,pn %icc, raw_copy_in_user; \
0037 nop
0038 #endif
0039
0040 #include "M7memcpy.S"