mirror of https://gitee.com/openkylin/linux.git
MIPS: lib: csum_partial: Add EVA support
Use EVA specific functions to read and write data to user address space. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
This commit is contained in:
parent
e89fb56c8b
commit
6f85cebe49
|
@ -352,6 +352,19 @@ LEAF(csum_partial)
|
|||
.section __ex_table,"a"; \
|
||||
PTR 9b, handler; \
|
||||
.previous; \
|
||||
/* This is enabled in EVA mode */ \
|
||||
.else; \
|
||||
/* If loading from user or storing to user */ \
|
||||
.if ((\from == USEROP) && (type == LD_INSN)) || \
|
||||
((\to == USEROP) && (type == ST_INSN)); \
|
||||
9: __BUILD_EVA_INSN(insn##e, reg, addr); \
|
||||
.section __ex_table,"a"; \
|
||||
PTR 9b, handler; \
|
||||
.previous; \
|
||||
.else; \
|
||||
/* EVA without exception */ \
|
||||
insn reg, addr; \
|
||||
.endif; \
|
||||
.endif
|
||||
|
||||
#undef LOAD
|
||||
|
@ -795,7 +808,19 @@ LEAF(csum_partial)
|
|||
.endm
|
||||
|
||||
LEAF(__csum_partial_copy_kernel)
|
||||
#ifndef CONFIG_EVA
|
||||
FEXPORT(__csum_partial_copy_to_user)
|
||||
FEXPORT(__csum_partial_copy_from_user)
|
||||
#endif
|
||||
__BUILD_CSUM_PARTIAL_COPY_USER LEGACY_MODE USEROP USEROP 1
|
||||
END(__csum_partial_copy_kernel)
|
||||
|
||||
#ifdef CONFIG_EVA
|
||||
LEAF(__csum_partial_copy_to_user)
|
||||
__BUILD_CSUM_PARTIAL_COPY_USER EVA_MODE KERNELOP USEROP 0
|
||||
END(__csum_partial_copy_to_user)
|
||||
|
||||
LEAF(__csum_partial_copy_from_user)
|
||||
__BUILD_CSUM_PARTIAL_COPY_USER EVA_MODE USEROP KERNELOP 0
|
||||
END(__csum_partial_copy_from_user)
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue