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