diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 4aabeeaa7cf778b56104688272a4f007e939ca83..cb0efae6802fd46be2df3f50f0b290ac383e4974 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S @@ -1658,3 +1658,10 @@ compat_sys_vmsplice_wrapper: llgfr %r4,%r4 # unsigned int llgfr %r5,%r5 # unsigned int jg compat_sys_vmsplice + + .globl sys_getcpu_wrapper +sys_getcpu_wrapper: + llgtr %r2,%r2 # unsigned * + llgtr %r3,%r3 # unsigned * + llgtr %r4,%r4 # struct getcpu_cache * + jg sys_tee diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 93be1d56c03662d46da46e1effc788a954dbc096..e59baec565208e6dad4761365943c87bc5392a56 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S @@ -318,3 +318,5 @@ SYSCALL(sys_splice,sys_splice,sys_splice_wrapper) SYSCALL(sys_sync_file_range,sys_sync_file_range,sys_sync_file_range_wrapper) SYSCALL(sys_tee,sys_tee,sys_tee_wrapper) SYSCALL(sys_vmsplice,sys_vmsplice,compat_sys_vmsplice_wrapper) +NI_SYSCALL /* 310 sys_move_pages */ +SYSCALL(sys_getcpu,sys_getcpu,sys_getcpu_wrapper) diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h index 0cccfd83c45758e7b9d367442efcb6094567ba7a..a19238cbcffa7ed1aacbfcd9e06bbe141425e783 100644 --- a/include/asm-s390/unistd.h +++ b/include/asm-s390/unistd.h @@ -247,8 +247,10 @@ #define __NR_sync_file_range 307 #define __NR_tee 308 #define __NR_vmsplice 309 +/* Number 310 is reserved for new sys_move_pages */ +#define __NR_getcpu 311 -#define NR_syscalls 310 +#define NR_syscalls 312 /* * There are some system calls that are not present on 64 bit, some