Lines Matching +full:4 +full:x
55 #define put_user(x, ptr) \ argument
56 __put_user_check((x), (ptr), sizeof(*(ptr)))
58 #define __put_user(x, ptr) \ argument
59 __put_user_nocheck((x), (ptr), sizeof(*(ptr)))
61 #define __ptr(x) ((unsigned long *)(x)) argument
63 #define get_user(x, ptr) \ argument
64 __get_user_check((x), (ptr), sizeof(*(ptr)))
66 #define __get_user(x, ptr) \ argument
67 __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
69 #define __put_user_nocheck(x, ptr, size) \ argument
73 typeof(*(ptr)) __pu_val = (typeof(*(ptr)))(x); \
80 #define __put_user_check(x, ptr, size) \ argument
84 typeof(*(ptr)) __pu_val = (typeof(*(ptr)))(x); \
90 #define __put_user_size(x, ptr, size, retval) \ argument
95 __put_user_asm_b(x, ptr, retval); \
98 __put_user_asm_h(x, ptr, retval); \
100 case 4: \
101 __put_user_asm_w(x, ptr, retval); \
104 __put_user_asm_64(x, ptr, retval); \
119 #define __put_user_asm_b(x, ptr, err) \ argument
132 : "=r"(err), "=r"(x), "=r"(ptr), "=r"(errcode) \
133 : "0"(err), "1"(x), "2"(ptr), "3"(-EFAULT) \
137 #define __put_user_asm_h(x, ptr, err) \ argument
150 : "=r"(err), "=r"(x), "=r"(ptr), "=r"(errcode) \
151 : "0"(err), "1"(x), "2"(ptr), "3"(-EFAULT) \
155 #define __put_user_asm_w(x, ptr, err) \ argument
168 : "=r"(err), "=r"(x), "=r"(ptr), "=r"(errcode) \
169 : "0"(err), "1"(x), "2"(ptr), "3"(-EFAULT) \
173 #define __put_user_asm_64(x, ptr, err) \ argument
177 typeof(*(ptr))src = (typeof(*(ptr)))x; \
183 " ldw %3, (%1, 4) \n" \
184 "2: stw %3, (%2, 4) \n" \
185 " br 4f \n" \
186 "3: mov %0, %4 \n" \
187 " br 4f \n" \
193 "4: \n" \
196 : "0"(err), "1"(psrc), "2"(ptr), "3"(0), "4"(-EFAULT) \
200 #define __get_user_nocheck(x, ptr, size) \ argument
203 __get_user_size(x, (ptr), (size), __gu_err); \
207 #define __get_user_check(x, ptr, size) \ argument
212 __get_user_size(x, __gu_ptr, size, __gu_err); \
216 #define __get_user_size(x, ptr, size, retval) \ argument
220 __get_user_asm_common((x), ptr, "ldb", retval); \
223 __get_user_asm_common((x), ptr, "ldh", retval); \
225 case 4: \
226 __get_user_asm_common((x), ptr, "ldw", retval); \
229 x = 0; \
234 #define __get_user_asm_common(x, ptr, ins, err) \ argument
238 "1: " ins " %1, (%4,0) \n" \
249 : "=r"(err), "=r"(x), "=r"(errcode) \
268 "1: cmplti %0, 16 \n" /* 4W */ \
271 " ldw %4, (%2, 4) \n" \
275 "9: stw %4, (%1, 4) \n" \
282 "3: cmplti %0, 4 \n" /* 1W */ \
285 "4: stw %3, (%1, 0) \n" \
286 " addi %2, 4 \n" \
287 " addi %1, 4 \n" \
288 " subi %0, 4 \n" \
298 "7: subi %0, 4 \n" \
299 "8: subi %0, 4 \n" \
300 "12: subi %0, 4 \n" \
305 ".long 4b, 13f \n" \
334 "10: ldw %4, (%2, 4) \n" \
336 " stw %4, (%1, 4) \n" \
338 "12: ldw %4, (%2, 12) \n" \
340 " stw %4, (%1, 12) \n" \
345 "3: cmplti %0, 4 \n" \
347 "4: ldw %3, (%2, 0) \n" \
349 " addi %2, 4 \n" \
350 " addi %1, 4 \n" \
351 " subi %0, 4 \n" \
362 " subi %0, 4 \n" \
372 ".long 4b, 7f \n" \