.. | .. |
---|
1 | 1 | #include <linux/linkage.h> |
---|
| 2 | +#include <asm-generic/export.h> |
---|
2 | 3 | #include <asm/asm.h> |
---|
3 | 4 | #include <asm/csr.h> |
---|
4 | 5 | |
---|
5 | | - .altmacro |
---|
6 | 6 | .macro fixup op reg addr lbl |
---|
7 | | - LOCAL _epc |
---|
8 | | -_epc: |
---|
| 7 | +100: |
---|
9 | 8 | \op \reg, \addr |
---|
10 | 9 | .section __ex_table,"a" |
---|
11 | 10 | .balign RISCV_SZPTR |
---|
12 | | - RISCV_PTR _epc, \lbl |
---|
| 11 | + RISCV_PTR 100b, \lbl |
---|
13 | 12 | .previous |
---|
14 | 13 | .endm |
---|
15 | 14 | |
---|
.. | .. |
---|
18 | 17 | |
---|
19 | 18 | /* Enable access to user memory */ |
---|
20 | 19 | li t6, SR_SUM |
---|
21 | | - csrs sstatus, t6 |
---|
| 20 | + csrs CSR_STATUS, t6 |
---|
22 | 21 | |
---|
23 | 22 | add a3, a1, a2 |
---|
24 | 23 | /* Use word-oriented copy only if low-order bits match */ |
---|
.. | .. |
---|
47 | 46 | |
---|
48 | 47 | 3: |
---|
49 | 48 | /* Disable access to user memory */ |
---|
50 | | - csrc sstatus, t6 |
---|
| 49 | + csrc CSR_STATUS, t6 |
---|
51 | 50 | li a0, 0 |
---|
52 | 51 | ret |
---|
53 | 52 | 4: /* Edge case: unalignment */ |
---|
.. | .. |
---|
66 | 65 | j 3b |
---|
67 | 66 | ENDPROC(__asm_copy_to_user) |
---|
68 | 67 | ENDPROC(__asm_copy_from_user) |
---|
| 68 | +EXPORT_SYMBOL(__asm_copy_to_user) |
---|
| 69 | +EXPORT_SYMBOL(__asm_copy_from_user) |
---|
69 | 70 | |
---|
70 | 71 | |
---|
71 | 72 | ENTRY(__clear_user) |
---|
72 | 73 | |
---|
73 | 74 | /* Enable access to user memory */ |
---|
74 | 75 | li t6, SR_SUM |
---|
75 | | - csrs sstatus, t6 |
---|
| 76 | + csrs CSR_STATUS, t6 |
---|
76 | 77 | |
---|
77 | 78 | add a3, a0, a1 |
---|
78 | 79 | addi t0, a0, SZREG-1 |
---|
.. | .. |
---|
94 | 95 | |
---|
95 | 96 | 3: |
---|
96 | 97 | /* Disable access to user memory */ |
---|
97 | | - csrc sstatus, t6 |
---|
| 98 | + csrc CSR_STATUS, t6 |
---|
98 | 99 | li a0, 0 |
---|
99 | 100 | ret |
---|
100 | 101 | 4: /* Edge case: unalignment */ |
---|
.. | .. |
---|
108 | 109 | bltu a0, a3, 5b |
---|
109 | 110 | j 3b |
---|
110 | 111 | ENDPROC(__clear_user) |
---|
| 112 | +EXPORT_SYMBOL(__clear_user) |
---|
111 | 113 | |
---|
112 | 114 | .section .fixup,"ax" |
---|
113 | 115 | .balign 4 |
---|
114 | 116 | /* Fixup code for __copy_user(10) and __clear_user(11) */ |
---|
115 | 117 | 10: |
---|
116 | 118 | /* Disable access to user memory */ |
---|
117 | | - csrs sstatus, t6 |
---|
| 119 | + csrs CSR_STATUS, t6 |
---|
118 | 120 | mv a0, a2 |
---|
119 | 121 | ret |
---|
120 | 122 | 11: |
---|
121 | | - csrs sstatus, t6 |
---|
| 123 | + csrs CSR_STATUS, t6 |
---|
122 | 124 | mv a0, a1 |
---|
123 | 125 | ret |
---|
124 | 126 | .previous |
---|