diff options
| -rw-r--r-- | arch/mips/lib/csum_partial.S | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/mips/lib/csum_partial.S b/arch/mips/lib/csum_partial.S index 62c8768a59ce..2e4825e48388 100644 --- a/arch/mips/lib/csum_partial.S +++ b/arch/mips/lib/csum_partial.S | |||
| @@ -352,6 +352,19 @@ LEAF(csum_partial) | |||
| 352 | .section __ex_table,"a"; \ | 352 | .section __ex_table,"a"; \ |
| 353 | PTR 9b, handler; \ | 353 | PTR 9b, handler; \ |
| 354 | .previous; \ | 354 | .previous; \ |
| 355 | /* This is enabled in EVA mode */ \ | ||
| 356 | .else; \ | ||
| 357 | /* If loading from user or storing to user */ \ | ||
| 358 | .if ((\from == USEROP) && (type == LD_INSN)) || \ | ||
| 359 | ((\to == USEROP) && (type == ST_INSN)); \ | ||
| 360 | 9: __BUILD_EVA_INSN(insn##e, reg, addr); \ | ||
| 361 | .section __ex_table,"a"; \ | ||
| 362 | PTR 9b, handler; \ | ||
| 363 | .previous; \ | ||
| 364 | .else; \ | ||
| 365 | /* EVA without exception */ \ | ||
| 366 | insn reg, addr; \ | ||
| 367 | .endif; \ | ||
| 355 | .endif | 368 | .endif |
| 356 | 369 | ||
| 357 | #undef LOAD | 370 | #undef LOAD |
| @@ -795,7 +808,19 @@ LEAF(csum_partial) | |||
| 795 | .endm | 808 | .endm |
| 796 | 809 | ||
| 797 | LEAF(__csum_partial_copy_kernel) | 810 | LEAF(__csum_partial_copy_kernel) |
| 811 | #ifndef CONFIG_EVA | ||
| 798 | FEXPORT(__csum_partial_copy_to_user) | 812 | FEXPORT(__csum_partial_copy_to_user) |
| 799 | FEXPORT(__csum_partial_copy_from_user) | 813 | FEXPORT(__csum_partial_copy_from_user) |
| 814 | #endif | ||
| 800 | __BUILD_CSUM_PARTIAL_COPY_USER LEGACY_MODE USEROP USEROP 1 | 815 | __BUILD_CSUM_PARTIAL_COPY_USER LEGACY_MODE USEROP USEROP 1 |
| 801 | END(__csum_partial_copy_kernel) | 816 | END(__csum_partial_copy_kernel) |
| 817 | |||
| 818 | #ifdef CONFIG_EVA | ||
| 819 | LEAF(__csum_partial_copy_to_user) | ||
| 820 | __BUILD_CSUM_PARTIAL_COPY_USER EVA_MODE KERNELOP USEROP 0 | ||
| 821 | END(__csum_partial_copy_to_user) | ||
| 822 | |||
| 823 | LEAF(__csum_partial_copy_from_user) | ||
| 824 | __BUILD_CSUM_PARTIAL_COPY_USER EVA_MODE USEROP KERNELOP 0 | ||
| 825 | END(__csum_partial_copy_from_user) | ||
| 826 | #endif | ||
