2 * __put_user functions.
4 * (C) Copyright 1998 Linus Torvalds
5 * (C) Copyright 2001 Hirokazu Takata
7 * These functions have a non-standard call interface
8 * to make them more efficient.
11 #include <linux/config.h>
16 * Inputs: r0 contains the address
17 * r1 contains the value
19 * Outputs: r0 is error code (0 or -EFAULT)
20 * r1 is corrupted (will contain "current_task").
22 * These functions should not modify any other registers,
23 * as they get called from within inline assembly.
26 #ifdef CONFIG_ISA_DUAL_ISSUE
32 1: stb r1, @r0 || ldi r0, #0
38 2: sth r1, @r0 || ldi r0, #0
44 3: st r1, @r0 || ldi r0, #0
48 ldi r0, #-14 || jmp r14
50 #else /* not CONFIG_ISA_DUAL_ISSUE */
78 #endif /* not CONFIG_ISA_DUAL_ISSUE */
80 .section __ex_table,"a"