diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-01 12:31:04 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-02-01 12:31:04 -0500 |
commit | ca0c836d88dd2705879d24a754343467fc5a5ba6 (patch) | |
tree | 0a6aa38735d9cc74dbf88c00b7d68b79db922a21 /arch/s390 | |
parent | 255442c93843f52b6891b21d0b485bf2c97f93c3 (diff) | |
parent | 47d67facb057b15d29d65170df06b102a3ddd34e (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky:
"Bug fixes, small improvements and one notable change: the system call
table and the unistd.h header are now generated automatically with a
shell script from a text file"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/decompressor: discard __ksymtab and .eh_frame sections
s390: fix handling of -1 in set{,fs}[gu]id16 syscalls
s390/tools: generate header files in arch/s390/include/generated/
s390/syscalls: use generated syscall_table.h and unistd.h header files
s390/syscalls: add Makefile to generate system call header files
s390/syscalls: add syscalltbl script
s390/syscalls: add system call table
s390/decompressor: swap .text and .rodata.compressed sections
s390/sclp: fix .data section specification
s390/ipl: avoid usage of __section(.data)
s390/head: replace hard coded values with constants
s390/disassembler: add generated gen_opcode_table tool to .gitignore
s390: remove bogus system call table entries
s390/kprobes: remove duplicate includes
s390/dasd: Remove dead return code checks
s390/dasd: Simplify code
s390/vdso: revise CFI annotations of vDSO functions
s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections
Diffstat (limited to 'arch/s390')
34 files changed, 852 insertions, 844 deletions
diff --git a/arch/s390/Makefile b/arch/s390/Makefile index de54cfc6109d..fd691c4ff89e 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile | |||
@@ -88,9 +88,13 @@ KBUILD_CFLAGS += -DCC_USING_HOTPATCH | |||
88 | endif | 88 | endif |
89 | endif | 89 | endif |
90 | 90 | ||
91 | # Test CFI features of binutils | ||
92 | cfi := $(call as-instr,.cfi_startproc\n.cfi_val_offset 15$(comma)-160\n.cfi_endproc,-DCONFIG_AS_CFI_VAL_OFFSET=1) | ||
93 | |||
91 | KBUILD_CFLAGS += -mbackchain -msoft-float $(cflags-y) | 94 | KBUILD_CFLAGS += -mbackchain -msoft-float $(cflags-y) |
92 | KBUILD_CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare | 95 | KBUILD_CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare |
93 | KBUILD_AFLAGS += $(aflags-y) | 96 | KBUILD_CFLAGS += -fno-asynchronous-unwind-tables $(cfi) |
97 | KBUILD_AFLAGS += $(aflags-y) $(cfi) | ||
94 | 98 | ||
95 | OBJCOPYFLAGS := -O binary | 99 | OBJCOPYFLAGS := -O binary |
96 | 100 | ||
@@ -107,6 +111,7 @@ drivers-y += drivers/s390/ | |||
107 | drivers-$(CONFIG_OPROFILE) += arch/s390/oprofile/ | 111 | drivers-$(CONFIG_OPROFILE) += arch/s390/oprofile/ |
108 | 112 | ||
109 | boot := arch/s390/boot | 113 | boot := arch/s390/boot |
114 | syscalls := arch/s390/kernel/syscalls | ||
110 | tools := arch/s390/tools | 115 | tools := arch/s390/tools |
111 | 116 | ||
112 | all: image bzImage | 117 | all: image bzImage |
@@ -128,9 +133,12 @@ archclean: | |||
128 | $(Q)$(MAKE) $(clean)=$(boot) | 133 | $(Q)$(MAKE) $(clean)=$(boot) |
129 | $(Q)$(MAKE) $(clean)=$(tools) | 134 | $(Q)$(MAKE) $(clean)=$(tools) |
130 | 135 | ||
136 | archheaders: | ||
137 | $(Q)$(MAKE) $(build)=$(syscalls) uapi | ||
138 | |||
131 | archprepare: | 139 | archprepare: |
132 | $(Q)$(MAKE) $(build)=$(tools) include/generated/facilities.h | 140 | $(Q)$(MAKE) $(build)=$(syscalls) kapi |
133 | $(Q)$(MAKE) $(build)=$(tools) include/generated/dis.h | 141 | $(Q)$(MAKE) $(build)=$(tools) kapi |
134 | 142 | ||
135 | # Don't use tabs in echo arguments | 143 | # Don't use tabs in echo arguments |
136 | define archhelp | 144 | define archhelp |
diff --git a/arch/s390/boot/compressed/Makefile b/arch/s390/boot/compressed/Makefile index 29e3dc99b916..26d6a94f40f6 100644 --- a/arch/s390/boot/compressed/Makefile +++ b/arch/s390/boot/compressed/Makefile | |||
@@ -14,6 +14,7 @@ targets += misc.o piggy.o sizes.h head.o | |||
14 | KBUILD_CFLAGS := -m64 -D__KERNEL__ -O2 | 14 | KBUILD_CFLAGS := -m64 -D__KERNEL__ -O2 |
15 | KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY | 15 | KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY |
16 | KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -msoft-float | 16 | KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -msoft-float |
17 | KBUILD_CFLAGS += -fno-asynchronous-unwind-tables | ||
17 | KBUILD_CFLAGS += $(call cc-option,-mpacked-stack) | 18 | KBUILD_CFLAGS += $(call cc-option,-mpacked-stack) |
18 | KBUILD_CFLAGS += $(call cc-option,-ffreestanding) | 19 | KBUILD_CFLAGS += $(call cc-option,-ffreestanding) |
19 | 20 | ||
diff --git a/arch/s390/boot/compressed/vmlinux.lds.S b/arch/s390/boot/compressed/vmlinux.lds.S index 88e46d4a7784..8150132b144f 100644 --- a/arch/s390/boot/compressed/vmlinux.lds.S +++ b/arch/s390/boot/compressed/vmlinux.lds.S | |||
@@ -17,15 +17,15 @@ SECTIONS | |||
17 | HEAD_TEXT | 17 | HEAD_TEXT |
18 | _ehead = . ; | 18 | _ehead = . ; |
19 | } | 19 | } |
20 | .rodata.compressed : { | ||
21 | *(.rodata.compressed) | ||
22 | } | ||
23 | .text : { | 20 | .text : { |
24 | _text = .; /* Text */ | 21 | _text = .; /* Text */ |
25 | *(.text) | 22 | *(.text) |
26 | *(.text.*) | 23 | *(.text.*) |
27 | _etext = . ; | 24 | _etext = . ; |
28 | } | 25 | } |
26 | .rodata.compressed : { | ||
27 | *(.rodata.compressed) | ||
28 | } | ||
29 | .rodata : { | 29 | .rodata : { |
30 | _rodata = . ; | 30 | _rodata = . ; |
31 | *(.rodata) /* read-only data */ | 31 | *(.rodata) /* read-only data */ |
@@ -48,4 +48,10 @@ SECTIONS | |||
48 | _ebss = .; | 48 | _ebss = .; |
49 | } | 49 | } |
50 | _end = .; | 50 | _end = .; |
51 | |||
52 | /* Sections to be discarded */ | ||
53 | /DISCARD/ : { | ||
54 | *(.eh_frame) | ||
55 | *(*__ksymtab*) | ||
56 | } | ||
51 | } | 57 | } |
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild index dade72be127b..f6c2ba93b21c 100644 --- a/arch/s390/include/asm/Kbuild +++ b/arch/s390/include/asm/Kbuild | |||
@@ -1,4 +1,9 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | 1 | # SPDX-License-Identifier: GPL-2.0 |
2 | generated-y += dis-defs.h | ||
3 | generated-y += facility-defs.h | ||
4 | generated-y += syscall_table.h | ||
5 | generated-y += unistd_nr.h | ||
6 | |||
2 | generic-y += asm-offsets.h | 7 | generic-y += asm-offsets.h |
3 | generic-y += cacheflush.h | 8 | generic-y += cacheflush.h |
4 | generic-y += clkdev.h | 9 | generic-y += clkdev.h |
diff --git a/arch/s390/include/asm/dis.h b/arch/s390/include/asm/dis.h index b0480c60a8e1..c18ed6091914 100644 --- a/arch/s390/include/asm/dis.h +++ b/arch/s390/include/asm/dis.h | |||
@@ -9,7 +9,7 @@ | |||
9 | #ifndef __ASM_S390_DIS_H__ | 9 | #ifndef __ASM_S390_DIS_H__ |
10 | #define __ASM_S390_DIS_H__ | 10 | #define __ASM_S390_DIS_H__ |
11 | 11 | ||
12 | #include <generated/dis.h> | 12 | #include <asm/dis-defs.h> |
13 | 13 | ||
14 | static inline int insn_length(unsigned char code) | 14 | static inline int insn_length(unsigned char code) |
15 | { | 15 | { |
diff --git a/arch/s390/include/asm/dwarf.h b/arch/s390/include/asm/dwarf.h new file mode 100644 index 000000000000..4f21ae561e4d --- /dev/null +++ b/arch/s390/include/asm/dwarf.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | #ifndef _ASM_S390_DWARF_H | ||
3 | #define _ASM_S390_DWARF_H | ||
4 | |||
5 | #ifdef __ASSEMBLY__ | ||
6 | |||
7 | #define CFI_STARTPROC .cfi_startproc | ||
8 | #define CFI_ENDPROC .cfi_endproc | ||
9 | #define CFI_DEF_CFA_OFFSET .cfi_def_cfa_offset | ||
10 | #define CFI_ADJUST_CFA_OFFSET .cfi_adjust_cfa_offset | ||
11 | #define CFI_RESTORE .cfi_restore | ||
12 | |||
13 | #ifdef CONFIG_AS_CFI_VAL_OFFSET | ||
14 | #define CFI_VAL_OFFSET .cfi_val_offset | ||
15 | #else | ||
16 | #define CFI_VAL_OFFSET # | ||
17 | #endif | ||
18 | |||
19 | #ifndef BUILD_VDSO | ||
20 | /* | ||
21 | * Emit CFI data in .debug_frame sections and not in .eh_frame | ||
22 | * sections. The .eh_frame CFI is used for runtime unwind | ||
23 | * information that is not being used. Hence, vmlinux.lds.S | ||
24 | * can discard the .eh_frame sections. | ||
25 | */ | ||
26 | .cfi_sections .debug_frame | ||
27 | #else | ||
28 | /* | ||
29 | * For vDSO, emit CFI data in both, .eh_frame and .debug_frame | ||
30 | * sections. | ||
31 | */ | ||
32 | .cfi_sections .eh_frame, .debug_frame | ||
33 | #endif | ||
34 | |||
35 | #endif /* __ASSEMBLY__ */ | ||
36 | |||
37 | #endif /* _ASM_S390_DWARF_H */ | ||
diff --git a/arch/s390/include/asm/facility.h b/arch/s390/include/asm/facility.h index f040644575b7..fbe0c4be3cd8 100644 --- a/arch/s390/include/asm/facility.h +++ b/arch/s390/include/asm/facility.h | |||
@@ -8,7 +8,7 @@ | |||
8 | #ifndef __ASM_FACILITY_H | 8 | #ifndef __ASM_FACILITY_H |
9 | #define __ASM_FACILITY_H | 9 | #define __ASM_FACILITY_H |
10 | 10 | ||
11 | #include <generated/facilities.h> | 11 | #include <asm/facility-defs.h> |
12 | #include <linux/string.h> | 12 | #include <linux/string.h> |
13 | #include <linux/preempt.h> | 13 | #include <linux/preempt.h> |
14 | #include <asm/lowcore.h> | 14 | #include <asm/lowcore.h> |
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 7807093b73be..fd79c0d35dc4 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #define _ASM_S390_UNISTD_H_ | 8 | #define _ASM_S390_UNISTD_H_ |
9 | 9 | ||
10 | #include <uapi/asm/unistd.h> | 10 | #include <uapi/asm/unistd.h> |
11 | #include <asm/unistd_nr.h> | ||
11 | 12 | ||
12 | #define __IGNORE_time | 13 | #define __IGNORE_time |
13 | #define __IGNORE_pkey_mprotect | 14 | #define __IGNORE_pkey_mprotect |
diff --git a/arch/s390/include/uapi/asm/Kbuild b/arch/s390/include/uapi/asm/Kbuild index 92b7c9b3e641..faef3f7e8353 100644 --- a/arch/s390/include/uapi/asm/Kbuild +++ b/arch/s390/include/uapi/asm/Kbuild | |||
@@ -2,6 +2,9 @@ | |||
2 | # UAPI Header export list | 2 | # UAPI Header export list |
3 | include include/uapi/asm-generic/Kbuild.asm | 3 | include include/uapi/asm-generic/Kbuild.asm |
4 | 4 | ||
5 | generated-y += unistd_32.h | ||
6 | generated-y += unistd_64.h | ||
7 | |||
5 | generic-y += errno.h | 8 | generic-y += errno.h |
6 | generic-y += fcntl.h | 9 | generic-y += fcntl.h |
7 | generic-y += ioctl.h | 10 | generic-y += ioctl.h |
diff --git a/arch/s390/include/uapi/asm/unistd.h b/arch/s390/include/uapi/asm/unistd.h index 725120939051..01b5fe8b9db6 100644 --- a/arch/s390/include/uapi/asm/unistd.h +++ b/arch/s390/include/uapi/asm/unistd.h | |||
@@ -8,405 +8,10 @@ | |||
8 | #ifndef _UAPI_ASM_S390_UNISTD_H_ | 8 | #ifndef _UAPI_ASM_S390_UNISTD_H_ |
9 | #define _UAPI_ASM_S390_UNISTD_H_ | 9 | #define _UAPI_ASM_S390_UNISTD_H_ |
10 | 10 | ||
11 | /* | 11 | #ifdef __s390x__ |
12 | * This file contains the system call numbers. | 12 | #include <asm/unistd_64.h> |
13 | */ | ||
14 | |||
15 | #define __NR_exit 1 | ||
16 | #define __NR_fork 2 | ||
17 | #define __NR_read 3 | ||
18 | #define __NR_write 4 | ||
19 | #define __NR_open 5 | ||
20 | #define __NR_close 6 | ||
21 | #define __NR_restart_syscall 7 | ||
22 | #define __NR_creat 8 | ||
23 | #define __NR_link 9 | ||
24 | #define __NR_unlink 10 | ||
25 | #define __NR_execve 11 | ||
26 | #define __NR_chdir 12 | ||
27 | #define __NR_mknod 14 | ||
28 | #define __NR_chmod 15 | ||
29 | #define __NR_lseek 19 | ||
30 | #define __NR_getpid 20 | ||
31 | #define __NR_mount 21 | ||
32 | #define __NR_umount 22 | ||
33 | #define __NR_ptrace 26 | ||
34 | #define __NR_alarm 27 | ||
35 | #define __NR_pause 29 | ||
36 | #define __NR_utime 30 | ||
37 | #define __NR_access 33 | ||
38 | #define __NR_nice 34 | ||
39 | #define __NR_sync 36 | ||
40 | #define __NR_kill 37 | ||
41 | #define __NR_rename 38 | ||
42 | #define __NR_mkdir 39 | ||
43 | #define __NR_rmdir 40 | ||
44 | #define __NR_dup 41 | ||
45 | #define __NR_pipe 42 | ||
46 | #define __NR_times 43 | ||
47 | #define __NR_brk 45 | ||
48 | #define __NR_signal 48 | ||
49 | #define __NR_acct 51 | ||
50 | #define __NR_umount2 52 | ||
51 | #define __NR_ioctl 54 | ||
52 | #define __NR_fcntl 55 | ||
53 | #define __NR_setpgid 57 | ||
54 | #define __NR_umask 60 | ||
55 | #define __NR_chroot 61 | ||
56 | #define __NR_ustat 62 | ||
57 | #define __NR_dup2 63 | ||
58 | #define __NR_getppid 64 | ||
59 | #define __NR_getpgrp 65 | ||
60 | #define __NR_setsid 66 | ||
61 | #define __NR_sigaction 67 | ||
62 | #define __NR_sigsuspend 72 | ||
63 | #define __NR_sigpending 73 | ||
64 | #define __NR_sethostname 74 | ||
65 | #define __NR_setrlimit 75 | ||
66 | #define __NR_getrusage 77 | ||
67 | #define __NR_gettimeofday 78 | ||
68 | #define __NR_settimeofday 79 | ||
69 | #define __NR_symlink 83 | ||
70 | #define __NR_readlink 85 | ||
71 | #define __NR_uselib 86 | ||
72 | #define __NR_swapon 87 | ||
73 | #define __NR_reboot 88 | ||
74 | #define __NR_readdir 89 | ||
75 | #define __NR_mmap 90 | ||
76 | #define __NR_munmap 91 | ||
77 | #define __NR_truncate 92 | ||
78 | #define __NR_ftruncate 93 | ||
79 | #define __NR_fchmod 94 | ||
80 | #define __NR_getpriority 96 | ||
81 | #define __NR_setpriority 97 | ||
82 | #define __NR_statfs 99 | ||
83 | #define __NR_fstatfs 100 | ||
84 | #define __NR_socketcall 102 | ||
85 | #define __NR_syslog 103 | ||
86 | #define __NR_setitimer 104 | ||
87 | #define __NR_getitimer 105 | ||
88 | #define __NR_stat 106 | ||
89 | #define __NR_lstat 107 | ||
90 | #define __NR_fstat 108 | ||
91 | #define __NR_lookup_dcookie 110 | ||
92 | #define __NR_vhangup 111 | ||
93 | #define __NR_idle 112 | ||
94 | #define __NR_wait4 114 | ||
95 | #define __NR_swapoff 115 | ||
96 | #define __NR_sysinfo 116 | ||
97 | #define __NR_ipc 117 | ||
98 | #define __NR_fsync 118 | ||
99 | #define __NR_sigreturn 119 | ||
100 | #define __NR_clone 120 | ||
101 | #define __NR_setdomainname 121 | ||
102 | #define __NR_uname 122 | ||
103 | #define __NR_adjtimex 124 | ||
104 | #define __NR_mprotect 125 | ||
105 | #define __NR_sigprocmask 126 | ||
106 | #define __NR_create_module 127 | ||
107 | #define __NR_init_module 128 | ||
108 | #define __NR_delete_module 129 | ||
109 | #define __NR_get_kernel_syms 130 | ||
110 | #define __NR_quotactl 131 | ||
111 | #define __NR_getpgid 132 | ||
112 | #define __NR_fchdir 133 | ||
113 | #define __NR_bdflush 134 | ||
114 | #define __NR_sysfs 135 | ||
115 | #define __NR_personality 136 | ||
116 | #define __NR_afs_syscall 137 /* Syscall for Andrew File System */ | ||
117 | #define __NR_getdents 141 | ||
118 | #define __NR_flock 143 | ||
119 | #define __NR_msync 144 | ||
120 | #define __NR_readv 145 | ||
121 | #define __NR_writev 146 | ||
122 | #define __NR_getsid 147 | ||
123 | #define __NR_fdatasync 148 | ||
124 | #define __NR__sysctl 149 | ||
125 | #define __NR_mlock 150 | ||
126 | #define __NR_munlock 151 | ||
127 | #define __NR_mlockall 152 | ||
128 | #define __NR_munlockall 153 | ||
129 | #define __NR_sched_setparam 154 | ||
130 | #define __NR_sched_getparam 155 | ||
131 | #define __NR_sched_setscheduler 156 | ||
132 | #define __NR_sched_getscheduler 157 | ||
133 | #define __NR_sched_yield 158 | ||
134 | #define __NR_sched_get_priority_max 159 | ||
135 | #define __NR_sched_get_priority_min 160 | ||
136 | #define __NR_sched_rr_get_interval 161 | ||
137 | #define __NR_nanosleep 162 | ||
138 | #define __NR_mremap 163 | ||
139 | #define __NR_query_module 167 | ||
140 | #define __NR_poll 168 | ||
141 | #define __NR_nfsservctl 169 | ||
142 | #define __NR_prctl 172 | ||
143 | #define __NR_rt_sigreturn 173 | ||
144 | #define __NR_rt_sigaction 174 | ||
145 | #define __NR_rt_sigprocmask 175 | ||
146 | #define __NR_rt_sigpending 176 | ||
147 | #define __NR_rt_sigtimedwait 177 | ||
148 | #define __NR_rt_sigqueueinfo 178 | ||
149 | #define __NR_rt_sigsuspend 179 | ||
150 | #define __NR_pread64 180 | ||
151 | #define __NR_pwrite64 181 | ||
152 | #define __NR_getcwd 183 | ||
153 | #define __NR_capget 184 | ||
154 | #define __NR_capset 185 | ||
155 | #define __NR_sigaltstack 186 | ||
156 | #define __NR_sendfile 187 | ||
157 | #define __NR_getpmsg 188 | ||
158 | #define __NR_putpmsg 189 | ||
159 | #define __NR_vfork 190 | ||
160 | #define __NR_pivot_root 217 | ||
161 | #define __NR_mincore 218 | ||
162 | #define __NR_madvise 219 | ||
163 | #define __NR_getdents64 220 | ||
164 | #define __NR_readahead 222 | ||
165 | #define __NR_setxattr 224 | ||
166 | #define __NR_lsetxattr 225 | ||
167 | #define __NR_fsetxattr 226 | ||
168 | #define __NR_getxattr 227 | ||
169 | #define __NR_lgetxattr 228 | ||
170 | #define __NR_fgetxattr 229 | ||
171 | #define __NR_listxattr 230 | ||
172 | #define __NR_llistxattr 231 | ||
173 | #define __NR_flistxattr 232 | ||
174 | #define __NR_removexattr 233 | ||
175 | #define __NR_lremovexattr 234 | ||
176 | #define __NR_fremovexattr 235 | ||
177 | #define __NR_gettid 236 | ||
178 | #define __NR_tkill 237 | ||
179 | #define __NR_futex 238 | ||
180 | #define __NR_sched_setaffinity 239 | ||
181 | #define __NR_sched_getaffinity 240 | ||
182 | #define __NR_tgkill 241 | ||
183 | /* Number 242 is reserved for tux */ | ||
184 | #define __NR_io_setup 243 | ||
185 | #define __NR_io_destroy 244 | ||
186 | #define __NR_io_getevents 245 | ||
187 | #define __NR_io_submit 246 | ||
188 | #define __NR_io_cancel 247 | ||
189 | #define __NR_exit_group 248 | ||
190 | #define __NR_epoll_create 249 | ||
191 | #define __NR_epoll_ctl 250 | ||
192 | #define __NR_epoll_wait 251 | ||
193 | #define __NR_set_tid_address 252 | ||
194 | #define __NR_fadvise64 253 | ||
195 | #define __NR_timer_create 254 | ||
196 | #define __NR_timer_settime 255 | ||
197 | #define __NR_timer_gettime 256 | ||
198 | #define __NR_timer_getoverrun 257 | ||
199 | #define __NR_timer_delete 258 | ||
200 | #define __NR_clock_settime 259 | ||
201 | #define __NR_clock_gettime 260 | ||
202 | #define __NR_clock_getres 261 | ||
203 | #define __NR_clock_nanosleep 262 | ||
204 | /* Number 263 is reserved for vserver */ | ||
205 | #define __NR_statfs64 265 | ||
206 | #define __NR_fstatfs64 266 | ||
207 | #define __NR_remap_file_pages 267 | ||
208 | #define __NR_mbind 268 | ||
209 | #define __NR_get_mempolicy 269 | ||
210 | #define __NR_set_mempolicy 270 | ||
211 | #define __NR_mq_open 271 | ||
212 | #define __NR_mq_unlink 272 | ||
213 | #define __NR_mq_timedsend 273 | ||
214 | #define __NR_mq_timedreceive 274 | ||
215 | #define __NR_mq_notify 275 | ||
216 | #define __NR_mq_getsetattr 276 | ||
217 | #define __NR_kexec_load 277 | ||
218 | #define __NR_add_key 278 | ||
219 | #define __NR_request_key 279 | ||
220 | #define __NR_keyctl 280 | ||
221 | #define __NR_waitid 281 | ||
222 | #define __NR_ioprio_set 282 | ||
223 | #define __NR_ioprio_get 283 | ||
224 | #define __NR_inotify_init 284 | ||
225 | #define __NR_inotify_add_watch 285 | ||
226 | #define __NR_inotify_rm_watch 286 | ||
227 | #define __NR_migrate_pages 287 | ||
228 | #define __NR_openat 288 | ||
229 | #define __NR_mkdirat 289 | ||
230 | #define __NR_mknodat 290 | ||
231 | #define __NR_fchownat 291 | ||
232 | #define __NR_futimesat 292 | ||
233 | #define __NR_unlinkat 294 | ||
234 | #define __NR_renameat 295 | ||
235 | #define __NR_linkat 296 | ||
236 | #define __NR_symlinkat 297 | ||
237 | #define __NR_readlinkat 298 | ||
238 | #define __NR_fchmodat 299 | ||
239 | #define __NR_faccessat 300 | ||
240 | #define __NR_pselect6 301 | ||
241 | #define __NR_ppoll 302 | ||
242 | #define __NR_unshare 303 | ||
243 | #define __NR_set_robust_list 304 | ||
244 | #define __NR_get_robust_list 305 | ||
245 | #define __NR_splice 306 | ||
246 | #define __NR_sync_file_range 307 | ||
247 | #define __NR_tee 308 | ||
248 | #define __NR_vmsplice 309 | ||
249 | #define __NR_move_pages 310 | ||
250 | #define __NR_getcpu 311 | ||
251 | #define __NR_epoll_pwait 312 | ||
252 | #define __NR_utimes 313 | ||
253 | #define __NR_fallocate 314 | ||
254 | #define __NR_utimensat 315 | ||
255 | #define __NR_signalfd 316 | ||
256 | #define __NR_timerfd 317 | ||
257 | #define __NR_eventfd 318 | ||
258 | #define __NR_timerfd_create 319 | ||
259 | #define __NR_timerfd_settime 320 | ||
260 | #define __NR_timerfd_gettime 321 | ||
261 | #define __NR_signalfd4 322 | ||
262 | #define __NR_eventfd2 323 | ||
263 | #define __NR_inotify_init1 324 | ||
264 | #define __NR_pipe2 325 | ||
265 | #define __NR_dup3 326 | ||
266 | #define __NR_epoll_create1 327 | ||
267 | #define __NR_preadv 328 | ||
268 | #define __NR_pwritev 329 | ||
269 | #define __NR_rt_tgsigqueueinfo 330 | ||
270 | #define __NR_perf_event_open 331 | ||
271 | #define __NR_fanotify_init 332 | ||
272 | #define __NR_fanotify_mark 333 | ||
273 | #define __NR_prlimit64 334 | ||
274 | #define __NR_name_to_handle_at 335 | ||
275 | #define __NR_open_by_handle_at 336 | ||
276 | #define __NR_clock_adjtime 337 | ||
277 | #define __NR_syncfs 338 | ||
278 | #define __NR_setns 339 | ||
279 | #define __NR_process_vm_readv 340 | ||
280 | #define __NR_process_vm_writev 341 | ||
281 | #define __NR_s390_runtime_instr 342 | ||
282 | #define __NR_kcmp 343 | ||
283 | #define __NR_finit_module 344 | ||
284 | #define __NR_sched_setattr 345 | ||
285 | #define __NR_sched_getattr 346 | ||
286 | #define __NR_renameat2 347 | ||
287 | #define __NR_seccomp 348 | ||
288 | #define __NR_getrandom 349 | ||
289 | #define __NR_memfd_create 350 | ||
290 | #define __NR_bpf 351 | ||
291 | #define __NR_s390_pci_mmio_write 352 | ||
292 | #define __NR_s390_pci_mmio_read 353 | ||
293 | #define __NR_execveat 354 | ||
294 | #define __NR_userfaultfd 355 | ||
295 | #define __NR_membarrier 356 | ||
296 | #define __NR_recvmmsg 357 | ||
297 | #define __NR_sendmmsg 358 | ||
298 | #define __NR_socket 359 | ||
299 | #define __NR_socketpair 360 | ||
300 | #define __NR_bind 361 | ||
301 | #define __NR_connect 362 | ||
302 | #define __NR_listen 363 | ||
303 | #define __NR_accept4 364 | ||
304 | #define __NR_getsockopt 365 | ||
305 | #define __NR_setsockopt 366 | ||
306 | #define __NR_getsockname 367 | ||
307 | #define __NR_getpeername 368 | ||
308 | #define __NR_sendto 369 | ||
309 | #define __NR_sendmsg 370 | ||
310 | #define __NR_recvfrom 371 | ||
311 | #define __NR_recvmsg 372 | ||
312 | #define __NR_shutdown 373 | ||
313 | #define __NR_mlock2 374 | ||
314 | #define __NR_copy_file_range 375 | ||
315 | #define __NR_preadv2 376 | ||
316 | #define __NR_pwritev2 377 | ||
317 | #define __NR_s390_guarded_storage 378 | ||
318 | #define __NR_statx 379 | ||
319 | #define __NR_s390_sthyi 380 | ||
320 | #define NR_syscalls 381 | ||
321 | |||
322 | /* | ||
323 | * There are some system calls that are not present on 64 bit, some | ||
324 | * have a different name although they do the same (e.g. __NR_chown32 | ||
325 | * is __NR_chown on 64 bit). | ||
326 | */ | ||
327 | #ifndef __s390x__ | ||
328 | |||
329 | #define __NR_time 13 | ||
330 | #define __NR_lchown 16 | ||
331 | #define __NR_setuid 23 | ||
332 | #define __NR_getuid 24 | ||
333 | #define __NR_stime 25 | ||
334 | #define __NR_setgid 46 | ||
335 | #define __NR_getgid 47 | ||
336 | #define __NR_geteuid 49 | ||
337 | #define __NR_getegid 50 | ||
338 | #define __NR_setreuid 70 | ||
339 | #define __NR_setregid 71 | ||
340 | #define __NR_getrlimit 76 | ||
341 | #define __NR_getgroups 80 | ||
342 | #define __NR_setgroups 81 | ||
343 | #define __NR_fchown 95 | ||
344 | #define __NR_ioperm 101 | ||
345 | #define __NR_setfsuid 138 | ||
346 | #define __NR_setfsgid 139 | ||
347 | #define __NR__llseek 140 | ||
348 | #define __NR__newselect 142 | ||
349 | #define __NR_setresuid 164 | ||
350 | #define __NR_getresuid 165 | ||
351 | #define __NR_setresgid 170 | ||
352 | #define __NR_getresgid 171 | ||
353 | #define __NR_chown 182 | ||
354 | #define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ | ||
355 | #define __NR_mmap2 192 | ||
356 | #define __NR_truncate64 193 | ||
357 | #define __NR_ftruncate64 194 | ||
358 | #define __NR_stat64 195 | ||
359 | #define __NR_lstat64 196 | ||
360 | #define __NR_fstat64 197 | ||
361 | #define __NR_lchown32 198 | ||
362 | #define __NR_getuid32 199 | ||
363 | #define __NR_getgid32 200 | ||
364 | #define __NR_geteuid32 201 | ||
365 | #define __NR_getegid32 202 | ||
366 | #define __NR_setreuid32 203 | ||
367 | #define __NR_setregid32 204 | ||
368 | #define __NR_getgroups32 205 | ||
369 | #define __NR_setgroups32 206 | ||
370 | #define __NR_fchown32 207 | ||
371 | #define __NR_setresuid32 208 | ||
372 | #define __NR_getresuid32 209 | ||
373 | #define __NR_setresgid32 210 | ||
374 | #define __NR_getresgid32 211 | ||
375 | #define __NR_chown32 212 | ||
376 | #define __NR_setuid32 213 | ||
377 | #define __NR_setgid32 214 | ||
378 | #define __NR_setfsuid32 215 | ||
379 | #define __NR_setfsgid32 216 | ||
380 | #define __NR_fcntl64 221 | ||
381 | #define __NR_sendfile64 223 | ||
382 | #define __NR_fadvise64_64 264 | ||
383 | #define __NR_fstatat64 293 | ||
384 | |||
385 | #else | 13 | #else |
386 | 14 | #include <asm/unistd_32.h> | |
387 | #define __NR_select 142 | ||
388 | #define __NR_getrlimit 191 /* SuS compliant getrlimit */ | ||
389 | #define __NR_lchown 198 | ||
390 | #define __NR_getuid 199 | ||
391 | #define __NR_getgid 200 | ||
392 | #define __NR_geteuid 201 | ||
393 | #define __NR_getegid 202 | ||
394 | #define __NR_setreuid 203 | ||
395 | #define __NR_setregid 204 | ||
396 | #define __NR_getgroups 205 | ||
397 | #define __NR_setgroups 206 | ||
398 | #define __NR_fchown 207 | ||
399 | #define __NR_setresuid 208 | ||
400 | #define __NR_getresuid 209 | ||
401 | #define __NR_setresgid 210 | ||
402 | #define __NR_getresgid 211 | ||
403 | #define __NR_chown 212 | ||
404 | #define __NR_setuid 213 | ||
405 | #define __NR_setgid 214 | ||
406 | #define __NR_setfsuid 215 | ||
407 | #define __NR_setfsgid 216 | ||
408 | #define __NR_newfstatat 293 | ||
409 | |||
410 | #endif | 15 | #endif |
411 | 16 | ||
412 | #endif /* _UAPI_ASM_S390_UNISTD_H_ */ | 17 | #endif /* _UAPI_ASM_S390_UNISTD_H_ */ |
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 59eea9c65d3e..79b7a3438d54 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
@@ -110,7 +110,7 @@ COMPAT_SYSCALL_DEFINE2(s390_setregid16, u16, rgid, u16, egid) | |||
110 | 110 | ||
111 | COMPAT_SYSCALL_DEFINE1(s390_setgid16, u16, gid) | 111 | COMPAT_SYSCALL_DEFINE1(s390_setgid16, u16, gid) |
112 | { | 112 | { |
113 | return sys_setgid((gid_t)gid); | 113 | return sys_setgid(low2highgid(gid)); |
114 | } | 114 | } |
115 | 115 | ||
116 | COMPAT_SYSCALL_DEFINE2(s390_setreuid16, u16, ruid, u16, euid) | 116 | COMPAT_SYSCALL_DEFINE2(s390_setreuid16, u16, ruid, u16, euid) |
@@ -120,7 +120,7 @@ COMPAT_SYSCALL_DEFINE2(s390_setreuid16, u16, ruid, u16, euid) | |||
120 | 120 | ||
121 | COMPAT_SYSCALL_DEFINE1(s390_setuid16, u16, uid) | 121 | COMPAT_SYSCALL_DEFINE1(s390_setuid16, u16, uid) |
122 | { | 122 | { |
123 | return sys_setuid((uid_t)uid); | 123 | return sys_setuid(low2highuid(uid)); |
124 | } | 124 | } |
125 | 125 | ||
126 | COMPAT_SYSCALL_DEFINE3(s390_setresuid16, u16, ruid, u16, euid, u16, suid) | 126 | COMPAT_SYSCALL_DEFINE3(s390_setresuid16, u16, ruid, u16, euid, u16, suid) |
@@ -173,12 +173,12 @@ COMPAT_SYSCALL_DEFINE3(s390_getresgid16, u16 __user *, rgidp, | |||
173 | 173 | ||
174 | COMPAT_SYSCALL_DEFINE1(s390_setfsuid16, u16, uid) | 174 | COMPAT_SYSCALL_DEFINE1(s390_setfsuid16, u16, uid) |
175 | { | 175 | { |
176 | return sys_setfsuid((uid_t)uid); | 176 | return sys_setfsuid(low2highuid(uid)); |
177 | } | 177 | } |
178 | 178 | ||
179 | COMPAT_SYSCALL_DEFINE1(s390_setfsgid16, u16, gid) | 179 | COMPAT_SYSCALL_DEFINE1(s390_setfsgid16, u16, gid) |
180 | { | 180 | { |
181 | return sys_setfsgid((gid_t)gid); | 181 | return sys_setfsgid(low2highgid(gid)); |
182 | } | 182 | } |
183 | 183 | ||
184 | static int groups16_to_user(u16 __user *grouplist, struct group_info *group_info) | 184 | static int groups16_to_user(u16 __user *grouplist, struct group_info *group_info) |
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 9e5f6cd8e4c2..6cd444d25545 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -1392,7 +1392,7 @@ cleanup_critical: | |||
1392 | #define SYSCALL(esame,emu) .long esame | 1392 | #define SYSCALL(esame,emu) .long esame |
1393 | .globl sys_call_table | 1393 | .globl sys_call_table |
1394 | sys_call_table: | 1394 | sys_call_table: |
1395 | #include "syscalls.S" | 1395 | #include "asm/syscall_table.h" |
1396 | #undef SYSCALL | 1396 | #undef SYSCALL |
1397 | 1397 | ||
1398 | #ifdef CONFIG_COMPAT | 1398 | #ifdef CONFIG_COMPAT |
@@ -1400,6 +1400,6 @@ sys_call_table: | |||
1400 | #define SYSCALL(esame,emu) .long emu | 1400 | #define SYSCALL(esame,emu) .long emu |
1401 | .globl sys_call_table_emu | 1401 | .globl sys_call_table_emu |
1402 | sys_call_table_emu: | 1402 | sys_call_table_emu: |
1403 | #include "syscalls.S" | 1403 | #include "asm/syscall_table.h" |
1404 | #undef SYSCALL | 1404 | #undef SYSCALL |
1405 | #endif | 1405 | #endif |
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index b86fa3ee4927..5c42f16a54c4 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -66,7 +66,7 @@ __HEAD | |||
66 | # subroutine to wait for end I/O | 66 | # subroutine to wait for end I/O |
67 | # | 67 | # |
68 | .Lirqwait: | 68 | .Lirqwait: |
69 | mvc 0x1f0(16),.Lnewpsw # set up IO interrupt psw | 69 | mvc __LC_IO_NEW_PSW(16),.Lnewpsw # set up IO interrupt psw |
70 | lpsw .Lwaitpsw | 70 | lpsw .Lwaitpsw |
71 | .Lioint: | 71 | .Lioint: |
72 | br %r14 | 72 | br %r14 |
@@ -98,7 +98,7 @@ __HEAD | |||
98 | bnz .Llderr | 98 | bnz .Llderr |
99 | .Lwait4irq: | 99 | .Lwait4irq: |
100 | bas %r14,.Lirqwait | 100 | bas %r14,.Lirqwait |
101 | c %r1,0xb8 # compare subchannel number | 101 | c %r1,__LC_SUBCHANNEL_ID # compare subchannel number |
102 | bne .Lwait4irq | 102 | bne .Lwait4irq |
103 | tsch 0(%r5) | 103 | tsch 0(%r5) |
104 | 104 | ||
@@ -156,9 +156,9 @@ iplstart: | |||
156 | .fill 16,4,0x0 | 156 | .fill 16,4,0x0 |
157 | 0: lmh %r0,%r15,0(%r13) # clear high-order half of gprs | 157 | 0: lmh %r0,%r15,0(%r13) # clear high-order half of gprs |
158 | sam31 # switch to 31 bit addressing mode | 158 | sam31 # switch to 31 bit addressing mode |
159 | lh %r1,0xb8 # test if subchannel number | 159 | lh %r1,__LC_SUBCHANNEL_ID # test if subchannel number |
160 | bct %r1,.Lnoload # is valid | 160 | bct %r1,.Lnoload # is valid |
161 | l %r1,0xb8 # load ipl subchannel number | 161 | l %r1,__LC_SUBCHANNEL_ID # load ipl subchannel number |
162 | la %r2,IPL_BS # load start address | 162 | la %r2,IPL_BS # load start address |
163 | bas %r14,.Lloader # load rest of ipl image | 163 | bas %r14,.Lloader # load rest of ipl image |
164 | l %r12,.Lparm # pointer to parameter area | 164 | l %r12,.Lparm # pointer to parameter area |
@@ -239,7 +239,7 @@ iplstart: | |||
239 | bz .Lnoreset | 239 | bz .Lnoreset |
240 | .Lwaitforirq: | 240 | .Lwaitforirq: |
241 | bas %r14,.Lirqwait # wait for IO interrupt | 241 | bas %r14,.Lirqwait # wait for IO interrupt |
242 | c %r1,0xb8 # compare subchannel number | 242 | c %r1,__LC_SUBCHANNEL_ID # compare subchannel number |
243 | bne .Lwaitforirq | 243 | bne .Lwaitforirq |
244 | la %r5,.Lirb | 244 | la %r5,.Lirb |
245 | tsch 0(%r5) | 245 | tsch 0(%r5) |
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index 8ecb8726ac47..da5cc3b469aa 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -119,13 +119,9 @@ static char *dump_type_str(enum dump_type type) | |||
119 | } | 119 | } |
120 | } | 120 | } |
121 | 121 | ||
122 | /* | 122 | static u8 ipl_ssid; |
123 | * Must be in data section since the bss section | 123 | static u16 ipl_devno; |
124 | * is not cleared when these are accessed. | 124 | u32 ipl_flags; |
125 | */ | ||
126 | static u8 ipl_ssid __section(.data) = 0; | ||
127 | static u16 ipl_devno __section(.data) = 0; | ||
128 | u32 ipl_flags __section(.data) = 0; | ||
129 | 125 | ||
130 | enum ipl_method { | 126 | enum ipl_method { |
131 | REIPL_METHOD_CCW_CIO, | 127 | REIPL_METHOD_CCW_CIO, |
@@ -148,7 +144,7 @@ enum dump_method { | |||
148 | DUMP_METHOD_FCP_DIAG, | 144 | DUMP_METHOD_FCP_DIAG, |
149 | }; | 145 | }; |
150 | 146 | ||
151 | static int diag308_set_works = 0; | 147 | static int diag308_set_works; |
152 | 148 | ||
153 | static struct ipl_parameter_block ipl_block; | 149 | static struct ipl_parameter_block ipl_block; |
154 | 150 | ||
diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c index af3722c28fd9..943d13e90c98 100644 --- a/arch/s390/kernel/kprobes.c +++ b/arch/s390/kernel/kprobes.c | |||
@@ -20,7 +20,6 @@ | |||
20 | #include <linux/ftrace.h> | 20 | #include <linux/ftrace.h> |
21 | #include <asm/set_memory.h> | 21 | #include <asm/set_memory.h> |
22 | #include <asm/sections.h> | 22 | #include <asm/sections.h> |
23 | #include <linux/uaccess.h> | ||
24 | #include <asm/dis.h> | 23 | #include <asm/dis.h> |
25 | 24 | ||
26 | DEFINE_PER_CPU(struct kprobe *, current_kprobe); | 25 | DEFINE_PER_CPU(struct kprobe *, current_kprobe); |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S deleted file mode 100644 index f7fc63385553..000000000000 --- a/arch/s390/kernel/syscalls.S +++ /dev/null | |||
@@ -1,392 +0,0 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | /* | ||
3 | * definitions for sys_call_table, each line represents an | ||
4 | * entry in the table in the form | ||
5 | * SYSCALL(64 bit syscall, 31 bit emulated syscall) | ||
6 | * | ||
7 | * this file is meant to be included from entry.S | ||
8 | */ | ||
9 | |||
10 | #define NI_SYSCALL SYSCALL(sys_ni_syscall,sys_ni_syscall) | ||
11 | |||
12 | NI_SYSCALL /* 0 */ | ||
13 | SYSCALL(sys_exit,sys_exit) | ||
14 | SYSCALL(sys_fork,sys_fork) | ||
15 | SYSCALL(sys_read,compat_sys_s390_read) | ||
16 | SYSCALL(sys_write,compat_sys_s390_write) | ||
17 | SYSCALL(sys_open,compat_sys_open) /* 5 */ | ||
18 | SYSCALL(sys_close,sys_close) | ||
19 | SYSCALL(sys_restart_syscall,sys_restart_syscall) | ||
20 | SYSCALL(sys_creat,compat_sys_creat) | ||
21 | SYSCALL(sys_link,compat_sys_link) | ||
22 | SYSCALL(sys_unlink,compat_sys_unlink) /* 10 */ | ||
23 | SYSCALL(sys_execve,compat_sys_execve) | ||
24 | SYSCALL(sys_chdir,compat_sys_chdir) | ||
25 | SYSCALL(sys_ni_syscall,compat_sys_time) /* old time syscall */ | ||
26 | SYSCALL(sys_mknod,compat_sys_mknod) | ||
27 | SYSCALL(sys_chmod,compat_sys_chmod) /* 15 */ | ||
28 | SYSCALL(sys_ni_syscall,compat_sys_s390_lchown16) /* old lchown16 syscall*/ | ||
29 | NI_SYSCALL /* old break syscall holder */ | ||
30 | NI_SYSCALL /* old stat syscall holder */ | ||
31 | SYSCALL(sys_lseek,compat_sys_lseek) | ||
32 | SYSCALL(sys_getpid,sys_getpid) /* 20 */ | ||
33 | SYSCALL(sys_mount,compat_sys_mount) | ||
34 | SYSCALL(sys_oldumount,compat_sys_oldumount) | ||
35 | SYSCALL(sys_ni_syscall,compat_sys_s390_setuid16) /* old setuid16 syscall*/ | ||
36 | SYSCALL(sys_ni_syscall,compat_sys_s390_getuid16) /* old getuid16 syscall*/ | ||
37 | SYSCALL(sys_ni_syscall,compat_sys_stime) /* 25 old stime syscall */ | ||
38 | SYSCALL(sys_ptrace,compat_sys_ptrace) | ||
39 | SYSCALL(sys_alarm,sys_alarm) | ||
40 | NI_SYSCALL /* old fstat syscall */ | ||
41 | SYSCALL(sys_pause,sys_pause) | ||
42 | SYSCALL(sys_utime,compat_sys_utime) /* 30 */ | ||
43 | NI_SYSCALL /* old stty syscall */ | ||
44 | NI_SYSCALL /* old gtty syscall */ | ||
45 | SYSCALL(sys_access,compat_sys_access) | ||
46 | SYSCALL(sys_nice,sys_nice) | ||
47 | NI_SYSCALL /* 35 old ftime syscall */ | ||
48 | SYSCALL(sys_sync,sys_sync) | ||
49 | SYSCALL(sys_kill,sys_kill) | ||
50 | SYSCALL(sys_rename,compat_sys_rename) | ||
51 | SYSCALL(sys_mkdir,compat_sys_mkdir) | ||
52 | SYSCALL(sys_rmdir,compat_sys_rmdir) /* 40 */ | ||
53 | SYSCALL(sys_dup,sys_dup) | ||
54 | SYSCALL(sys_pipe,compat_sys_pipe) | ||
55 | SYSCALL(sys_times,compat_sys_times) | ||
56 | NI_SYSCALL /* old prof syscall */ | ||
57 | SYSCALL(sys_brk,compat_sys_brk) /* 45 */ | ||
58 | SYSCALL(sys_ni_syscall,compat_sys_s390_setgid16) /* old setgid16 syscall*/ | ||
59 | SYSCALL(sys_ni_syscall,compat_sys_s390_getgid16) /* old getgid16 syscall*/ | ||
60 | SYSCALL(sys_signal,compat_sys_signal) | ||
61 | SYSCALL(sys_ni_syscall,compat_sys_s390_geteuid16) /* old geteuid16 syscall */ | ||
62 | SYSCALL(sys_ni_syscall,compat_sys_s390_getegid16) /* 50 old getegid16 syscall */ | ||
63 | SYSCALL(sys_acct,compat_sys_acct) | ||
64 | SYSCALL(sys_umount,compat_sys_umount) | ||
65 | NI_SYSCALL /* old lock syscall */ | ||
66 | SYSCALL(sys_ioctl,compat_sys_ioctl) | ||
67 | SYSCALL(sys_fcntl,compat_sys_fcntl) /* 55 */ | ||
68 | NI_SYSCALL /* intel mpx syscall */ | ||
69 | SYSCALL(sys_setpgid,sys_setpgid) | ||
70 | NI_SYSCALL /* old ulimit syscall */ | ||
71 | NI_SYSCALL /* old uname syscall */ | ||
72 | SYSCALL(sys_umask,sys_umask) /* 60 */ | ||
73 | SYSCALL(sys_chroot,compat_sys_chroot) | ||
74 | SYSCALL(sys_ustat,compat_sys_ustat) | ||
75 | SYSCALL(sys_dup2,sys_dup2) | ||
76 | SYSCALL(sys_getppid,sys_getppid) | ||
77 | SYSCALL(sys_getpgrp,sys_getpgrp) /* 65 */ | ||
78 | SYSCALL(sys_setsid,sys_setsid) | ||
79 | SYSCALL(sys_sigaction,compat_sys_sigaction) | ||
80 | NI_SYSCALL /* old sgetmask syscall*/ | ||
81 | NI_SYSCALL /* old ssetmask syscall*/ | ||
82 | SYSCALL(sys_ni_syscall,compat_sys_s390_setreuid16) /* old setreuid16 syscall */ | ||
83 | SYSCALL(sys_ni_syscall,compat_sys_s390_setregid16) /* old setregid16 syscall */ | ||
84 | SYSCALL(sys_sigsuspend,compat_sys_sigsuspend) | ||
85 | SYSCALL(sys_sigpending,compat_sys_sigpending) | ||
86 | SYSCALL(sys_sethostname,compat_sys_sethostname) | ||
87 | SYSCALL(sys_setrlimit,compat_sys_setrlimit) /* 75 */ | ||
88 | SYSCALL(sys_getrlimit,compat_sys_old_getrlimit) | ||
89 | SYSCALL(sys_getrusage,compat_sys_getrusage) | ||
90 | SYSCALL(sys_gettimeofday,compat_sys_gettimeofday) | ||
91 | SYSCALL(sys_settimeofday,compat_sys_settimeofday) | ||
92 | SYSCALL(sys_ni_syscall,compat_sys_s390_getgroups16) /* 80 old getgroups16 syscall */ | ||
93 | SYSCALL(sys_ni_syscall,compat_sys_s390_setgroups16) /* old setgroups16 syscall */ | ||
94 | NI_SYSCALL /* old select syscall */ | ||
95 | SYSCALL(sys_symlink,compat_sys_symlink) | ||
96 | NI_SYSCALL /* old lstat syscall */ | ||
97 | SYSCALL(sys_readlink,compat_sys_readlink) /* 85 */ | ||
98 | SYSCALL(sys_uselib,compat_sys_uselib) | ||
99 | SYSCALL(sys_swapon,compat_sys_swapon) | ||
100 | SYSCALL(sys_reboot,compat_sys_reboot) | ||
101 | SYSCALL(sys_ni_syscall,compat_sys_old_readdir) /* old readdir syscall */ | ||
102 | SYSCALL(sys_old_mmap,compat_sys_s390_old_mmap) /* 90 */ | ||
103 | SYSCALL(sys_munmap,compat_sys_munmap) | ||
104 | SYSCALL(sys_truncate,compat_sys_truncate) | ||
105 | SYSCALL(sys_ftruncate,compat_sys_ftruncate) | ||
106 | SYSCALL(sys_fchmod,sys_fchmod) | ||
107 | SYSCALL(sys_ni_syscall,compat_sys_s390_fchown16) /* 95 old fchown16 syscall*/ | ||
108 | SYSCALL(sys_getpriority,sys_getpriority) | ||
109 | SYSCALL(sys_setpriority,sys_setpriority) | ||
110 | NI_SYSCALL /* old profil syscall */ | ||
111 | SYSCALL(sys_statfs,compat_sys_statfs) | ||
112 | SYSCALL(sys_fstatfs,compat_sys_fstatfs) /* 100 */ | ||
113 | NI_SYSCALL /* ioperm for i386 */ | ||
114 | SYSCALL(sys_socketcall,compat_sys_socketcall) | ||
115 | SYSCALL(sys_syslog,compat_sys_syslog) | ||
116 | SYSCALL(sys_setitimer,compat_sys_setitimer) | ||
117 | SYSCALL(sys_getitimer,compat_sys_getitimer) /* 105 */ | ||
118 | SYSCALL(sys_newstat,compat_sys_newstat) | ||
119 | SYSCALL(sys_newlstat,compat_sys_newlstat) | ||
120 | SYSCALL(sys_newfstat,compat_sys_newfstat) | ||
121 | NI_SYSCALL /* old uname syscall */ | ||
122 | SYSCALL(sys_lookup_dcookie,compat_sys_lookup_dcookie) /* 110 */ | ||
123 | SYSCALL(sys_vhangup,sys_vhangup) | ||
124 | NI_SYSCALL /* old "idle" system call */ | ||
125 | NI_SYSCALL /* vm86old for i386 */ | ||
126 | SYSCALL(sys_wait4,compat_sys_wait4) | ||
127 | SYSCALL(sys_swapoff,compat_sys_swapoff) /* 115 */ | ||
128 | SYSCALL(sys_sysinfo,compat_sys_sysinfo) | ||
129 | SYSCALL(sys_s390_ipc,compat_sys_s390_ipc) | ||
130 | SYSCALL(sys_fsync,sys_fsync) | ||
131 | SYSCALL(sys_sigreturn,compat_sys_sigreturn) | ||
132 | SYSCALL(sys_clone,compat_sys_clone) /* 120 */ | ||
133 | SYSCALL(sys_setdomainname,compat_sys_setdomainname) | ||
134 | SYSCALL(sys_newuname,compat_sys_newuname) | ||
135 | NI_SYSCALL /* modify_ldt for i386 */ | ||
136 | SYSCALL(sys_adjtimex,compat_sys_adjtimex) | ||
137 | SYSCALL(sys_mprotect,compat_sys_mprotect) /* 125 */ | ||
138 | SYSCALL(sys_sigprocmask,compat_sys_sigprocmask) | ||
139 | NI_SYSCALL /* old "create module" */ | ||
140 | SYSCALL(sys_init_module,compat_sys_init_module) | ||
141 | SYSCALL(sys_delete_module,compat_sys_delete_module) | ||
142 | NI_SYSCALL /* 130: old get_kernel_syms */ | ||
143 | SYSCALL(sys_quotactl,compat_sys_quotactl) | ||
144 | SYSCALL(sys_getpgid,sys_getpgid) | ||
145 | SYSCALL(sys_fchdir,sys_fchdir) | ||
146 | SYSCALL(sys_bdflush,compat_sys_bdflush) | ||
147 | SYSCALL(sys_sysfs,compat_sys_sysfs) /* 135 */ | ||
148 | SYSCALL(sys_s390_personality,sys_s390_personality) | ||
149 | NI_SYSCALL /* for afs_syscall */ | ||
150 | SYSCALL(sys_ni_syscall,compat_sys_s390_setfsuid16) /* old setfsuid16 syscall */ | ||
151 | SYSCALL(sys_ni_syscall,compat_sys_s390_setfsgid16) /* old setfsgid16 syscall */ | ||
152 | SYSCALL(sys_llseek,compat_sys_llseek) /* 140 */ | ||
153 | SYSCALL(sys_getdents,compat_sys_getdents) | ||
154 | SYSCALL(sys_select,compat_sys_select) | ||
155 | SYSCALL(sys_flock,sys_flock) | ||
156 | SYSCALL(sys_msync,compat_sys_msync) | ||
157 | SYSCALL(sys_readv,compat_sys_readv) /* 145 */ | ||
158 | SYSCALL(sys_writev,compat_sys_writev) | ||
159 | SYSCALL(sys_getsid,sys_getsid) | ||
160 | SYSCALL(sys_fdatasync,sys_fdatasync) | ||
161 | SYSCALL(sys_sysctl,compat_sys_sysctl) | ||
162 | SYSCALL(sys_mlock,compat_sys_mlock) /* 150 */ | ||
163 | SYSCALL(sys_munlock,compat_sys_munlock) | ||
164 | SYSCALL(sys_mlockall,sys_mlockall) | ||
165 | SYSCALL(sys_munlockall,sys_munlockall) | ||
166 | SYSCALL(sys_sched_setparam,compat_sys_sched_setparam) | ||
167 | SYSCALL(sys_sched_getparam,compat_sys_sched_getparam) /* 155 */ | ||
168 | SYSCALL(sys_sched_setscheduler,compat_sys_sched_setscheduler) | ||
169 | SYSCALL(sys_sched_getscheduler,sys_sched_getscheduler) | ||
170 | SYSCALL(sys_sched_yield,sys_sched_yield) | ||
171 | SYSCALL(sys_sched_get_priority_max,sys_sched_get_priority_max) | ||
172 | SYSCALL(sys_sched_get_priority_min,sys_sched_get_priority_min) /* 160 */ | ||
173 | SYSCALL(sys_sched_rr_get_interval,compat_sys_sched_rr_get_interval) | ||
174 | SYSCALL(sys_nanosleep,compat_sys_nanosleep) | ||
175 | SYSCALL(sys_mremap,compat_sys_mremap) | ||
176 | SYSCALL(sys_ni_syscall,compat_sys_s390_setresuid16) /* old setresuid16 syscall */ | ||
177 | SYSCALL(sys_ni_syscall,compat_sys_s390_getresuid16) /* 165 old getresuid16 syscall */ | ||
178 | NI_SYSCALL /* for vm86 */ | ||
179 | NI_SYSCALL /* old sys_query_module */ | ||
180 | SYSCALL(sys_poll,compat_sys_poll) | ||
181 | NI_SYSCALL /* old nfsservctl */ | ||
182 | SYSCALL(sys_ni_syscall,compat_sys_s390_setresgid16) /* 170 old setresgid16 syscall */ | ||
183 | SYSCALL(sys_ni_syscall,compat_sys_s390_getresgid16) /* old getresgid16 syscall */ | ||
184 | SYSCALL(sys_prctl,compat_sys_prctl) | ||
185 | SYSCALL(sys_rt_sigreturn,compat_sys_rt_sigreturn) | ||
186 | SYSCALL(sys_rt_sigaction,compat_sys_rt_sigaction) | ||
187 | SYSCALL(sys_rt_sigprocmask,compat_sys_rt_sigprocmask) /* 175 */ | ||
188 | SYSCALL(sys_rt_sigpending,compat_sys_rt_sigpending) | ||
189 | SYSCALL(sys_rt_sigtimedwait,compat_sys_rt_sigtimedwait) | ||
190 | SYSCALL(sys_rt_sigqueueinfo,compat_sys_rt_sigqueueinfo) | ||
191 | SYSCALL(sys_rt_sigsuspend,compat_sys_rt_sigsuspend) | ||
192 | SYSCALL(sys_pread64,compat_sys_s390_pread64) /* 180 */ | ||
193 | SYSCALL(sys_pwrite64,compat_sys_s390_pwrite64) | ||
194 | SYSCALL(sys_ni_syscall,compat_sys_s390_chown16) /* old chown16 syscall */ | ||
195 | SYSCALL(sys_getcwd,compat_sys_getcwd) | ||
196 | SYSCALL(sys_capget,compat_sys_capget) | ||
197 | SYSCALL(sys_capset,compat_sys_capset) /* 185 */ | ||
198 | SYSCALL(sys_sigaltstack,compat_sys_sigaltstack) | ||
199 | SYSCALL(sys_sendfile64,compat_sys_sendfile) | ||
200 | NI_SYSCALL /* streams1 */ | ||
201 | NI_SYSCALL /* streams2 */ | ||
202 | SYSCALL(sys_vfork,sys_vfork) /* 190 */ | ||
203 | SYSCALL(sys_getrlimit,compat_sys_getrlimit) | ||
204 | SYSCALL(sys_mmap2,compat_sys_s390_mmap2) | ||
205 | SYSCALL(sys_ni_syscall,compat_sys_s390_truncate64) | ||
206 | SYSCALL(sys_ni_syscall,compat_sys_s390_ftruncate64) | ||
207 | SYSCALL(sys_ni_syscall,compat_sys_s390_stat64) /* 195 */ | ||
208 | SYSCALL(sys_ni_syscall,compat_sys_s390_lstat64) | ||
209 | SYSCALL(sys_ni_syscall,compat_sys_s390_fstat64) | ||
210 | SYSCALL(sys_lchown,compat_sys_lchown) | ||
211 | SYSCALL(sys_getuid,sys_getuid) | ||
212 | SYSCALL(sys_getgid,sys_getgid) /* 200 */ | ||
213 | SYSCALL(sys_geteuid,sys_geteuid) | ||
214 | SYSCALL(sys_getegid,sys_getegid) | ||
215 | SYSCALL(sys_setreuid,sys_setreuid) | ||
216 | SYSCALL(sys_setregid,sys_setregid) | ||
217 | SYSCALL(sys_getgroups,compat_sys_getgroups) /* 205 */ | ||
218 | SYSCALL(sys_setgroups,compat_sys_setgroups) | ||
219 | SYSCALL(sys_fchown,sys_fchown) | ||
220 | SYSCALL(sys_setresuid,sys_setresuid) | ||
221 | SYSCALL(sys_getresuid,compat_sys_getresuid) | ||
222 | SYSCALL(sys_setresgid,sys_setresgid) /* 210 */ | ||
223 | SYSCALL(sys_getresgid,compat_sys_getresgid) | ||
224 | SYSCALL(sys_chown,compat_sys_chown) | ||
225 | SYSCALL(sys_setuid,sys_setuid) | ||
226 | SYSCALL(sys_setgid,sys_setgid) | ||
227 | SYSCALL(sys_setfsuid,sys_setfsuid) /* 215 */ | ||
228 | SYSCALL(sys_setfsgid,sys_setfsgid) | ||
229 | SYSCALL(sys_pivot_root,compat_sys_pivot_root) | ||
230 | SYSCALL(sys_mincore,compat_sys_mincore) | ||
231 | SYSCALL(sys_madvise,compat_sys_madvise) | ||
232 | SYSCALL(sys_getdents64,compat_sys_getdents64) /* 220 */ | ||
233 | SYSCALL(sys_ni_syscall,compat_sys_fcntl64) | ||
234 | SYSCALL(sys_readahead,compat_sys_s390_readahead) | ||
235 | SYSCALL(sys_ni_syscall,compat_sys_sendfile64) | ||
236 | SYSCALL(sys_setxattr,compat_sys_setxattr) | ||
237 | SYSCALL(sys_lsetxattr,compat_sys_lsetxattr) /* 225 */ | ||
238 | SYSCALL(sys_fsetxattr,compat_sys_fsetxattr) | ||
239 | SYSCALL(sys_getxattr,compat_sys_getxattr) | ||
240 | SYSCALL(sys_lgetxattr,compat_sys_lgetxattr) | ||
241 | SYSCALL(sys_fgetxattr,compat_sys_fgetxattr) | ||
242 | SYSCALL(sys_listxattr,compat_sys_listxattr) /* 230 */ | ||
243 | SYSCALL(sys_llistxattr,compat_sys_llistxattr) | ||
244 | SYSCALL(sys_flistxattr,compat_sys_flistxattr) | ||
245 | SYSCALL(sys_removexattr,compat_sys_removexattr) | ||
246 | SYSCALL(sys_lremovexattr,compat_sys_lremovexattr) | ||
247 | SYSCALL(sys_fremovexattr,compat_sys_fremovexattr) /* 235 */ | ||
248 | SYSCALL(sys_gettid,sys_gettid) | ||
249 | SYSCALL(sys_tkill,sys_tkill) | ||
250 | SYSCALL(sys_futex,compat_sys_futex) | ||
251 | SYSCALL(sys_sched_setaffinity,compat_sys_sched_setaffinity) | ||
252 | SYSCALL(sys_sched_getaffinity,compat_sys_sched_getaffinity) /* 240 */ | ||
253 | SYSCALL(sys_tgkill,sys_tgkill) | ||
254 | NI_SYSCALL /* reserved for TUX */ | ||
255 | SYSCALL(sys_io_setup,compat_sys_io_setup) | ||
256 | SYSCALL(sys_io_destroy,compat_sys_io_destroy) | ||
257 | SYSCALL(sys_io_getevents,compat_sys_io_getevents) /* 245 */ | ||
258 | SYSCALL(sys_io_submit,compat_sys_io_submit) | ||
259 | SYSCALL(sys_io_cancel,compat_sys_io_cancel) | ||
260 | SYSCALL(sys_exit_group,sys_exit_group) | ||
261 | SYSCALL(sys_epoll_create,sys_epoll_create) | ||
262 | SYSCALL(sys_epoll_ctl,compat_sys_epoll_ctl) /* 250 */ | ||
263 | SYSCALL(sys_epoll_wait,compat_sys_epoll_wait) | ||
264 | SYSCALL(sys_set_tid_address,compat_sys_set_tid_address) | ||
265 | SYSCALL(sys_fadvise64_64,compat_sys_s390_fadvise64) | ||
266 | SYSCALL(sys_timer_create,compat_sys_timer_create) | ||
267 | SYSCALL(sys_timer_settime,compat_sys_timer_settime) /* 255 */ | ||
268 | SYSCALL(sys_timer_gettime,compat_sys_timer_gettime) | ||
269 | SYSCALL(sys_timer_getoverrun,sys_timer_getoverrun) | ||
270 | SYSCALL(sys_timer_delete,sys_timer_delete) | ||
271 | SYSCALL(sys_clock_settime,compat_sys_clock_settime) | ||
272 | SYSCALL(sys_clock_gettime,compat_sys_clock_gettime) /* 260 */ | ||
273 | SYSCALL(sys_clock_getres,compat_sys_clock_getres) | ||
274 | SYSCALL(sys_clock_nanosleep,compat_sys_clock_nanosleep) | ||
275 | NI_SYSCALL /* reserved for vserver */ | ||
276 | SYSCALL(sys_ni_syscall,compat_sys_s390_fadvise64_64) | ||
277 | SYSCALL(sys_statfs64,compat_sys_statfs64) | ||
278 | SYSCALL(sys_fstatfs64,compat_sys_fstatfs64) | ||
279 | SYSCALL(sys_remap_file_pages,compat_sys_remap_file_pages) | ||
280 | SYSCALL(sys_mbind,compat_sys_mbind) | ||
281 | SYSCALL(sys_get_mempolicy,compat_sys_get_mempolicy) | ||
282 | SYSCALL(sys_set_mempolicy,compat_sys_set_mempolicy) | ||
283 | SYSCALL(sys_mq_open,compat_sys_mq_open) | ||
284 | SYSCALL(sys_mq_unlink,compat_sys_mq_unlink) | ||
285 | SYSCALL(sys_mq_timedsend,compat_sys_mq_timedsend) | ||
286 | SYSCALL(sys_mq_timedreceive,compat_sys_mq_timedreceive) | ||
287 | SYSCALL(sys_mq_notify,compat_sys_mq_notify) /* 275 */ | ||
288 | SYSCALL(sys_mq_getsetattr,compat_sys_mq_getsetattr) | ||
289 | SYSCALL(sys_kexec_load,compat_sys_kexec_load) | ||
290 | SYSCALL(sys_add_key,compat_sys_add_key) | ||
291 | SYSCALL(sys_request_key,compat_sys_request_key) | ||
292 | SYSCALL(sys_keyctl,compat_sys_keyctl) /* 280 */ | ||
293 | SYSCALL(sys_waitid,compat_sys_waitid) | ||
294 | SYSCALL(sys_ioprio_set,sys_ioprio_set) | ||
295 | SYSCALL(sys_ioprio_get,sys_ioprio_get) | ||
296 | SYSCALL(sys_inotify_init,sys_inotify_init) | ||
297 | SYSCALL(sys_inotify_add_watch,compat_sys_inotify_add_watch) /* 285 */ | ||
298 | SYSCALL(sys_inotify_rm_watch,sys_inotify_rm_watch) | ||
299 | SYSCALL(sys_migrate_pages,compat_sys_migrate_pages) | ||
300 | SYSCALL(sys_openat,compat_sys_openat) | ||
301 | SYSCALL(sys_mkdirat,compat_sys_mkdirat) | ||
302 | SYSCALL(sys_mknodat,compat_sys_mknodat) /* 290 */ | ||
303 | SYSCALL(sys_fchownat,compat_sys_fchownat) | ||
304 | SYSCALL(sys_futimesat,compat_sys_futimesat) | ||
305 | SYSCALL(sys_newfstatat,compat_sys_s390_fstatat64) | ||
306 | SYSCALL(sys_unlinkat,compat_sys_unlinkat) | ||
307 | SYSCALL(sys_renameat,compat_sys_renameat) /* 295 */ | ||
308 | SYSCALL(sys_linkat,compat_sys_linkat) | ||
309 | SYSCALL(sys_symlinkat,compat_sys_symlinkat) | ||
310 | SYSCALL(sys_readlinkat,compat_sys_readlinkat) | ||
311 | SYSCALL(sys_fchmodat,compat_sys_fchmodat) | ||
312 | SYSCALL(sys_faccessat,compat_sys_faccessat) /* 300 */ | ||
313 | SYSCALL(sys_pselect6,compat_sys_pselect6) | ||
314 | SYSCALL(sys_ppoll,compat_sys_ppoll) | ||
315 | SYSCALL(sys_unshare,compat_sys_unshare) | ||
316 | SYSCALL(sys_set_robust_list,compat_sys_set_robust_list) | ||
317 | SYSCALL(sys_get_robust_list,compat_sys_get_robust_list) | ||
318 | SYSCALL(sys_splice,compat_sys_splice) | ||
319 | SYSCALL(sys_sync_file_range,compat_sys_s390_sync_file_range) | ||
320 | SYSCALL(sys_tee,compat_sys_tee) | ||
321 | SYSCALL(sys_vmsplice,compat_sys_vmsplice) | ||
322 | SYSCALL(sys_move_pages,compat_sys_move_pages) | ||
323 | SYSCALL(sys_getcpu,compat_sys_getcpu) | ||
324 | SYSCALL(sys_epoll_pwait,compat_sys_epoll_pwait) | ||
325 | SYSCALL(sys_utimes,compat_sys_utimes) | ||
326 | SYSCALL(sys_fallocate,compat_sys_s390_fallocate) | ||
327 | SYSCALL(sys_utimensat,compat_sys_utimensat) /* 315 */ | ||
328 | SYSCALL(sys_signalfd,compat_sys_signalfd) | ||
329 | NI_SYSCALL /* 317 old sys_timer_fd */ | ||
330 | SYSCALL(sys_eventfd,sys_eventfd) | ||
331 | SYSCALL(sys_timerfd_create,sys_timerfd_create) | ||
332 | SYSCALL(sys_timerfd_settime,compat_sys_timerfd_settime) /* 320 */ | ||
333 | SYSCALL(sys_timerfd_gettime,compat_sys_timerfd_gettime) | ||
334 | SYSCALL(sys_signalfd4,compat_sys_signalfd4) | ||
335 | SYSCALL(sys_eventfd2,sys_eventfd2) | ||
336 | SYSCALL(sys_inotify_init1,sys_inotify_init1) | ||
337 | SYSCALL(sys_pipe2,compat_sys_pipe2) /* 325 */ | ||
338 | SYSCALL(sys_dup3,sys_dup3) | ||
339 | SYSCALL(sys_epoll_create1,sys_epoll_create1) | ||
340 | SYSCALL(sys_preadv,compat_sys_preadv) | ||
341 | SYSCALL(sys_pwritev,compat_sys_pwritev) | ||
342 | SYSCALL(sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo) /* 330 */ | ||
343 | SYSCALL(sys_perf_event_open,compat_sys_perf_event_open) | ||
344 | SYSCALL(sys_fanotify_init,sys_fanotify_init) | ||
345 | SYSCALL(sys_fanotify_mark,compat_sys_fanotify_mark) | ||
346 | SYSCALL(sys_prlimit64,compat_sys_prlimit64) | ||
347 | SYSCALL(sys_name_to_handle_at,compat_sys_name_to_handle_at) /* 335 */ | ||
348 | SYSCALL(sys_open_by_handle_at,compat_sys_open_by_handle_at) | ||
349 | SYSCALL(sys_clock_adjtime,compat_sys_clock_adjtime) | ||
350 | SYSCALL(sys_syncfs,sys_syncfs) | ||
351 | SYSCALL(sys_setns,sys_setns) | ||
352 | SYSCALL(sys_process_vm_readv,compat_sys_process_vm_readv) /* 340 */ | ||
353 | SYSCALL(sys_process_vm_writev,compat_sys_process_vm_writev) | ||
354 | SYSCALL(sys_s390_runtime_instr,sys_s390_runtime_instr) | ||
355 | SYSCALL(sys_kcmp,compat_sys_kcmp) | ||
356 | SYSCALL(sys_finit_module,compat_sys_finit_module) | ||
357 | SYSCALL(sys_sched_setattr,compat_sys_sched_setattr) /* 345 */ | ||
358 | SYSCALL(sys_sched_getattr,compat_sys_sched_getattr) | ||
359 | SYSCALL(sys_renameat2,compat_sys_renameat2) | ||
360 | SYSCALL(sys_seccomp,compat_sys_seccomp) | ||
361 | SYSCALL(sys_getrandom,compat_sys_getrandom) | ||
362 | SYSCALL(sys_memfd_create,compat_sys_memfd_create) /* 350 */ | ||
363 | SYSCALL(sys_bpf,compat_sys_bpf) | ||
364 | SYSCALL(sys_s390_pci_mmio_write,compat_sys_s390_pci_mmio_write) | ||
365 | SYSCALL(sys_s390_pci_mmio_read,compat_sys_s390_pci_mmio_read) | ||
366 | SYSCALL(sys_execveat,compat_sys_execveat) | ||
367 | SYSCALL(sys_userfaultfd,sys_userfaultfd) /* 355 */ | ||
368 | SYSCALL(sys_membarrier,sys_membarrier) | ||
369 | SYSCALL(sys_recvmmsg,compat_sys_recvmmsg) | ||
370 | SYSCALL(sys_sendmmsg,compat_sys_sendmmsg) | ||
371 | SYSCALL(sys_socket,sys_socket) | ||
372 | SYSCALL(sys_socketpair,compat_sys_socketpair) /* 360 */ | ||
373 | SYSCALL(sys_bind,compat_sys_bind) | ||
374 | SYSCALL(sys_connect,compat_sys_connect) | ||
375 | SYSCALL(sys_listen,sys_listen) | ||
376 | SYSCALL(sys_accept4,compat_sys_accept4) | ||
377 | SYSCALL(sys_getsockopt,compat_sys_getsockopt) /* 365 */ | ||
378 | SYSCALL(sys_setsockopt,compat_sys_setsockopt) | ||
379 | SYSCALL(sys_getsockname,compat_sys_getsockname) | ||
380 | SYSCALL(sys_getpeername,compat_sys_getpeername) | ||
381 | SYSCALL(sys_sendto,compat_sys_sendto) | ||
382 | SYSCALL(sys_sendmsg,compat_sys_sendmsg) /* 370 */ | ||
383 | SYSCALL(sys_recvfrom,compat_sys_recvfrom) | ||
384 | SYSCALL(sys_recvmsg,compat_sys_recvmsg) | ||
385 | SYSCALL(sys_shutdown,sys_shutdown) | ||
386 | SYSCALL(sys_mlock2,compat_sys_mlock2) | ||
387 | SYSCALL(sys_copy_file_range,compat_sys_copy_file_range) /* 375 */ | ||
388 | SYSCALL(sys_preadv2,compat_sys_preadv2) | ||
389 | SYSCALL(sys_pwritev2,compat_sys_pwritev2) | ||
390 | SYSCALL(sys_s390_guarded_storage,compat_sys_s390_guarded_storage) /* 378 */ | ||
391 | SYSCALL(sys_statx,compat_sys_statx) | ||
392 | SYSCALL(sys_s390_sthyi,compat_sys_s390_sthyi) | ||
diff --git a/arch/s390/kernel/syscalls/Makefile b/arch/s390/kernel/syscalls/Makefile new file mode 100644 index 000000000000..8ff96c08955f --- /dev/null +++ b/arch/s390/kernel/syscalls/Makefile | |||
@@ -0,0 +1,52 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 | ||
2 | |||
3 | gen := arch/$(ARCH)/include/generated | ||
4 | kapi := $(gen)/asm | ||
5 | uapi := $(gen)/uapi/asm | ||
6 | |||
7 | syscall := $(srctree)/$(src)/syscall.tbl | ||
8 | systbl := $(srctree)/$(src)/syscalltbl | ||
9 | |||
10 | gen-y := $(kapi)/syscall_table.h | ||
11 | kapi-hdrs-y := $(kapi)/unistd_nr.h | ||
12 | uapi-hdrs-y := $(uapi)/unistd_32.h | ||
13 | uapi-hdrs-y += $(uapi)/unistd_64.h | ||
14 | |||
15 | targets += $(addprefix ../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y)) | ||
16 | |||
17 | PHONY += kapi uapi | ||
18 | |||
19 | kapi: $(gen-y) $(kapi-hdrs-y) | ||
20 | uapi: $(uapi-hdrs-y) | ||
21 | |||
22 | |||
23 | # Create output directory if not already present | ||
24 | _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \ | ||
25 | $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') | ||
26 | |||
27 | define filechk_syshdr | ||
28 | $(CONFIG_SHELL) '$(systbl)' -H -a $(syshdr_abi_$(basetarget)) -f "$2" | ||
29 | endef | ||
30 | |||
31 | define filechk_sysnr | ||
32 | $(CONFIG_SHELL) '$(systbl)' -N -a $(sysnr_abi_$(basetarget)) | ||
33 | endef | ||
34 | |||
35 | define filechk_syscalls | ||
36 | $(CONFIG_SHELL) '$(systbl)' -S | ||
37 | endef | ||
38 | |||
39 | syshdr_abi_unistd_32 := common,32 | ||
40 | $(uapi)/unistd_32.h: $(syscall) FORCE | ||
41 | $(call filechk,syshdr,$@) | ||
42 | |||
43 | syshdr_abi_unistd_64 := common,64 | ||
44 | $(uapi)/unistd_64.h: $(syscall) FORCE | ||
45 | $(call filechk,syshdr,$@) | ||
46 | |||
47 | $(kapi)/syscall_table.h: $(syscall) FORCE | ||
48 | $(call filechk,syscalls) | ||
49 | |||
50 | sysnr_abi_unistd_nr := common,32,64 | ||
51 | $(kapi)/unistd_nr.h: $(syscall) FORCE | ||
52 | $(call filechk,sysnr) | ||
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl new file mode 100644 index 000000000000..b38d48464368 --- /dev/null +++ b/arch/s390/kernel/syscalls/syscall.tbl | |||
@@ -0,0 +1,390 @@ | |||
1 | # SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note | ||
2 | # | ||
3 | # System call table for s390 | ||
4 | # | ||
5 | # Format: | ||
6 | # | ||
7 | # <nr> <abi> <syscall> <entry-64bit> <compat-entry> | ||
8 | # | ||
9 | # where <abi> can be common, 64, or 32 | ||
10 | |||
11 | 1 common exit sys_exit sys_exit | ||
12 | 2 common fork sys_fork sys_fork | ||
13 | 3 common read sys_read compat_sys_s390_read | ||
14 | 4 common write sys_write compat_sys_s390_write | ||
15 | 5 common open sys_open compat_sys_open | ||
16 | 6 common close sys_close sys_close | ||
17 | 7 common restart_syscall sys_restart_syscall sys_restart_syscall | ||
18 | 8 common creat sys_creat compat_sys_creat | ||
19 | 9 common link sys_link compat_sys_link | ||
20 | 10 common unlink sys_unlink compat_sys_unlink | ||
21 | 11 common execve sys_execve compat_sys_execve | ||
22 | 12 common chdir sys_chdir compat_sys_chdir | ||
23 | 13 32 time - compat_sys_time | ||
24 | 14 common mknod sys_mknod compat_sys_mknod | ||
25 | 15 common chmod sys_chmod compat_sys_chmod | ||
26 | 16 32 lchown - compat_sys_s390_lchown16 | ||
27 | 19 common lseek sys_lseek compat_sys_lseek | ||
28 | 20 common getpid sys_getpid sys_getpid | ||
29 | 21 common mount sys_mount compat_sys_mount | ||
30 | 22 common umount sys_oldumount compat_sys_oldumount | ||
31 | 23 32 setuid - compat_sys_s390_setuid16 | ||
32 | 24 32 getuid - compat_sys_s390_getuid16 | ||
33 | 25 32 stime - compat_sys_stime | ||
34 | 26 common ptrace sys_ptrace compat_sys_ptrace | ||
35 | 27 common alarm sys_alarm sys_alarm | ||
36 | 29 common pause sys_pause sys_pause | ||
37 | 30 common utime sys_utime compat_sys_utime | ||
38 | 33 common access sys_access compat_sys_access | ||
39 | 34 common nice sys_nice sys_nice | ||
40 | 36 common sync sys_sync sys_sync | ||
41 | 37 common kill sys_kill sys_kill | ||
42 | 38 common rename sys_rename compat_sys_rename | ||
43 | 39 common mkdir sys_mkdir compat_sys_mkdir | ||
44 | 40 common rmdir sys_rmdir compat_sys_rmdir | ||
45 | 41 common dup sys_dup sys_dup | ||
46 | 42 common pipe sys_pipe compat_sys_pipe | ||
47 | 43 common times sys_times compat_sys_times | ||
48 | 45 common brk sys_brk compat_sys_brk | ||
49 | 46 32 setgid - compat_sys_s390_setgid16 | ||
50 | 47 32 getgid - compat_sys_s390_getgid16 | ||
51 | 48 common signal sys_signal compat_sys_signal | ||
52 | 49 32 geteuid - compat_sys_s390_geteuid16 | ||
53 | 50 32 getegid - compat_sys_s390_getegid16 | ||
54 | 51 common acct sys_acct compat_sys_acct | ||
55 | 52 common umount2 sys_umount compat_sys_umount | ||
56 | 54 common ioctl sys_ioctl compat_sys_ioctl | ||
57 | 55 common fcntl sys_fcntl compat_sys_fcntl | ||
58 | 57 common setpgid sys_setpgid sys_setpgid | ||
59 | 60 common umask sys_umask sys_umask | ||
60 | 61 common chroot sys_chroot compat_sys_chroot | ||
61 | 62 common ustat sys_ustat compat_sys_ustat | ||
62 | 63 common dup2 sys_dup2 sys_dup2 | ||
63 | 64 common getppid sys_getppid sys_getppid | ||
64 | 65 common getpgrp sys_getpgrp sys_getpgrp | ||
65 | 66 common setsid sys_setsid sys_setsid | ||
66 | 67 common sigaction sys_sigaction compat_sys_sigaction | ||
67 | 70 32 setreuid - compat_sys_s390_setreuid16 | ||
68 | 71 32 setregid - compat_sys_s390_setregid16 | ||
69 | 72 common sigsuspend sys_sigsuspend compat_sys_sigsuspend | ||
70 | 73 common sigpending sys_sigpending compat_sys_sigpending | ||
71 | 74 common sethostname sys_sethostname compat_sys_sethostname | ||
72 | 75 common setrlimit sys_setrlimit compat_sys_setrlimit | ||
73 | 76 32 getrlimit - compat_sys_old_getrlimit | ||
74 | 77 common getrusage sys_getrusage compat_sys_getrusage | ||
75 | 78 common gettimeofday sys_gettimeofday compat_sys_gettimeofday | ||
76 | 79 common settimeofday sys_settimeofday compat_sys_settimeofday | ||
77 | 80 32 getgroups - compat_sys_s390_getgroups16 | ||
78 | 81 32 setgroups - compat_sys_s390_setgroups16 | ||
79 | 83 common symlink sys_symlink compat_sys_symlink | ||
80 | 85 common readlink sys_readlink compat_sys_readlink | ||
81 | 86 common uselib sys_uselib compat_sys_uselib | ||
82 | 87 common swapon sys_swapon compat_sys_swapon | ||
83 | 88 common reboot sys_reboot compat_sys_reboot | ||
84 | 89 common readdir - compat_sys_old_readdir | ||
85 | 90 common mmap sys_old_mmap compat_sys_s390_old_mmap | ||
86 | 91 common munmap sys_munmap compat_sys_munmap | ||
87 | 92 common truncate sys_truncate compat_sys_truncate | ||
88 | 93 common ftruncate sys_ftruncate compat_sys_ftruncate | ||
89 | 94 common fchmod sys_fchmod sys_fchmod | ||
90 | 95 32 fchown - compat_sys_s390_fchown16 | ||
91 | 96 common getpriority sys_getpriority sys_getpriority | ||
92 | 97 common setpriority sys_setpriority sys_setpriority | ||
93 | 99 common statfs sys_statfs compat_sys_statfs | ||
94 | 100 common fstatfs sys_fstatfs compat_sys_fstatfs | ||
95 | 101 32 ioperm - - | ||
96 | 102 common socketcall sys_socketcall compat_sys_socketcall | ||
97 | 103 common syslog sys_syslog compat_sys_syslog | ||
98 | 104 common setitimer sys_setitimer compat_sys_setitimer | ||
99 | 105 common getitimer sys_getitimer compat_sys_getitimer | ||
100 | 106 common stat sys_newstat compat_sys_newstat | ||
101 | 107 common lstat sys_newlstat compat_sys_newlstat | ||
102 | 108 common fstat sys_newfstat compat_sys_newfstat | ||
103 | 110 common lookup_dcookie sys_lookup_dcookie compat_sys_lookup_dcookie | ||
104 | 111 common vhangup sys_vhangup sys_vhangup | ||
105 | 112 common idle - - | ||
106 | 114 common wait4 sys_wait4 compat_sys_wait4 | ||
107 | 115 common swapoff sys_swapoff compat_sys_swapoff | ||
108 | 116 common sysinfo sys_sysinfo compat_sys_sysinfo | ||
109 | 117 common ipc sys_s390_ipc compat_sys_s390_ipc | ||
110 | 118 common fsync sys_fsync sys_fsync | ||
111 | 119 common sigreturn sys_sigreturn compat_sys_sigreturn | ||
112 | 120 common clone sys_clone compat_sys_clone | ||
113 | 121 common setdomainname sys_setdomainname compat_sys_setdomainname | ||
114 | 122 common uname sys_newuname compat_sys_newuname | ||
115 | 124 common adjtimex sys_adjtimex compat_sys_adjtimex | ||
116 | 125 common mprotect sys_mprotect compat_sys_mprotect | ||
117 | 126 common sigprocmask sys_sigprocmask compat_sys_sigprocmask | ||
118 | 127 common create_module - - | ||
119 | 128 common init_module sys_init_module compat_sys_init_module | ||
120 | 129 common delete_module sys_delete_module compat_sys_delete_module | ||
121 | 130 common get_kernel_syms - - | ||
122 | 131 common quotactl sys_quotactl compat_sys_quotactl | ||
123 | 132 common getpgid sys_getpgid sys_getpgid | ||
124 | 133 common fchdir sys_fchdir sys_fchdir | ||
125 | 134 common bdflush sys_bdflush compat_sys_bdflush | ||
126 | 135 common sysfs sys_sysfs compat_sys_sysfs | ||
127 | 136 common personality sys_s390_personality sys_s390_personality | ||
128 | 137 common afs_syscall - - | ||
129 | 138 32 setfsuid - compat_sys_s390_setfsuid16 | ||
130 | 139 32 setfsgid - compat_sys_s390_setfsgid16 | ||
131 | 140 32 _llseek - compat_sys_llseek | ||
132 | 141 common getdents sys_getdents compat_sys_getdents | ||
133 | 142 32 _newselect - compat_sys_select | ||
134 | 142 64 select sys_select - | ||
135 | 143 common flock sys_flock sys_flock | ||
136 | 144 common msync sys_msync compat_sys_msync | ||
137 | 145 common readv sys_readv compat_sys_readv | ||
138 | 146 common writev sys_writev compat_sys_writev | ||
139 | 147 common getsid sys_getsid sys_getsid | ||
140 | 148 common fdatasync sys_fdatasync sys_fdatasync | ||
141 | 149 common _sysctl sys_sysctl compat_sys_sysctl | ||
142 | 150 common mlock sys_mlock compat_sys_mlock | ||
143 | 151 common munlock sys_munlock compat_sys_munlock | ||
144 | 152 common mlockall sys_mlockall sys_mlockall | ||
145 | 153 common munlockall sys_munlockall sys_munlockall | ||
146 | 154 common sched_setparam sys_sched_setparam compat_sys_sched_setparam | ||
147 | 155 common sched_getparam sys_sched_getparam compat_sys_sched_getparam | ||
148 | 156 common sched_setscheduler sys_sched_setscheduler compat_sys_sched_setscheduler | ||
149 | 157 common sched_getscheduler sys_sched_getscheduler sys_sched_getscheduler | ||
150 | 158 common sched_yield sys_sched_yield sys_sched_yield | ||
151 | 159 common sched_get_priority_max sys_sched_get_priority_max sys_sched_get_priority_max | ||
152 | 160 common sched_get_priority_min sys_sched_get_priority_min sys_sched_get_priority_min | ||
153 | 161 common sched_rr_get_interval sys_sched_rr_get_interval compat_sys_sched_rr_get_interval | ||
154 | 162 common nanosleep sys_nanosleep compat_sys_nanosleep | ||
155 | 163 common mremap sys_mremap compat_sys_mremap | ||
156 | 164 32 setresuid - compat_sys_s390_setresuid16 | ||
157 | 165 32 getresuid - compat_sys_s390_getresuid16 | ||
158 | 167 common query_module - - | ||
159 | 168 common poll sys_poll compat_sys_poll | ||
160 | 169 common nfsservctl - - | ||
161 | 170 32 setresgid - compat_sys_s390_setresgid16 | ||
162 | 171 32 getresgid - compat_sys_s390_getresgid16 | ||
163 | 172 common prctl sys_prctl compat_sys_prctl | ||
164 | 173 common rt_sigreturn sys_rt_sigreturn compat_sys_rt_sigreturn | ||
165 | 174 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction | ||
166 | 175 common rt_sigprocmask sys_rt_sigprocmask compat_sys_rt_sigprocmask | ||
167 | 176 common rt_sigpending sys_rt_sigpending compat_sys_rt_sigpending | ||
168 | 177 common rt_sigtimedwait sys_rt_sigtimedwait compat_sys_rt_sigtimedwait | ||
169 | 178 common rt_sigqueueinfo sys_rt_sigqueueinfo compat_sys_rt_sigqueueinfo | ||
170 | 179 common rt_sigsuspend sys_rt_sigsuspend compat_sys_rt_sigsuspend | ||
171 | 180 common pread64 sys_pread64 compat_sys_s390_pread64 | ||
172 | 181 common pwrite64 sys_pwrite64 compat_sys_s390_pwrite64 | ||
173 | 182 32 chown - compat_sys_s390_chown16 | ||
174 | 183 common getcwd sys_getcwd compat_sys_getcwd | ||
175 | 184 common capget sys_capget compat_sys_capget | ||
176 | 185 common capset sys_capset compat_sys_capset | ||
177 | 186 common sigaltstack sys_sigaltstack compat_sys_sigaltstack | ||
178 | 187 common sendfile sys_sendfile64 compat_sys_sendfile | ||
179 | 188 common getpmsg - - | ||
180 | 189 common putpmsg - - | ||
181 | 190 common vfork sys_vfork sys_vfork | ||
182 | 191 32 ugetrlimit - compat_sys_getrlimit | ||
183 | 191 64 getrlimit sys_getrlimit - | ||
184 | 192 32 mmap2 - compat_sys_s390_mmap2 | ||
185 | 193 32 truncate64 - compat_sys_s390_truncate64 | ||
186 | 194 32 ftruncate64 - compat_sys_s390_ftruncate64 | ||
187 | 195 32 stat64 - compat_sys_s390_stat64 | ||
188 | 196 32 lstat64 - compat_sys_s390_lstat64 | ||
189 | 197 32 fstat64 - compat_sys_s390_fstat64 | ||
190 | 198 32 lchown32 - compat_sys_lchown | ||
191 | 198 64 lchown sys_lchown - | ||
192 | 199 32 getuid32 - sys_getuid | ||
193 | 199 64 getuid sys_getuid - | ||
194 | 200 32 getgid32 - sys_getgid | ||
195 | 200 64 getgid sys_getgid - | ||
196 | 201 32 geteuid32 - sys_geteuid | ||
197 | 201 64 geteuid sys_geteuid - | ||
198 | 202 32 getegid32 - sys_getegid | ||
199 | 202 64 getegid sys_getegid - | ||
200 | 203 32 setreuid32 - sys_setreuid | ||
201 | 203 64 setreuid sys_setreuid - | ||
202 | 204 32 setregid32 - sys_setregid | ||
203 | 204 64 setregid sys_setregid - | ||
204 | 205 32 getgroups32 - compat_sys_getgroups | ||
205 | 205 64 getgroups sys_getgroups - | ||
206 | 206 32 setgroups32 - compat_sys_setgroups | ||
207 | 206 64 setgroups sys_setgroups - | ||
208 | 207 32 fchown32 - sys_fchown | ||
209 | 207 64 fchown sys_fchown - | ||
210 | 208 32 setresuid32 - sys_setresuid | ||
211 | 208 64 setresuid sys_setresuid - | ||
212 | 209 32 getresuid32 - compat_sys_getresuid | ||
213 | 209 64 getresuid sys_getresuid - | ||
214 | 210 32 setresgid32 - sys_setresgid | ||
215 | 210 64 setresgid sys_setresgid - | ||
216 | 211 32 getresgid32 - compat_sys_getresgid | ||
217 | 211 64 getresgid sys_getresgid - | ||
218 | 212 32 chown32 - compat_sys_chown | ||
219 | 212 64 chown sys_chown - | ||
220 | 213 32 setuid32 - sys_setuid | ||
221 | 213 64 setuid sys_setuid - | ||
222 | 214 32 setgid32 - sys_setgid | ||
223 | 214 64 setgid sys_setgid - | ||
224 | 215 32 setfsuid32 - sys_setfsuid | ||
225 | 215 64 setfsuid sys_setfsuid - | ||
226 | 216 32 setfsgid32 - sys_setfsgid | ||
227 | 216 64 setfsgid sys_setfsgid - | ||
228 | 217 common pivot_root sys_pivot_root compat_sys_pivot_root | ||
229 | 218 common mincore sys_mincore compat_sys_mincore | ||
230 | 219 common madvise sys_madvise compat_sys_madvise | ||
231 | 220 common getdents64 sys_getdents64 compat_sys_getdents64 | ||
232 | 221 32 fcntl64 - compat_sys_fcntl64 | ||
233 | 222 common readahead sys_readahead compat_sys_s390_readahead | ||
234 | 223 32 sendfile64 - compat_sys_sendfile64 | ||
235 | 224 common setxattr sys_setxattr compat_sys_setxattr | ||
236 | 225 common lsetxattr sys_lsetxattr compat_sys_lsetxattr | ||
237 | 226 common fsetxattr sys_fsetxattr compat_sys_fsetxattr | ||
238 | 227 common getxattr sys_getxattr compat_sys_getxattr | ||
239 | 228 common lgetxattr sys_lgetxattr compat_sys_lgetxattr | ||
240 | 229 common fgetxattr sys_fgetxattr compat_sys_fgetxattr | ||
241 | 230 common listxattr sys_listxattr compat_sys_listxattr | ||
242 | 231 common llistxattr sys_llistxattr compat_sys_llistxattr | ||
243 | 232 common flistxattr sys_flistxattr compat_sys_flistxattr | ||
244 | 233 common removexattr sys_removexattr compat_sys_removexattr | ||
245 | 234 common lremovexattr sys_lremovexattr compat_sys_lremovexattr | ||
246 | 235 common fremovexattr sys_fremovexattr compat_sys_fremovexattr | ||
247 | 236 common gettid sys_gettid sys_gettid | ||
248 | 237 common tkill sys_tkill sys_tkill | ||
249 | 238 common futex sys_futex compat_sys_futex | ||
250 | 239 common sched_setaffinity sys_sched_setaffinity compat_sys_sched_setaffinity | ||
251 | 240 common sched_getaffinity sys_sched_getaffinity compat_sys_sched_getaffinity | ||
252 | 241 common tgkill sys_tgkill sys_tgkill | ||
253 | 243 common io_setup sys_io_setup compat_sys_io_setup | ||
254 | 244 common io_destroy sys_io_destroy compat_sys_io_destroy | ||
255 | 245 common io_getevents sys_io_getevents compat_sys_io_getevents | ||
256 | 246 common io_submit sys_io_submit compat_sys_io_submit | ||
257 | 247 common io_cancel sys_io_cancel compat_sys_io_cancel | ||
258 | 248 common exit_group sys_exit_group sys_exit_group | ||
259 | 249 common epoll_create sys_epoll_create sys_epoll_create | ||
260 | 250 common epoll_ctl sys_epoll_ctl compat_sys_epoll_ctl | ||
261 | 251 common epoll_wait sys_epoll_wait compat_sys_epoll_wait | ||
262 | 252 common set_tid_address sys_set_tid_address compat_sys_set_tid_address | ||
263 | 253 common fadvise64 sys_fadvise64_64 compat_sys_s390_fadvise64 | ||
264 | 254 common timer_create sys_timer_create compat_sys_timer_create | ||
265 | 255 common timer_settime sys_timer_settime compat_sys_timer_settime | ||
266 | 256 common timer_gettime sys_timer_gettime compat_sys_timer_gettime | ||
267 | 257 common timer_getoverrun sys_timer_getoverrun sys_timer_getoverrun | ||
268 | 258 common timer_delete sys_timer_delete sys_timer_delete | ||
269 | 259 common clock_settime sys_clock_settime compat_sys_clock_settime | ||
270 | 260 common clock_gettime sys_clock_gettime compat_sys_clock_gettime | ||
271 | 261 common clock_getres sys_clock_getres compat_sys_clock_getres | ||
272 | 262 common clock_nanosleep sys_clock_nanosleep compat_sys_clock_nanosleep | ||
273 | 264 32 fadvise64_64 - compat_sys_s390_fadvise64_64 | ||
274 | 265 common statfs64 sys_statfs64 compat_sys_statfs64 | ||
275 | 266 common fstatfs64 sys_fstatfs64 compat_sys_fstatfs64 | ||
276 | 267 common remap_file_pages sys_remap_file_pages compat_sys_remap_file_pages | ||
277 | 268 common mbind sys_mbind compat_sys_mbind | ||
278 | 269 common get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy | ||
279 | 270 common set_mempolicy sys_set_mempolicy compat_sys_set_mempolicy | ||
280 | 271 common mq_open sys_mq_open compat_sys_mq_open | ||
281 | 272 common mq_unlink sys_mq_unlink compat_sys_mq_unlink | ||
282 | 273 common mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend | ||
283 | 274 common mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive | ||
284 | 275 common mq_notify sys_mq_notify compat_sys_mq_notify | ||
285 | 276 common mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr | ||
286 | 277 common kexec_load sys_kexec_load compat_sys_kexec_load | ||
287 | 278 common add_key sys_add_key compat_sys_add_key | ||
288 | 279 common request_key sys_request_key compat_sys_request_key | ||
289 | 280 common keyctl sys_keyctl compat_sys_keyctl | ||
290 | 281 common waitid sys_waitid compat_sys_waitid | ||
291 | 282 common ioprio_set sys_ioprio_set sys_ioprio_set | ||
292 | 283 common ioprio_get sys_ioprio_get sys_ioprio_get | ||
293 | 284 common inotify_init sys_inotify_init sys_inotify_init | ||
294 | 285 common inotify_add_watch sys_inotify_add_watch compat_sys_inotify_add_watch | ||
295 | 286 common inotify_rm_watch sys_inotify_rm_watch sys_inotify_rm_watch | ||
296 | 287 common migrate_pages sys_migrate_pages compat_sys_migrate_pages | ||
297 | 288 common openat sys_openat compat_sys_openat | ||
298 | 289 common mkdirat sys_mkdirat compat_sys_mkdirat | ||
299 | 290 common mknodat sys_mknodat compat_sys_mknodat | ||
300 | 291 common fchownat sys_fchownat compat_sys_fchownat | ||
301 | 292 common futimesat sys_futimesat compat_sys_futimesat | ||
302 | 293 32 fstatat64 - compat_sys_s390_fstatat64 | ||
303 | 293 64 newfstatat sys_newfstatat - | ||
304 | 294 common unlinkat sys_unlinkat compat_sys_unlinkat | ||
305 | 295 common renameat sys_renameat compat_sys_renameat | ||
306 | 296 common linkat sys_linkat compat_sys_linkat | ||
307 | 297 common symlinkat sys_symlinkat compat_sys_symlinkat | ||
308 | 298 common readlinkat sys_readlinkat compat_sys_readlinkat | ||
309 | 299 common fchmodat sys_fchmodat compat_sys_fchmodat | ||
310 | 300 common faccessat sys_faccessat compat_sys_faccessat | ||
311 | 301 common pselect6 sys_pselect6 compat_sys_pselect6 | ||
312 | 302 common ppoll sys_ppoll compat_sys_ppoll | ||
313 | 303 common unshare sys_unshare compat_sys_unshare | ||
314 | 304 common set_robust_list sys_set_robust_list compat_sys_set_robust_list | ||
315 | 305 common get_robust_list sys_get_robust_list compat_sys_get_robust_list | ||
316 | 306 common splice sys_splice compat_sys_splice | ||
317 | 307 common sync_file_range sys_sync_file_range compat_sys_s390_sync_file_range | ||
318 | 308 common tee sys_tee compat_sys_tee | ||
319 | 309 common vmsplice sys_vmsplice compat_sys_vmsplice | ||
320 | 310 common move_pages sys_move_pages compat_sys_move_pages | ||
321 | 311 common getcpu sys_getcpu compat_sys_getcpu | ||
322 | 312 common epoll_pwait sys_epoll_pwait compat_sys_epoll_pwait | ||
323 | 313 common utimes sys_utimes compat_sys_utimes | ||
324 | 314 common fallocate sys_fallocate compat_sys_s390_fallocate | ||
325 | 315 common utimensat sys_utimensat compat_sys_utimensat | ||
326 | 316 common signalfd sys_signalfd compat_sys_signalfd | ||
327 | 317 common timerfd - - | ||
328 | 318 common eventfd sys_eventfd sys_eventfd | ||
329 | 319 common timerfd_create sys_timerfd_create sys_timerfd_create | ||
330 | 320 common timerfd_settime sys_timerfd_settime compat_sys_timerfd_settime | ||
331 | 321 common timerfd_gettime sys_timerfd_gettime compat_sys_timerfd_gettime | ||
332 | 322 common signalfd4 sys_signalfd4 compat_sys_signalfd4 | ||
333 | 323 common eventfd2 sys_eventfd2 sys_eventfd2 | ||
334 | 324 common inotify_init1 sys_inotify_init1 sys_inotify_init1 | ||
335 | 325 common pipe2 sys_pipe2 compat_sys_pipe2 | ||
336 | 326 common dup3 sys_dup3 sys_dup3 | ||
337 | 327 common epoll_create1 sys_epoll_create1 sys_epoll_create1 | ||
338 | 328 common preadv sys_preadv compat_sys_preadv | ||
339 | 329 common pwritev sys_pwritev compat_sys_pwritev | ||
340 | 330 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo compat_sys_rt_tgsigqueueinfo | ||
341 | 331 common perf_event_open sys_perf_event_open compat_sys_perf_event_open | ||
342 | 332 common fanotify_init sys_fanotify_init sys_fanotify_init | ||
343 | 333 common fanotify_mark sys_fanotify_mark compat_sys_fanotify_mark | ||
344 | 334 common prlimit64 sys_prlimit64 compat_sys_prlimit64 | ||
345 | 335 common name_to_handle_at sys_name_to_handle_at compat_sys_name_to_handle_at | ||
346 | 336 common open_by_handle_at sys_open_by_handle_at compat_sys_open_by_handle_at | ||
347 | 337 common clock_adjtime sys_clock_adjtime compat_sys_clock_adjtime | ||
348 | 338 common syncfs sys_syncfs sys_syncfs | ||
349 | 339 common setns sys_setns sys_setns | ||
350 | 340 common process_vm_readv sys_process_vm_readv compat_sys_process_vm_readv | ||
351 | 341 common process_vm_writev sys_process_vm_writev compat_sys_process_vm_writev | ||
352 | 342 common s390_runtime_instr sys_s390_runtime_instr sys_s390_runtime_instr | ||
353 | 343 common kcmp sys_kcmp compat_sys_kcmp | ||
354 | 344 common finit_module sys_finit_module compat_sys_finit_module | ||
355 | 345 common sched_setattr sys_sched_setattr compat_sys_sched_setattr | ||
356 | 346 common sched_getattr sys_sched_getattr compat_sys_sched_getattr | ||
357 | 347 common renameat2 sys_renameat2 compat_sys_renameat2 | ||
358 | 348 common seccomp sys_seccomp compat_sys_seccomp | ||
359 | 349 common getrandom sys_getrandom compat_sys_getrandom | ||
360 | 350 common memfd_create sys_memfd_create compat_sys_memfd_create | ||
361 | 351 common bpf sys_bpf compat_sys_bpf | ||
362 | 352 common s390_pci_mmio_write sys_s390_pci_mmio_write compat_sys_s390_pci_mmio_write | ||
363 | 353 common s390_pci_mmio_read sys_s390_pci_mmio_read compat_sys_s390_pci_mmio_read | ||
364 | 354 common execveat sys_execveat compat_sys_execveat | ||
365 | 355 common userfaultfd sys_userfaultfd sys_userfaultfd | ||
366 | 356 common membarrier sys_membarrier sys_membarrier | ||
367 | 357 common recvmmsg sys_recvmmsg compat_sys_recvmmsg | ||
368 | 358 common sendmmsg sys_sendmmsg compat_sys_sendmmsg | ||
369 | 359 common socket sys_socket sys_socket | ||
370 | 360 common socketpair sys_socketpair compat_sys_socketpair | ||
371 | 361 common bind sys_bind compat_sys_bind | ||
372 | 362 common connect sys_connect compat_sys_connect | ||
373 | 363 common listen sys_listen sys_listen | ||
374 | 364 common accept4 sys_accept4 compat_sys_accept4 | ||
375 | 365 common getsockopt sys_getsockopt compat_sys_getsockopt | ||
376 | 366 common setsockopt sys_setsockopt compat_sys_setsockopt | ||
377 | 367 common getsockname sys_getsockname compat_sys_getsockname | ||
378 | 368 common getpeername sys_getpeername compat_sys_getpeername | ||
379 | 369 common sendto sys_sendto compat_sys_sendto | ||
380 | 370 common sendmsg sys_sendmsg compat_sys_sendmsg | ||
381 | 371 common recvfrom sys_recvfrom compat_sys_recvfrom | ||
382 | 372 common recvmsg sys_recvmsg compat_sys_recvmsg | ||
383 | 373 common shutdown sys_shutdown sys_shutdown | ||
384 | 374 common mlock2 sys_mlock2 compat_sys_mlock2 | ||
385 | 375 common copy_file_range sys_copy_file_range compat_sys_copy_file_range | ||
386 | 376 common preadv2 sys_preadv2 compat_sys_preadv2 | ||
387 | 377 common pwritev2 sys_pwritev2 compat_sys_pwritev2 | ||
388 | 378 common s390_guarded_storage sys_s390_guarded_storage compat_sys_s390_guarded_storage | ||
389 | 379 common statx sys_statx compat_sys_statx | ||
390 | 380 common s390_sthyi sys_s390_sthyi compat_sys_s390_sthyi | ||
diff --git a/arch/s390/kernel/syscalls/syscalltbl b/arch/s390/kernel/syscalls/syscalltbl new file mode 100755 index 000000000000..fbac1732f874 --- /dev/null +++ b/arch/s390/kernel/syscalls/syscalltbl | |||
@@ -0,0 +1,232 @@ | |||
1 | #!/bin/sh | ||
2 | # SPDX-License-Identifier: GPL-2.0 | ||
3 | # | ||
4 | # Generate system call table and header files | ||
5 | # | ||
6 | # Copyright IBM Corp. 2018 | ||
7 | # Author(s): Hendrik Brueckner <brueckner@linux.vnet.ibm.com> | ||
8 | |||
9 | # | ||
10 | # File path to the system call table definition. | ||
11 | # You can set the path with the -i option. If omitted, | ||
12 | # system call table definitions are read from standard input. | ||
13 | # | ||
14 | SYSCALL_TBL="" | ||
15 | |||
16 | |||
17 | create_syscall_table_entries() | ||
18 | { | ||
19 | local nr abi name entry64 entry32 _ignore | ||
20 | local temp=$(mktemp ${TMPDIR:-/tmp}/syscalltbl-common.XXXXXXXXX) | ||
21 | |||
22 | ( | ||
23 | # | ||
24 | # Initialize with 0 to create an NI_SYSCALL for 0 | ||
25 | # | ||
26 | local prev_nr=0 prev_32=sys_ni_syscall prev_64=sys_ni_syscall | ||
27 | while read nr abi name entry64 entry32 _ignore; do | ||
28 | test x$entry32 = x- && entry32=sys_ni_syscall | ||
29 | test x$entry64 = x- && entry64=sys_ni_syscall | ||
30 | |||
31 | if test $prev_nr -eq $nr; then | ||
32 | # | ||
33 | # Same syscall but different ABI, just update | ||
34 | # the respective entry point | ||
35 | # | ||
36 | case $abi in | ||
37 | 32) | ||
38 | prev_32=$entry32 | ||
39 | ;; | ||
40 | 64) | ||
41 | prev_64=$entry64 | ||
42 | ;; | ||
43 | esac | ||
44 | continue; | ||
45 | else | ||
46 | printf "%d\t%s\t%s\n" $prev_nr $prev_64 $prev_32 | ||
47 | fi | ||
48 | |||
49 | prev_nr=$nr | ||
50 | prev_64=$entry64 | ||
51 | prev_32=$entry32 | ||
52 | done | ||
53 | printf "%d\t%s\t%s\n" $prev_nr $prev_64 $prev_32 | ||
54 | ) >> $temp | ||
55 | |||
56 | # | ||
57 | # Check for duplicate syscall numbers | ||
58 | # | ||
59 | if ! cat $temp |cut -f1 |uniq -d 2>&1; then | ||
60 | echo "Error: generated system call table contains duplicate entries: $temp" >&2 | ||
61 | exit 1 | ||
62 | fi | ||
63 | |||
64 | # | ||
65 | # Generate syscall table | ||
66 | # | ||
67 | prev_nr=0 | ||
68 | while read nr entry64 entry32; do | ||
69 | while test $prev_nr -lt $((nr - 1)); do | ||
70 | printf "NI_SYSCALL\n" | ||
71 | prev_nr=$((prev_nr + 1)) | ||
72 | done | ||
73 | if test x$entry64 = xsys_ni_syscall && | ||
74 | test x$entry32 = xsys_ni_syscall; then | ||
75 | printf "NI_SYSCALL\n" | ||
76 | else | ||
77 | printf "SYSCALL(%s,%s)\n" $entry64 $entry32 | ||
78 | fi | ||
79 | prev_nr=$nr | ||
80 | done < $temp | ||
81 | rm $temp | ||
82 | } | ||
83 | |||
84 | generate_syscall_table() | ||
85 | { | ||
86 | cat <<-EoHEADER | ||
87 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
88 | /* | ||
89 | * Definitions for sys_call_table, each line represents an | ||
90 | * entry in the table in the form | ||
91 | * SYSCALL(64 bit syscall, 31 bit emulated syscall) | ||
92 | * | ||
93 | * This file is meant to be included from entry.S. | ||
94 | */ | ||
95 | |||
96 | #define NI_SYSCALL SYSCALL(sys_ni_syscall,sys_ni_syscall) | ||
97 | |||
98 | EoHEADER | ||
99 | grep -Ev '^(#|[[:blank:]]*$)' $SYSCALL_TBL \ | ||
100 | |sort -k1 -n \ | ||
101 | |create_syscall_table_entries | ||
102 | } | ||
103 | |||
104 | create_header_defines() | ||
105 | { | ||
106 | local nr abi name _ignore | ||
107 | |||
108 | while read nr abi name _ignore; do | ||
109 | printf "#define __NR_%s %d\n" $name $nr | ||
110 | done | ||
111 | } | ||
112 | |||
113 | normalize_fileguard() | ||
114 | { | ||
115 | local fileguard="$1" | ||
116 | |||
117 | echo "$1" |tr '[[:lower:]]' '[[:upper:]]' \ | ||
118 | |sed -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g' | ||
119 | } | ||
120 | |||
121 | generate_syscall_header() | ||
122 | { | ||
123 | local abis=$(echo "($1)" | tr ',' '|') | ||
124 | local filename="$2" | ||
125 | local fileguard suffix | ||
126 | |||
127 | if test "$filename"; then | ||
128 | fileguard=$(normalize_fileguard "__UAPI_ASM_S390_$2") | ||
129 | else | ||
130 | case "$abis" in | ||
131 | *64*) suffix=64 ;; | ||
132 | *32*) suffix=32 ;; | ||
133 | esac | ||
134 | fileguard=$(normalize_fileguard "__UAPI_ASM_S390_SYSCALLS_$suffix") | ||
135 | fi | ||
136 | |||
137 | cat <<-EoHEADER | ||
138 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
139 | #ifndef ${fileguard} | ||
140 | #define ${fileguard} | ||
141 | |||
142 | EoHEADER | ||
143 | |||
144 | grep -E "^[[:digit:]]+[[:space:]]+${abis}" $SYSCALL_TBL \ | ||
145 | |sort -k1 -n \ | ||
146 | |create_header_defines | ||
147 | |||
148 | cat <<-EoFOOTER | ||
149 | |||
150 | #endif /* ${fileguard} */ | ||
151 | EoFOOTER | ||
152 | } | ||
153 | |||
154 | __max_syscall_nr() | ||
155 | { | ||
156 | local abis=$(echo "($1)" | tr ',' '|') | ||
157 | |||
158 | grep -E "^[[:digit:]]+[[:space:]]+${abis}" $SYSCALL_TBL \ | ||
159 | |sed -ne 's/^\([[:digit:]]*\)[[:space:]].*/\1/p' \ | ||
160 | |sort -n \ | ||
161 | |tail -1 | ||
162 | } | ||
163 | |||
164 | |||
165 | generate_syscall_nr() | ||
166 | { | ||
167 | local abis="$1" | ||
168 | local max_syscall_nr num_syscalls | ||
169 | |||
170 | max_syscall_nr=$(__max_syscall_nr "$abis") | ||
171 | num_syscalls=$((max_syscall_nr + 1)) | ||
172 | |||
173 | cat <<-EoHEADER | ||
174 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
175 | #ifndef __ASM_S390_SYSCALLS_NR | ||
176 | #define __ASM_S390_SYSCALLS_NR | ||
177 | |||
178 | #define NR_syscalls ${num_syscalls} | ||
179 | |||
180 | #endif /* __ASM_S390_SYSCALLS_NR */ | ||
181 | EoHEADER | ||
182 | } | ||
183 | |||
184 | |||
185 | # | ||
186 | # Parse command line arguments | ||
187 | # | ||
188 | do_syscall_header="" | ||
189 | do_syscall_table="" | ||
190 | do_syscall_nr="" | ||
191 | output_file="" | ||
192 | abi_list="common,64" | ||
193 | filename="" | ||
194 | while getopts ":HNSXi:a:f:" arg; do | ||
195 | case $arg in | ||
196 | a) | ||
197 | abi_list="$OPTARG" | ||
198 | ;; | ||
199 | i) | ||
200 | SYSCALL_TBL="$OPTARG" | ||
201 | ;; | ||
202 | f) | ||
203 | filename=${OPTARG##*/} | ||
204 | ;; | ||
205 | H) | ||
206 | do_syscall_header=1 | ||
207 | ;; | ||
208 | N) | ||
209 | do_syscall_nr=1 | ||
210 | ;; | ||
211 | S) | ||
212 | do_syscall_table=1 | ||
213 | ;; | ||
214 | X) | ||
215 | set -x | ||
216 | ;; | ||
217 | :) | ||
218 | echo "Missing argument for -$OPTARG" >&2 | ||
219 | exit 1 | ||
220 | ;; | ||
221 | \?) | ||
222 | echo "Invalid option specified" >&2 | ||
223 | exit 1 | ||
224 | ;; | ||
225 | esac | ||
226 | done | ||
227 | |||
228 | test "$do_syscall_header" && generate_syscall_header "$abi_list" "$filename" | ||
229 | test "$do_syscall_table" && generate_syscall_table | ||
230 | test "$do_syscall_nr" && generate_syscall_nr "$abi_list" | ||
231 | |||
232 | exit 0 | ||
diff --git a/arch/s390/kernel/vdso32/Makefile b/arch/s390/kernel/vdso32/Makefile index 308564b9bf68..c5c856f320bc 100644 --- a/arch/s390/kernel/vdso32/Makefile +++ b/arch/s390/kernel/vdso32/Makefile | |||
@@ -10,6 +10,9 @@ obj-vdso32 = gettimeofday.o clock_getres.o clock_gettime.o note.o getcpu.o | |||
10 | targets := $(obj-vdso32) vdso32.so vdso32.so.dbg | 10 | targets := $(obj-vdso32) vdso32.so vdso32.so.dbg |
11 | obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32)) | 11 | obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32)) |
12 | 12 | ||
13 | KBUILD_AFLAGS += -DBUILD_VDSO | ||
14 | KBUILD_CFLAGS += -DBUILD_VDSO | ||
15 | |||
13 | KBUILD_AFLAGS_31 := $(filter-out -m64,$(KBUILD_AFLAGS)) | 16 | KBUILD_AFLAGS_31 := $(filter-out -m64,$(KBUILD_AFLAGS)) |
14 | KBUILD_AFLAGS_31 += -m31 -s | 17 | KBUILD_AFLAGS_31 += -m31 -s |
15 | 18 | ||
diff --git a/arch/s390/kernel/vdso32/clock_getres.S b/arch/s390/kernel/vdso32/clock_getres.S index f61df5253c23..eaf9cf1417f6 100644 --- a/arch/s390/kernel/vdso32/clock_getres.S +++ b/arch/s390/kernel/vdso32/clock_getres.S | |||
@@ -9,13 +9,14 @@ | |||
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/unistd.h> | 11 | #include <asm/unistd.h> |
12 | #include <asm/dwarf.h> | ||
12 | 13 | ||
13 | .text | 14 | .text |
14 | .align 4 | 15 | .align 4 |
15 | .globl __kernel_clock_getres | 16 | .globl __kernel_clock_getres |
16 | .type __kernel_clock_getres,@function | 17 | .type __kernel_clock_getres,@function |
17 | __kernel_clock_getres: | 18 | __kernel_clock_getres: |
18 | .cfi_startproc | 19 | CFI_STARTPROC |
19 | basr %r1,0 | 20 | basr %r1,0 |
20 | la %r1,4f-.(%r1) | 21 | la %r1,4f-.(%r1) |
21 | chi %r2,__CLOCK_REALTIME | 22 | chi %r2,__CLOCK_REALTIME |
@@ -37,7 +38,7 @@ __kernel_clock_getres: | |||
37 | 3: lhi %r1,__NR_clock_getres /* fallback to svc */ | 38 | 3: lhi %r1,__NR_clock_getres /* fallback to svc */ |
38 | svc 0 | 39 | svc 0 |
39 | br %r14 | 40 | br %r14 |
41 | CFI_ENDPROC | ||
40 | 4: .long __CLOCK_REALTIME_RES | 42 | 4: .long __CLOCK_REALTIME_RES |
41 | 5: .long __CLOCK_COARSE_RES | 43 | 5: .long __CLOCK_COARSE_RES |
42 | .cfi_endproc | ||
43 | .size __kernel_clock_getres,.-__kernel_clock_getres | 44 | .size __kernel_clock_getres,.-__kernel_clock_getres |
diff --git a/arch/s390/kernel/vdso32/clock_gettime.S b/arch/s390/kernel/vdso32/clock_gettime.S index 2d6ec3abe095..a9418bf975db 100644 --- a/arch/s390/kernel/vdso32/clock_gettime.S +++ b/arch/s390/kernel/vdso32/clock_gettime.S | |||
@@ -9,14 +9,17 @@ | |||
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/unistd.h> | 11 | #include <asm/unistd.h> |
12 | #include <asm/dwarf.h> | ||
12 | 13 | ||
13 | .text | 14 | .text |
14 | .align 4 | 15 | .align 4 |
15 | .globl __kernel_clock_gettime | 16 | .globl __kernel_clock_gettime |
16 | .type __kernel_clock_gettime,@function | 17 | .type __kernel_clock_gettime,@function |
17 | __kernel_clock_gettime: | 18 | __kernel_clock_gettime: |
18 | .cfi_startproc | 19 | CFI_STARTPROC |
19 | ahi %r15,-16 | 20 | ahi %r15,-16 |
21 | CFI_DEF_CFA_OFFSET 176 | ||
22 | CFI_VAL_OFFSET 15, -160 | ||
20 | basr %r5,0 | 23 | basr %r5,0 |
21 | 0: al %r5,21f-0b(%r5) /* get &_vdso_data */ | 24 | 0: al %r5,21f-0b(%r5) /* get &_vdso_data */ |
22 | chi %r2,__CLOCK_REALTIME_COARSE | 25 | chi %r2,__CLOCK_REALTIME_COARSE |
@@ -69,9 +72,13 @@ __kernel_clock_gettime: | |||
69 | st %r1,4(%r3) /* store tp->tv_nsec */ | 72 | st %r1,4(%r3) /* store tp->tv_nsec */ |
70 | lhi %r2,0 | 73 | lhi %r2,0 |
71 | ahi %r15,16 | 74 | ahi %r15,16 |
75 | CFI_DEF_CFA_OFFSET 160 | ||
76 | CFI_RESTORE 15 | ||
72 | br %r14 | 77 | br %r14 |
73 | 78 | ||
74 | /* CLOCK_MONOTONIC_COARSE */ | 79 | /* CLOCK_MONOTONIC_COARSE */ |
80 | CFI_DEF_CFA_OFFSET 176 | ||
81 | CFI_VAL_OFFSET 15, -160 | ||
75 | 9: l %r4,__VDSO_UPD_COUNT+4(%r5) /* load update counter */ | 82 | 9: l %r4,__VDSO_UPD_COUNT+4(%r5) /* load update counter */ |
76 | tml %r4,0x0001 /* pending update ? loop */ | 83 | tml %r4,0x0001 /* pending update ? loop */ |
77 | jnz 9b | 84 | jnz 9b |
@@ -151,15 +158,21 @@ __kernel_clock_gettime: | |||
151 | st %r1,4(%r3) /* store tp->tv_nsec */ | 158 | st %r1,4(%r3) /* store tp->tv_nsec */ |
152 | lhi %r2,0 | 159 | lhi %r2,0 |
153 | ahi %r15,16 | 160 | ahi %r15,16 |
161 | CFI_DEF_CFA_OFFSET 160 | ||
162 | CFI_RESTORE 15 | ||
154 | br %r14 | 163 | br %r14 |
155 | 164 | ||
156 | /* Fallback to system call */ | 165 | /* Fallback to system call */ |
166 | CFI_DEF_CFA_OFFSET 176 | ||
167 | CFI_VAL_OFFSET 15, -160 | ||
157 | 19: lhi %r1,__NR_clock_gettime | 168 | 19: lhi %r1,__NR_clock_gettime |
158 | svc 0 | 169 | svc 0 |
159 | ahi %r15,16 | 170 | ahi %r15,16 |
171 | CFI_DEF_CFA_OFFSET 160 | ||
172 | CFI_RESTORE 15 | ||
160 | br %r14 | 173 | br %r14 |
174 | CFI_ENDPROC | ||
161 | 175 | ||
162 | 20: .long 1000000000 | 176 | 20: .long 1000000000 |
163 | 21: .long _vdso_data - 0b | 177 | 21: .long _vdso_data - 0b |
164 | .cfi_endproc | ||
165 | .size __kernel_clock_gettime,.-__kernel_clock_gettime | 178 | .size __kernel_clock_gettime,.-__kernel_clock_gettime |
diff --git a/arch/s390/kernel/vdso32/getcpu.S b/arch/s390/kernel/vdso32/getcpu.S index 5477a2c112fb..25515f3fbcea 100644 --- a/arch/s390/kernel/vdso32/getcpu.S +++ b/arch/s390/kernel/vdso32/getcpu.S | |||
@@ -8,13 +8,14 @@ | |||
8 | */ | 8 | */ |
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/dwarf.h> | ||
11 | 12 | ||
12 | .text | 13 | .text |
13 | .align 4 | 14 | .align 4 |
14 | .globl __kernel_getcpu | 15 | .globl __kernel_getcpu |
15 | .type __kernel_getcpu,@function | 16 | .type __kernel_getcpu,@function |
16 | __kernel_getcpu: | 17 | __kernel_getcpu: |
17 | .cfi_startproc | 18 | CFI_STARTPROC |
18 | la %r4,0 | 19 | la %r4,0 |
19 | sacf 256 | 20 | sacf 256 |
20 | l %r5,__VDSO_CPU_NR(%r4) | 21 | l %r5,__VDSO_CPU_NR(%r4) |
@@ -28,5 +29,5 @@ __kernel_getcpu: | |||
28 | st %r4,0(%r3) | 29 | st %r4,0(%r3) |
29 | 3: lhi %r2,0 | 30 | 3: lhi %r2,0 |
30 | br %r14 | 31 | br %r14 |
31 | .cfi_endproc | 32 | CFI_ENDPROC |
32 | .size __kernel_getcpu,.-__kernel_getcpu | 33 | .size __kernel_getcpu,.-__kernel_getcpu |
diff --git a/arch/s390/kernel/vdso32/gettimeofday.S b/arch/s390/kernel/vdso32/gettimeofday.S index aa8bf13a2edb..3c0db0fa6ad9 100644 --- a/arch/s390/kernel/vdso32/gettimeofday.S +++ b/arch/s390/kernel/vdso32/gettimeofday.S | |||
@@ -9,14 +9,17 @@ | |||
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/unistd.h> | 11 | #include <asm/unistd.h> |
12 | #include <asm/dwarf.h> | ||
12 | 13 | ||
13 | .text | 14 | .text |
14 | .align 4 | 15 | .align 4 |
15 | .globl __kernel_gettimeofday | 16 | .globl __kernel_gettimeofday |
16 | .type __kernel_gettimeofday,@function | 17 | .type __kernel_gettimeofday,@function |
17 | __kernel_gettimeofday: | 18 | __kernel_gettimeofday: |
18 | .cfi_startproc | 19 | CFI_STARTPROC |
19 | ahi %r15,-16 | 20 | ahi %r15,-16 |
21 | CFI_ADJUST_CFA_OFFSET 16 | ||
22 | CFI_VAL_OFFSET 15, -160 | ||
20 | basr %r5,0 | 23 | basr %r5,0 |
21 | 0: al %r5,13f-0b(%r5) /* get &_vdso_data */ | 24 | 0: al %r5,13f-0b(%r5) /* get &_vdso_data */ |
22 | 1: ltr %r3,%r3 /* check if tz is NULL */ | 25 | 1: ltr %r3,%r3 /* check if tz is NULL */ |
@@ -89,9 +92,11 @@ __kernel_gettimeofday: | |||
89 | st %r0,4(%r2) /* store tv->tv_usec */ | 92 | st %r0,4(%r2) /* store tv->tv_usec */ |
90 | 10: slr %r2,%r2 | 93 | 10: slr %r2,%r2 |
91 | ahi %r15,16 | 94 | ahi %r15,16 |
95 | CFI_ADJUST_CFA_OFFSET -16 | ||
96 | CFI_RESTORE 15 | ||
92 | br %r14 | 97 | br %r14 |
98 | CFI_ENDPROC | ||
93 | 11: .long 1000000000 | 99 | 11: .long 1000000000 |
94 | 12: .long 274877907 | 100 | 12: .long 274877907 |
95 | 13: .long _vdso_data - 0b | 101 | 13: .long _vdso_data - 0b |
96 | .cfi_endproc | ||
97 | .size __kernel_gettimeofday,.-__kernel_gettimeofday | 102 | .size __kernel_gettimeofday,.-__kernel_gettimeofday |
diff --git a/arch/s390/kernel/vdso64/Makefile b/arch/s390/kernel/vdso64/Makefile index f81ae7998883..15b1ceafc4c1 100644 --- a/arch/s390/kernel/vdso64/Makefile +++ b/arch/s390/kernel/vdso64/Makefile | |||
@@ -10,6 +10,9 @@ obj-vdso64 = gettimeofday.o clock_getres.o clock_gettime.o note.o getcpu.o | |||
10 | targets := $(obj-vdso64) vdso64.so vdso64.so.dbg | 10 | targets := $(obj-vdso64) vdso64.so vdso64.so.dbg |
11 | obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64)) | 11 | obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64)) |
12 | 12 | ||
13 | KBUILD_AFLAGS += -DBUILD_VDSO | ||
14 | KBUILD_CFLAGS += -DBUILD_VDSO | ||
15 | |||
13 | KBUILD_AFLAGS_64 := $(filter-out -m64,$(KBUILD_AFLAGS)) | 16 | KBUILD_AFLAGS_64 := $(filter-out -m64,$(KBUILD_AFLAGS)) |
14 | KBUILD_AFLAGS_64 += -m64 -s | 17 | KBUILD_AFLAGS_64 += -m64 -s |
15 | 18 | ||
diff --git a/arch/s390/kernel/vdso64/clock_getres.S b/arch/s390/kernel/vdso64/clock_getres.S index faf5213b15df..081435398e0a 100644 --- a/arch/s390/kernel/vdso64/clock_getres.S +++ b/arch/s390/kernel/vdso64/clock_getres.S | |||
@@ -9,13 +9,14 @@ | |||
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/unistd.h> | 11 | #include <asm/unistd.h> |
12 | #include <asm/dwarf.h> | ||
12 | 13 | ||
13 | .text | 14 | .text |
14 | .align 4 | 15 | .align 4 |
15 | .globl __kernel_clock_getres | 16 | .globl __kernel_clock_getres |
16 | .type __kernel_clock_getres,@function | 17 | .type __kernel_clock_getres,@function |
17 | __kernel_clock_getres: | 18 | __kernel_clock_getres: |
18 | .cfi_startproc | 19 | CFI_STARTPROC |
19 | larl %r1,4f | 20 | larl %r1,4f |
20 | cghi %r2,__CLOCK_REALTIME_COARSE | 21 | cghi %r2,__CLOCK_REALTIME_COARSE |
21 | je 0f | 22 | je 0f |
@@ -43,7 +44,7 @@ __kernel_clock_getres: | |||
43 | 2: lghi %r1,__NR_clock_getres /* fallback to svc */ | 44 | 2: lghi %r1,__NR_clock_getres /* fallback to svc */ |
44 | svc 0 | 45 | svc 0 |
45 | br %r14 | 46 | br %r14 |
47 | CFI_ENDPROC | ||
46 | 3: .quad __CLOCK_REALTIME_RES | 48 | 3: .quad __CLOCK_REALTIME_RES |
47 | 4: .quad __CLOCK_COARSE_RES | 49 | 4: .quad __CLOCK_COARSE_RES |
48 | .cfi_endproc | ||
49 | .size __kernel_clock_getres,.-__kernel_clock_getres | 50 | .size __kernel_clock_getres,.-__kernel_clock_getres |
diff --git a/arch/s390/kernel/vdso64/clock_gettime.S b/arch/s390/kernel/vdso64/clock_gettime.S index 6046b3bfca46..fac3ab5ec83a 100644 --- a/arch/s390/kernel/vdso64/clock_gettime.S +++ b/arch/s390/kernel/vdso64/clock_gettime.S | |||
@@ -9,14 +9,17 @@ | |||
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/unistd.h> | 11 | #include <asm/unistd.h> |
12 | #include <asm/dwarf.h> | ||
12 | 13 | ||
13 | .text | 14 | .text |
14 | .align 4 | 15 | .align 4 |
15 | .globl __kernel_clock_gettime | 16 | .globl __kernel_clock_gettime |
16 | .type __kernel_clock_gettime,@function | 17 | .type __kernel_clock_gettime,@function |
17 | __kernel_clock_gettime: | 18 | __kernel_clock_gettime: |
18 | .cfi_startproc | 19 | CFI_STARTPROC |
19 | aghi %r15,-16 | 20 | aghi %r15,-16 |
21 | CFI_DEF_CFA_OFFSET 176 | ||
22 | CFI_VAL_OFFSET 15, -160 | ||
20 | larl %r5,_vdso_data | 23 | larl %r5,_vdso_data |
21 | cghi %r2,__CLOCK_REALTIME_COARSE | 24 | cghi %r2,__CLOCK_REALTIME_COARSE |
22 | je 4f | 25 | je 4f |
@@ -53,9 +56,13 @@ __kernel_clock_gettime: | |||
53 | stg %r1,8(%r3) /* store tp->tv_nsec */ | 56 | stg %r1,8(%r3) /* store tp->tv_nsec */ |
54 | lghi %r2,0 | 57 | lghi %r2,0 |
55 | aghi %r15,16 | 58 | aghi %r15,16 |
59 | CFI_DEF_CFA_OFFSET 160 | ||
60 | CFI_RESTORE 15 | ||
56 | br %r14 | 61 | br %r14 |
57 | 62 | ||
58 | /* CLOCK_MONOTONIC_COARSE */ | 63 | /* CLOCK_MONOTONIC_COARSE */ |
64 | CFI_DEF_CFA_OFFSET 176 | ||
65 | CFI_VAL_OFFSET 15, -160 | ||
59 | 3: lg %r4,__VDSO_UPD_COUNT(%r5) /* load update counter */ | 66 | 3: lg %r4,__VDSO_UPD_COUNT(%r5) /* load update counter */ |
60 | tmll %r4,0x0001 /* pending update ? loop */ | 67 | tmll %r4,0x0001 /* pending update ? loop */ |
61 | jnz 3b | 68 | jnz 3b |
@@ -108,9 +115,13 @@ __kernel_clock_gettime: | |||
108 | stg %r1,8(%r3) /* store tp->tv_nsec */ | 115 | stg %r1,8(%r3) /* store tp->tv_nsec */ |
109 | lghi %r2,0 | 116 | lghi %r2,0 |
110 | aghi %r15,16 | 117 | aghi %r15,16 |
118 | CFI_DEF_CFA_OFFSET 160 | ||
119 | CFI_RESTORE 15 | ||
111 | br %r14 | 120 | br %r14 |
112 | 121 | ||
113 | /* CPUCLOCK_VIRT for this thread */ | 122 | /* CPUCLOCK_VIRT for this thread */ |
123 | CFI_DEF_CFA_OFFSET 176 | ||
124 | CFI_VAL_OFFSET 15, -160 | ||
114 | 9: lghi %r4,0 | 125 | 9: lghi %r4,0 |
115 | icm %r0,15,__VDSO_ECTG_OK(%r5) | 126 | icm %r0,15,__VDSO_ECTG_OK(%r5) |
116 | jz 12f | 127 | jz 12f |
@@ -131,15 +142,21 @@ __kernel_clock_gettime: | |||
131 | stg %r4,8(%r3) | 142 | stg %r4,8(%r3) |
132 | lghi %r2,0 | 143 | lghi %r2,0 |
133 | aghi %r15,16 | 144 | aghi %r15,16 |
145 | CFI_DEF_CFA_OFFSET 160 | ||
146 | CFI_RESTORE 15 | ||
134 | br %r14 | 147 | br %r14 |
135 | 148 | ||
136 | /* Fallback to system call */ | 149 | /* Fallback to system call */ |
150 | CFI_DEF_CFA_OFFSET 176 | ||
151 | CFI_VAL_OFFSET 15, -160 | ||
137 | 12: lghi %r1,__NR_clock_gettime | 152 | 12: lghi %r1,__NR_clock_gettime |
138 | svc 0 | 153 | svc 0 |
139 | aghi %r15,16 | 154 | aghi %r15,16 |
155 | CFI_DEF_CFA_OFFSET 160 | ||
156 | CFI_RESTORE 15 | ||
140 | br %r14 | 157 | br %r14 |
158 | CFI_ENDPROC | ||
141 | 159 | ||
142 | 13: .quad 1000000000 | 160 | 13: .quad 1000000000 |
143 | 14: .quad 19342813113834067 | 161 | 14: .quad 19342813113834067 |
144 | .cfi_endproc | ||
145 | .size __kernel_clock_gettime,.-__kernel_clock_gettime | 162 | .size __kernel_clock_gettime,.-__kernel_clock_gettime |
diff --git a/arch/s390/kernel/vdso64/getcpu.S b/arch/s390/kernel/vdso64/getcpu.S index e9c34364d97b..2446e9dac8ab 100644 --- a/arch/s390/kernel/vdso64/getcpu.S +++ b/arch/s390/kernel/vdso64/getcpu.S | |||
@@ -8,13 +8,14 @@ | |||
8 | */ | 8 | */ |
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/dwarf.h> | ||
11 | 12 | ||
12 | .text | 13 | .text |
13 | .align 4 | 14 | .align 4 |
14 | .globl __kernel_getcpu | 15 | .globl __kernel_getcpu |
15 | .type __kernel_getcpu,@function | 16 | .type __kernel_getcpu,@function |
16 | __kernel_getcpu: | 17 | __kernel_getcpu: |
17 | .cfi_startproc | 18 | CFI_STARTPROC |
18 | la %r4,0 | 19 | la %r4,0 |
19 | sacf 256 | 20 | sacf 256 |
20 | l %r5,__VDSO_CPU_NR(%r4) | 21 | l %r5,__VDSO_CPU_NR(%r4) |
@@ -28,5 +29,5 @@ __kernel_getcpu: | |||
28 | st %r4,0(%r3) | 29 | st %r4,0(%r3) |
29 | 3: lghi %r2,0 | 30 | 3: lghi %r2,0 |
30 | br %r14 | 31 | br %r14 |
31 | .cfi_endproc | 32 | CFI_ENDPROC |
32 | .size __kernel_getcpu,.-__kernel_getcpu | 33 | .size __kernel_getcpu,.-__kernel_getcpu |
diff --git a/arch/s390/kernel/vdso64/gettimeofday.S b/arch/s390/kernel/vdso64/gettimeofday.S index cc9dbc27da6f..6e1f0b421695 100644 --- a/arch/s390/kernel/vdso64/gettimeofday.S +++ b/arch/s390/kernel/vdso64/gettimeofday.S | |||
@@ -9,14 +9,17 @@ | |||
9 | #include <asm/vdso.h> | 9 | #include <asm/vdso.h> |
10 | #include <asm/asm-offsets.h> | 10 | #include <asm/asm-offsets.h> |
11 | #include <asm/unistd.h> | 11 | #include <asm/unistd.h> |
12 | #include <asm/dwarf.h> | ||
12 | 13 | ||
13 | .text | 14 | .text |
14 | .align 4 | 15 | .align 4 |
15 | .globl __kernel_gettimeofday | 16 | .globl __kernel_gettimeofday |
16 | .type __kernel_gettimeofday,@function | 17 | .type __kernel_gettimeofday,@function |
17 | __kernel_gettimeofday: | 18 | __kernel_gettimeofday: |
18 | .cfi_startproc | 19 | CFI_STARTPROC |
19 | aghi %r15,-16 | 20 | aghi %r15,-16 |
21 | CFI_ADJUST_CFA_OFFSET 16 | ||
22 | CFI_VAL_OFFSET 15, -160 | ||
20 | larl %r5,_vdso_data | 23 | larl %r5,_vdso_data |
21 | 0: ltgr %r3,%r3 /* check if tz is NULL */ | 24 | 0: ltgr %r3,%r3 /* check if tz is NULL */ |
22 | je 1f | 25 | je 1f |
@@ -58,8 +61,10 @@ __kernel_gettimeofday: | |||
58 | stg %r0,8(%r2) /* store tv->tv_usec */ | 61 | stg %r0,8(%r2) /* store tv->tv_usec */ |
59 | 4: lghi %r2,0 | 62 | 4: lghi %r2,0 |
60 | aghi %r15,16 | 63 | aghi %r15,16 |
64 | CFI_ADJUST_CFA_OFFSET -16 | ||
65 | CFI_RESTORE 15 | ||
61 | br %r14 | 66 | br %r14 |
67 | CFI_ENDPROC | ||
62 | 5: .quad 1000000000 | 68 | 5: .quad 1000000000 |
63 | .long 274877907 | 69 | .long 274877907 |
64 | .cfi_endproc | ||
65 | .size __kernel_gettimeofday,.-__kernel_gettimeofday | 70 | .size __kernel_gettimeofday,.-__kernel_gettimeofday |
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index a049ff005f03..608cf2987d19 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S | |||
@@ -141,4 +141,7 @@ SECTIONS | |||
141 | 141 | ||
142 | /* Sections to be discarded */ | 142 | /* Sections to be discarded */ |
143 | DISCARDS | 143 | DISCARDS |
144 | /DISCARD/ : { | ||
145 | *(.eh_frame) | ||
146 | } | ||
144 | } | 147 | } |
diff --git a/arch/s390/tools/.gitignore b/arch/s390/tools/.gitignore index 72a4b2cf1365..71bd6f8eebaf 100644 --- a/arch/s390/tools/.gitignore +++ b/arch/s390/tools/.gitignore | |||
@@ -1 +1,2 @@ | |||
1 | gen_facilities | 1 | gen_facilities |
2 | gen_opcode_table | ||
diff --git a/arch/s390/tools/Makefile b/arch/s390/tools/Makefile index 2e70e25de07a..48cdac1143a9 100644 --- a/arch/s390/tools/Makefile +++ b/arch/s390/tools/Makefile | |||
@@ -3,22 +3,33 @@ | |||
3 | # Makefile for s390 specific build tools | 3 | # Makefile for s390 specific build tools |
4 | # | 4 | # |
5 | 5 | ||
6 | kapi := arch/$(ARCH)/include/generated/asm | ||
7 | kapi-hdrs-y := $(kapi)/facility-defs.h $(kapi)/dis-defs.h | ||
8 | |||
9 | targets += $(addprefix ../../../,$(kapi-hdrs-y)) | ||
10 | PHONY += kapi | ||
11 | |||
12 | kapi: $(kapi-hdrs-y) | ||
13 | |||
6 | hostprogs-y += gen_facilities | 14 | hostprogs-y += gen_facilities |
7 | hostprogs-y += gen_opcode_table | 15 | hostprogs-y += gen_opcode_table |
8 | 16 | ||
9 | HOSTCFLAGS_gen_facilities.o += -Wall $(LINUXINCLUDE) | 17 | HOSTCFLAGS_gen_facilities.o += -Wall $(LINUXINCLUDE) |
10 | HOSTCFLAGS_gen_opcode_table.o += -Wall $(LINUXINCLUDE) | 18 | HOSTCFLAGS_gen_opcode_table.o += -Wall $(LINUXINCLUDE) |
11 | 19 | ||
12 | define filechk_facilities.h | 20 | # Ensure output directory exists |
21 | _dummy := $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') | ||
22 | |||
23 | define filechk_facility-defs.h | ||
13 | $(obj)/gen_facilities | 24 | $(obj)/gen_facilities |
14 | endef | 25 | endef |
15 | 26 | ||
16 | define filechk_dis.h | 27 | define filechk_dis-defs.h |
17 | ( $(obj)/gen_opcode_table < $(srctree)/arch/$(ARCH)/tools/opcodes.txt ) | 28 | ( $(obj)/gen_opcode_table < $(srctree)/arch/$(ARCH)/tools/opcodes.txt ) |
18 | endef | 29 | endef |
19 | 30 | ||
20 | include/generated/facilities.h: $(obj)/gen_facilities FORCE | 31 | $(kapi)/facility-defs.h: $(obj)/gen_facilities FORCE |
21 | $(call filechk,facilities.h) | 32 | $(call filechk,facility-defs.h) |
22 | 33 | ||
23 | include/generated/dis.h: $(obj)/gen_opcode_table FORCE | 34 | $(kapi)/dis-defs.h: $(obj)/gen_opcode_table FORCE |
24 | $(call filechk,dis.h) | 35 | $(call filechk,dis-defs.h) |
diff --git a/arch/s390/tools/gen_facilities.c b/arch/s390/tools/gen_facilities.c index 0373801d9860..424a1ba4f874 100644 --- a/arch/s390/tools/gen_facilities.c +++ b/arch/s390/tools/gen_facilities.c | |||
@@ -128,8 +128,8 @@ static void print_facility_lists(void) | |||
128 | 128 | ||
129 | int main(int argc, char **argv) | 129 | int main(int argc, char **argv) |
130 | { | 130 | { |
131 | printf("#ifndef __ASM_S390_FACILITIES__\n"); | 131 | printf("#ifndef __ASM_S390_FACILITY_DEFS__\n"); |
132 | printf("#define __ASM_S390_FACILITIES__\n"); | 132 | printf("#define __ASM_S390_FACILITY_DEFS__\n"); |
133 | printf("/*\n"); | 133 | printf("/*\n"); |
134 | printf(" * DO NOT MODIFY.\n"); | 134 | printf(" * DO NOT MODIFY.\n"); |
135 | printf(" *\n"); | 135 | printf(" *\n"); |
diff --git a/arch/s390/tools/gen_opcode_table.c b/arch/s390/tools/gen_opcode_table.c index 357d42681cef..259aa0680d1a 100644 --- a/arch/s390/tools/gen_opcode_table.c +++ b/arch/s390/tools/gen_opcode_table.c | |||
@@ -321,8 +321,8 @@ int main(int argc, char **argv) | |||
321 | struct gen_opcode *desc = &_desc; | 321 | struct gen_opcode *desc = &_desc; |
322 | 322 | ||
323 | read_instructions(desc); | 323 | read_instructions(desc); |
324 | printf("#ifndef __S390_GENERATED_DIS_H__\n"); | 324 | printf("#ifndef __S390_GENERATED_DIS_DEFS_H__\n"); |
325 | printf("#define __S390_GENERATED_DIS_H__\n"); | 325 | printf("#define __S390_GENERATED_DIS_DEFS_H__\n"); |
326 | printf("/*\n"); | 326 | printf("/*\n"); |
327 | printf(" * DO NOT MODIFY.\n"); | 327 | printf(" * DO NOT MODIFY.\n"); |
328 | printf(" *\n"); | 328 | printf(" *\n"); |