|
@@ -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
|