Lines Matching +full:2 +full:x

18 #define put_user(x, ptr) \  argument
19 __put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
20 #define get_user(x, ptr) \ argument
21 __get_user_check((x), (ptr), sizeof(*(ptr)))
28 #define __put_user(x, ptr) \ argument
29 __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
30 #define __get_user(x, ptr) \ argument
31 __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
34 * The "lda %1, 2b-1b(%0)" bits are magic to get the assembler to
47 #define __get_user_nocheck(x, ptr, size) \ argument
54 case 2: __get_user_16(ptr); break; \
59 (x) = (__force __typeof__(*(ptr))) __gu_val; \
63 #define __get_user_check(x, ptr, size) \ argument
72 case 2: __get_user_16(__gu_addr); break; \
78 (x) = (__force __typeof__(*(ptr))) __gu_val; \
83 #define __m(x) (*(struct __large_struct __user *)(x)) argument
86 __asm__("1: ldq %0,%2\n" \
87 "2:\n" \
88 EXC(1b,2b,%0,%1) \
93 __asm__("1: ldl %0,%2\n" \
94 "2:\n" \
95 EXC(1b,2b,%0,%1) \
103 __asm__("1: ldwu %0,%2\n" \
104 "2:\n" \
105 EXC(1b,2b,%0,%1) \
110 __asm__("1: ldbu %0,%2\n" \
111 "2:\n" \
112 EXC(1b,2b,%0,%1) \
123 "2: ldq_u %1,1(%3)\n" \
128 EXC(1b,3b,%0,%2) \
129 EXC(2b,3b,%0,%2) \
131 : "r"(addr), "2"(__gu_err)); \
135 __asm__("1: ldq_u %0,0(%2)\n" \
136 " extbl %0,%2,%0\n" \
137 "2:\n" \
138 EXC(1b,2b,%0,%1) \
145 #define __put_user_nocheck(x, ptr, size) \ argument
150 case 1: __put_user_8(x, ptr); break; \
151 case 2: __put_user_16(x, ptr); break; \
152 case 4: __put_user_32(x, ptr); break; \
153 case 8: __put_user_64(x, ptr); break; \
159 #define __put_user_check(x, ptr, size) \ argument
166 case 1: __put_user_8(x, __pu_addr); break; \
167 case 2: __put_user_16(x, __pu_addr); break; \
168 case 4: __put_user_32(x, __pu_addr); break; \
169 case 8: __put_user_64(x, __pu_addr); break; \
181 #define __put_user_64(x, addr) \ argument
183 "2:\n" \
184 EXC(1b,2b,$31,%0) \
186 : "m" (__m(addr)), "rJ" (x), "0"(__pu_err))
188 #define __put_user_32(x, addr) \ argument
190 "2:\n" \
191 EXC(1b,2b,$31,%0) \
193 : "m"(__m(addr)), "rJ"(x), "0"(__pu_err))
198 #define __put_user_16(x, addr) \ argument
200 "2:\n" \
201 EXC(1b,2b,$31,%0) \
203 : "m"(__m(addr)), "rJ"(x), "0"(__pu_err))
205 #define __put_user_8(x, addr) \ argument
207 "2:\n" \
208 EXC(1b,2b,$31,%0) \
210 : "m"(__m(addr)), "rJ"(x), "0"(__pu_err))
215 #define __put_user_16(x, addr) \ argument
219 "1: ldq_u %2,1(%5)\n" \
220 "2: ldq_u %1,0(%5)\n" \
223 " mskwh %2,%5,%2\n" \
225 " or %2,%4,%2\n" \
227 "3: stq_u %2,1(%5)\n" \
231 EXC(2b,5b,$31,%0) \
237 : "r"(addr), "r"((unsigned long)(x)), "0"(__pu_err)); \
240 #define __put_user_8(x, addr) \ argument
245 " insbl %3,%4,%2\n" \
247 " or %1,%2,%1\n" \
248 "2: stq_u %1,0(%4)\n" \
251 EXC(2b,3b,$31,%0) \
254 : "r"((unsigned long)(x)), "r"(addr), "0"(__pu_err)); \