aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-03-16 13:09:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-03-16 13:09:30 -0400
commit1c8e85b17ac0707c7732081e94cadc5f89986e5f (patch)
tree3464e6a1dbb612e97f02bbbf299df95472b25c41
parent10dc3747661bea9215417b659449bb7b8ed3df2c (diff)
parent392c5174499296bcdecbe1705d577883065fa5de (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32
Pull AVR32 updates from Hans-Christian Egtvedt. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32: avr32: fix asm operand constraint in cmpxchg() avr32: wire up copy_file_range syscall
-rw-r--r--arch/avr32/include/asm/cmpxchg.h2
-rw-r--r--arch/avr32/include/uapi/asm/unistd.h1
-rw-r--r--arch/avr32/kernel/syscall-stubs.S9
-rw-r--r--arch/avr32/kernel/syscall_table.S1
4 files changed, 12 insertions, 1 deletions
diff --git a/arch/avr32/include/asm/cmpxchg.h b/arch/avr32/include/asm/cmpxchg.h
index 366bbeaeb405..572739b4c4b4 100644
--- a/arch/avr32/include/asm/cmpxchg.h
+++ b/arch/avr32/include/asm/cmpxchg.h
@@ -57,7 +57,7 @@ static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned long old,
57 " brne 1b\n" 57 " brne 1b\n"
58 "2:\n" 58 "2:\n"
59 : [ret] "=&r"(ret), [m] "=m"(*m) 59 : [ret] "=&r"(ret), [m] "=m"(*m)
60 : "m"(m), [old] "ir"(old), [new] "r"(new) 60 : "m"(m), [old] "Ks21r"(old), [new] "r"(new)
61 : "memory", "cc"); 61 : "memory", "cc");
62 return ret; 62 return ret;
63} 63}
diff --git a/arch/avr32/include/uapi/asm/unistd.h b/arch/avr32/include/uapi/asm/unistd.h
index b60132bb27ea..60c0f3afc1f9 100644
--- a/arch/avr32/include/uapi/asm/unistd.h
+++ b/arch/avr32/include/uapi/asm/unistd.h
@@ -337,5 +337,6 @@
337#define __NR_userfaultfd 322 337#define __NR_userfaultfd 322
338#define __NR_membarrier 323 338#define __NR_membarrier 323
339#define __NR_mlock2 324 339#define __NR_mlock2 324
340#define __NR_copy_file_range 325
340 341
341#endif /* _UAPI__ASM_AVR32_UNISTD_H */ 342#endif /* _UAPI__ASM_AVR32_UNISTD_H */
diff --git a/arch/avr32/kernel/syscall-stubs.S b/arch/avr32/kernel/syscall-stubs.S
index f9c68fab0e2f..cb3991552f14 100644
--- a/arch/avr32/kernel/syscall-stubs.S
+++ b/arch/avr32/kernel/syscall-stubs.S
@@ -124,3 +124,12 @@ __sys_process_vm_writev:
124 call sys_process_vm_writev 124 call sys_process_vm_writev
125 sub sp, -4 125 sub sp, -4
126 popm pc 126 popm pc
127
128 .global __sys_copy_file_range
129 .type __sys_copy_file_range,@function
130__sys_copy_file_range:
131 pushm lr
132 st.w --sp, ARG6
133 call sys_copy_file_range
134 sub sp, -4
135 popm pc
diff --git a/arch/avr32/kernel/syscall_table.S b/arch/avr32/kernel/syscall_table.S
index 1915a443b491..64d71a781fa8 100644
--- a/arch/avr32/kernel/syscall_table.S
+++ b/arch/avr32/kernel/syscall_table.S
@@ -338,4 +338,5 @@ sys_call_table:
338 .long sys_userfaultfd 338 .long sys_userfaultfd
339 .long sys_membarrier 339 .long sys_membarrier
340 .long sys_mlock2 340 .long sys_mlock2
341 .long __sys_copy_file_range /* 325 */
341 .long sys_ni_syscall /* r8 is saturated at nr_syscalls */ 342 .long sys_ni_syscall /* r8 is saturated at nr_syscalls */