Commit f12e840c authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha

Pull alpha architecture updates from Matt Turner:
 "A few small changes for alpha as well as the new system call table
  generation support from Firoz Khan"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
  alpha: Remove some unused variables
  alpha: rtc: simplify alpha_rtc_init
  alpha: Fix a typo on ptrace.h
  alpha: fix spelling mistake QSD_PORT_ACTUVE -> QSD_PORT_ACTIVE
  alpha: generate uapi header and syscall table header files
  alpha: add system call table generation support
  alpha: add __NR_syscalls along with NR_SYSCALLS
  alpha: remove CONFIG_OSF4_COMPAT flag from syscall table
  alpha: move __IGNORE* entries to non uapi header
parents e3ed513b 1c3243f6
...@@ -61,6 +61,9 @@ bootimage bootpfile bootpzfile: vmlinux ...@@ -61,6 +61,9 @@ bootimage bootpfile bootpzfile: vmlinux
archclean: archclean:
$(Q)$(MAKE) $(clean)=$(boot) $(Q)$(MAKE) $(clean)=$(boot)
archheaders:
$(Q)$(MAKE) $(build)=arch/alpha/kernel/syscalls all
define archhelp define archhelp
echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)' echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)'
echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)' echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)'
......
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
generated-y += syscall_table.h
generic-y += compat.h generic-y += compat.h
generic-y += exec.h generic-y += exec.h
generic-y += export.h generic-y += export.h
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <uapi/asm/unistd.h> #include <uapi/asm/unistd.h>
#define NR_SYSCALLS 523 #define NR_SYSCALLS __NR_syscalls
#define __ARCH_WANT_NEW_STAT #define __ARCH_WANT_NEW_STAT
#define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_OLD_READDIR
...@@ -19,4 +19,25 @@ ...@@ -19,4 +19,25 @@
#define __ARCH_WANT_SYS_VFORK #define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE #define __ARCH_WANT_SYS_CLONE
/*
* Ignore legacy syscalls that we don't use.
*/
#define __IGNORE_alarm
#define __IGNORE_creat
#define __IGNORE_getegid
#define __IGNORE_geteuid
#define __IGNORE_getgid
#define __IGNORE_getpid
#define __IGNORE_getppid
#define __IGNORE_getuid
#define __IGNORE_pause
#define __IGNORE_time
#define __IGNORE_utime
#define __IGNORE_umount2
/* Alpha doesn't have protection keys. */
#define __IGNORE_pkey_mprotect
#define __IGNORE_pkey_alloc
#define __IGNORE_pkey_free
#endif /* _ALPHA_UNISTD_H */ #endif /* _ALPHA_UNISTD_H */
# UAPI Header export list # UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generic-y += bpf_perf_event.h generic-y += bpf_perf_event.h
generic-y += ipcbuf.h generic-y += ipcbuf.h
generic-y += msgbuf.h generic-y += msgbuf.h
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* kernel stack during a system call or other kernel entry * kernel stack during a system call or other kernel entry
* *
* NOTE! I want to minimize the overhead of system calls, so this * NOTE! I want to minimize the overhead of system calls, so this
* struct has as little information as possible. I does not have * struct has as little information as possible. It does not have
* *
* - floating point regs: the kernel doesn't change those * - floating point regs: the kernel doesn't change those
* - r9-15: saved by the C compiler * - r9-15: saved by the C compiler
......
...@@ -2,488 +2,6 @@ ...@@ -2,488 +2,6 @@
#ifndef _UAPI_ALPHA_UNISTD_H #ifndef _UAPI_ALPHA_UNISTD_H
#define _UAPI_ALPHA_UNISTD_H #define _UAPI_ALPHA_UNISTD_H
#define __NR_osf_syscall 0 /* not implemented */ #include <asm/unistd_32.h>
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
#define __NR_write 4
#define __NR_osf_old_open 5 /* not implemented */
#define __NR_close 6
#define __NR_osf_wait4 7
#define __NR_osf_old_creat 8 /* not implemented */
#define __NR_link 9
#define __NR_unlink 10
#define __NR_osf_execve 11 /* not implemented */
#define __NR_chdir 12
#define __NR_fchdir 13
#define __NR_mknod 14
#define __NR_chmod 15
#define __NR_chown 16
#define __NR_brk 17
#define __NR_osf_getfsstat 18 /* not implemented */
#define __NR_lseek 19
#define __NR_getxpid 20
#define __NR_osf_mount 21
#define __NR_umount 22
#define __NR_setuid 23
#define __NR_getxuid 24
#define __NR_exec_with_loader 25 /* not implemented */
#define __NR_ptrace 26
#define __NR_osf_nrecvmsg 27 /* not implemented */
#define __NR_osf_nsendmsg 28 /* not implemented */
#define __NR_osf_nrecvfrom 29 /* not implemented */
#define __NR_osf_naccept 30 /* not implemented */
#define __NR_osf_ngetpeername 31 /* not implemented */
#define __NR_osf_ngetsockname 32 /* not implemented */
#define __NR_access 33
#define __NR_osf_chflags 34 /* not implemented */
#define __NR_osf_fchflags 35 /* not implemented */
#define __NR_sync 36
#define __NR_kill 37
#define __NR_osf_old_stat 38 /* not implemented */
#define __NR_setpgid 39
#define __NR_osf_old_lstat 40 /* not implemented */
#define __NR_dup 41
#define __NR_pipe 42
#define __NR_osf_set_program_attributes 43
#define __NR_osf_profil 44 /* not implemented */
#define __NR_open 45
#define __NR_osf_old_sigaction 46 /* not implemented */
#define __NR_getxgid 47
#define __NR_osf_sigprocmask 48
#define __NR_osf_getlogin 49 /* not implemented */
#define __NR_osf_setlogin 50 /* not implemented */
#define __NR_acct 51
#define __NR_sigpending 52
#define __NR_ioctl 54
#define __NR_osf_reboot 55 /* not implemented */
#define __NR_osf_revoke 56 /* not implemented */
#define __NR_symlink 57
#define __NR_readlink 58
#define __NR_execve 59
#define __NR_umask 60
#define __NR_chroot 61
#define __NR_osf_old_fstat 62 /* not implemented */
#define __NR_getpgrp 63
#define __NR_getpagesize 64
#define __NR_osf_mremap 65 /* not implemented */
#define __NR_vfork 66
#define __NR_stat 67
#define __NR_lstat 68
#define __NR_osf_sbrk 69 /* not implemented */
#define __NR_osf_sstk 70 /* not implemented */
#define __NR_mmap 71 /* OSF/1 mmap is superset of Linux */
#define __NR_osf_old_vadvise 72 /* not implemented */
#define __NR_munmap 73
#define __NR_mprotect 74
#define __NR_madvise 75
#define __NR_vhangup 76
#define __NR_osf_kmodcall 77 /* not implemented */
#define __NR_osf_mincore 78 /* not implemented */
#define __NR_getgroups 79
#define __NR_setgroups 80
#define __NR_osf_old_getpgrp 81 /* not implemented */
#define __NR_setpgrp 82 /* BSD alias for setpgid */
#define __NR_osf_setitimer 83
#define __NR_osf_old_wait 84 /* not implemented */
#define __NR_osf_table 85 /* not implemented */
#define __NR_osf_getitimer 86
#define __NR_gethostname 87
#define __NR_sethostname 88
#define __NR_getdtablesize 89
#define __NR_dup2 90
#define __NR_fstat 91
#define __NR_fcntl 92
#define __NR_osf_select 93
#define __NR_poll 94
#define __NR_fsync 95
#define __NR_setpriority 96
#define __NR_socket 97
#define __NR_connect 98
#define __NR_accept 99
#define __NR_getpriority 100
#define __NR_send 101
#define __NR_recv 102
#define __NR_sigreturn 103
#define __NR_bind 104
#define __NR_setsockopt 105
#define __NR_listen 106
#define __NR_osf_plock 107 /* not implemented */
#define __NR_osf_old_sigvec 108 /* not implemented */
#define __NR_osf_old_sigblock 109 /* not implemented */
#define __NR_osf_old_sigsetmask 110 /* not implemented */
#define __NR_sigsuspend 111
#define __NR_osf_sigstack 112
#define __NR_recvmsg 113
#define __NR_sendmsg 114
#define __NR_osf_old_vtrace 115 /* not implemented */
#define __NR_osf_gettimeofday 116
#define __NR_osf_getrusage 117
#define __NR_getsockopt 118
#define __NR_readv 120
#define __NR_writev 121
#define __NR_osf_settimeofday 122
#define __NR_fchown 123
#define __NR_fchmod 124
#define __NR_recvfrom 125
#define __NR_setreuid 126
#define __NR_setregid 127
#define __NR_rename 128
#define __NR_truncate 129
#define __NR_ftruncate 130
#define __NR_flock 131
#define __NR_setgid 132
#define __NR_sendto 133
#define __NR_shutdown 134
#define __NR_socketpair 135
#define __NR_mkdir 136
#define __NR_rmdir 137
#define __NR_osf_utimes 138
#define __NR_osf_old_sigreturn 139 /* not implemented */
#define __NR_osf_adjtime 140 /* not implemented */
#define __NR_getpeername 141
#define __NR_osf_gethostid 142 /* not implemented */
#define __NR_osf_sethostid 143 /* not implemented */
#define __NR_getrlimit 144
#define __NR_setrlimit 145
#define __NR_osf_old_killpg 146 /* not implemented */
#define __NR_setsid 147
#define __NR_quotactl 148
#define __NR_osf_oldquota 149 /* not implemented */
#define __NR_getsockname 150
#define __NR_osf_pid_block 153 /* not implemented */
#define __NR_osf_pid_unblock 154 /* not implemented */
#define __NR_sigaction 156
#define __NR_osf_sigwaitprim 157 /* not implemented */
#define __NR_osf_nfssvc 158 /* not implemented */
#define __NR_osf_getdirentries 159
#define __NR_osf_statfs 160
#define __NR_osf_fstatfs 161
#define __NR_osf_asynch_daemon 163 /* not implemented */
#define __NR_osf_getfh 164 /* not implemented */
#define __NR_osf_getdomainname 165
#define __NR_setdomainname 166
#define __NR_osf_exportfs 169 /* not implemented */
#define __NR_osf_alt_plock 181 /* not implemented */
#define __NR_osf_getmnt 184 /* not implemented */
#define __NR_osf_alt_sigpending 187 /* not implemented */
#define __NR_osf_alt_setsid 188 /* not implemented */
#define __NR_osf_swapon 199
#define __NR_msgctl 200
#define __NR_msgget 201
#define __NR_msgrcv 202
#define __NR_msgsnd 203
#define __NR_semctl 204
#define __NR_semget 205
#define __NR_semop 206
#define __NR_osf_utsname 207
#define __NR_lchown 208
#define __NR_osf_shmat 209
#define __NR_shmctl 210
#define __NR_shmdt 211
#define __NR_shmget 212
#define __NR_osf_mvalid 213 /* not implemented */
#define __NR_osf_getaddressconf 214 /* not implemented */
#define __NR_osf_msleep 215 /* not implemented */
#define __NR_osf_mwakeup 216 /* not implemented */
#define __NR_msync 217
#define __NR_osf_signal 218 /* not implemented */
#define __NR_osf_utc_gettime 219 /* not implemented */
#define __NR_osf_utc_adjtime 220 /* not implemented */
#define __NR_osf_security 222 /* not implemented */
#define __NR_osf_kloadcall 223 /* not implemented */
#define __NR_osf_stat 224
#define __NR_osf_lstat 225
#define __NR_osf_fstat 226
#define __NR_osf_statfs64 227
#define __NR_osf_fstatfs64 228
#define __NR_getpgid 233
#define __NR_getsid 234
#define __NR_sigaltstack 235
#define __NR_osf_waitid 236 /* not implemented */
#define __NR_osf_priocntlset 237 /* not implemented */
#define __NR_osf_sigsendset 238 /* not implemented */
#define __NR_osf_set_speculative 239 /* not implemented */
#define __NR_osf_msfs_syscall 240 /* not implemented */
#define __NR_osf_sysinfo 241
#define __NR_osf_uadmin 242 /* not implemented */
#define __NR_osf_fuser 243 /* not implemented */
#define __NR_osf_proplist_syscall 244
#define __NR_osf_ntp_adjtime 245 /* not implemented */
#define __NR_osf_ntp_gettime 246 /* not implemented */
#define __NR_osf_pathconf 247 /* not implemented */
#define __NR_osf_fpathconf 248 /* not implemented */
#define __NR_osf_uswitch 250 /* not implemented */
#define __NR_osf_usleep_thread 251
#define __NR_osf_audcntl 252 /* not implemented */
#define __NR_osf_audgen 253 /* not implemented */
#define __NR_sysfs 254
#define __NR_osf_subsys_info 255 /* not implemented */
#define __NR_osf_getsysinfo 256
#define __NR_osf_setsysinfo 257
#define __NR_osf_afs_syscall 258 /* not implemented */
#define __NR_osf_swapctl 259 /* not implemented */
#define __NR_osf_memcntl 260 /* not implemented */
#define __NR_osf_fdatasync 261 /* not implemented */
/*
* Ignore legacy syscalls that we don't use.
*/
#define __IGNORE_alarm
#define __IGNORE_creat
#define __IGNORE_getegid
#define __IGNORE_geteuid
#define __IGNORE_getgid
#define __IGNORE_getpid
#define __IGNORE_getppid
#define __IGNORE_getuid
#define __IGNORE_pause
#define __IGNORE_time
#define __IGNORE_utime
#define __IGNORE_umount2
/*
* Linux-specific system calls begin at 300
*/
#define __NR_bdflush 300
#define __NR_sethae 301
#define __NR_mount 302
#define __NR_old_adjtimex 303
#define __NR_swapoff 304
#define __NR_getdents 305
#define __NR_create_module 306
#define __NR_init_module 307
#define __NR_delete_module 308
#define __NR_get_kernel_syms 309
#define __NR_syslog 310
#define __NR_reboot 311
#define __NR_clone 312
#define __NR_uselib 313
#define __NR_mlock 314
#define __NR_munlock 315
#define __NR_mlockall 316
#define __NR_munlockall 317
#define __NR_sysinfo 318
#define __NR__sysctl 319
/* 320 was sys_idle. */
#define __NR_oldumount 321
#define __NR_swapon 322
#define __NR_times 323
#define __NR_personality 324
#define __NR_setfsuid 325
#define __NR_setfsgid 326
#define __NR_ustat 327
#define __NR_statfs 328
#define __NR_fstatfs 329
#define __NR_sched_setparam 330
#define __NR_sched_getparam 331
#define __NR_sched_setscheduler 332
#define __NR_sched_getscheduler 333
#define __NR_sched_yield 334
#define __NR_sched_get_priority_max 335
#define __NR_sched_get_priority_min 336
#define __NR_sched_rr_get_interval 337
#define __NR_afs_syscall 338
#define __NR_uname 339
#define __NR_nanosleep 340
#define __NR_mremap 341
#define __NR_nfsservctl 342
#define __NR_setresuid 343
#define __NR_getresuid 344
#define __NR_pciconfig_read 345
#define __NR_pciconfig_write 346
#define __NR_query_module 347
#define __NR_prctl 348
#define __NR_pread64 349
#define __NR_pwrite64 350
#define __NR_rt_sigreturn 351
#define __NR_rt_sigaction 352
#define __NR_rt_sigprocmask 353
#define __NR_rt_sigpending 354
#define __NR_rt_sigtimedwait 355
#define __NR_rt_sigqueueinfo 356
#define __NR_rt_sigsuspend 357
#define __NR_select 358
#define __NR_gettimeofday 359
#define __NR_settimeofday 360
#define __NR_getitimer 361
#define __NR_setitimer 362
#define __NR_utimes 363
#define __NR_getrusage 364
#define __NR_wait4 365
#define __NR_adjtimex 366
#define __NR_getcwd 367
#define __NR_capget 368
#define __NR_capset 369
#define __NR_sendfile 370
#define __NR_setresgid 371
#define __NR_getresgid 372
#define __NR_dipc 373
#define __NR_pivot_root 374
#define __NR_mincore 375
#define __NR_pciconfig_iobase 376
#define __NR_getdents64 377
#define __NR_gettid 378
#define __NR_readahead 379
/* 380 is unused */
#define __NR_tkill 381
#define __NR_setxattr 382
#define __NR_lsetxattr 383
#define __NR_fsetxattr 384
#define __NR_getxattr 385
#define __NR_lgetxattr 386
#define __NR_fgetxattr 387
#define __NR_listxattr 388
#define __NR_llistxattr 389
#define __NR_flistxattr 390
#define __NR_removexattr 391
#define __NR_lremovexattr 392
#define __NR_fremovexattr 393
#define __NR_futex 394
#define __NR_sched_setaffinity 395
#define __NR_sched_getaffinity 396
#define __NR_tuxcall 397
#define __NR_io_setup 398
#define __NR_io_destroy 399
#define __NR_io_getevents 400
#define __NR_io_submit 401
#define __NR_io_cancel 402
#define __NR_exit_group 405
#define __NR_lookup_dcookie 406
#define __NR_epoll_create 407
#define __NR_epoll_ctl 408
#define __NR_epoll_wait 409
#define __NR_remap_file_pages 410
#define __NR_set_tid_address 411
#define __NR_restart_syscall 412
#define __NR_fadvise64 413
#define __NR_timer_create 414
#define __NR_timer_settime 415
#define __NR_timer_gettime 416
#define __NR_timer_getoverrun 417
#define __NR_timer_delete 418
#define __NR_clock_settime 419
#define __NR_clock_gettime 420
#define __NR_clock_getres 421
#define __NR_clock_nanosleep 422
#define __NR_semtimedop 423
#define __NR_tgkill 424
#define __NR_stat64 425
#define __NR_lstat64 426
#define __NR_fstat64 427
#define __NR_vserver 428
#define __NR_mbind 429
#define __NR_get_mempolicy 430
#define __NR_set_mempolicy 431
#define __NR_mq_open 432
#define __NR_mq_unlink 433
#define __NR_mq_timedsend 434
#define __NR_mq_timedreceive 435
#define __NR_mq_notify 436
#define __NR_mq_getsetattr 437
#define __NR_waitid 438
#define __NR_add_key 439
#define __NR_request_key 440
#define __NR_keyctl 441
#define __NR_ioprio_set 442
#define __NR_ioprio_get 443
#define __NR_inotify_init 444
#define __NR_inotify_add_watch 445
#define __NR_inotify_rm_watch 446
#define __NR_fdatasync 447
#define __NR_kexec_load 448
#define __NR_migrate_pages 449
#define __NR_openat 450
#define __NR_mkdirat 451
#define __NR_mknodat 452
#define __NR_fchownat 453
#define __NR_futimesat 454
#define __NR_fstatat64 455
#define __NR_unlinkat 456
#define __NR_renameat 457
#define __NR_linkat 458
#define __NR_symlinkat 459
#define __NR_readlinkat 460
#define __NR_fchmodat 461
#define __NR_faccessat 462
#define __NR_pselect6 463
#define __NR_ppoll 464
#define __NR_unshare 465
#define __NR_set_robust_list 466
#define __NR_get_robust_list 467
#define __NR_splice 468
#define __NR_sync_file_range 469
#define __NR_tee 470
#define __NR_vmsplice 471
#define __NR_move_pages 472
#define __NR_getcpu 473
#define __NR_epoll_pwait 474
#define __NR_utimensat 475
#define __NR_signalfd 476
#define __NR_timerfd 477
#define __NR_eventfd 478
#define __NR_recvmmsg 479
#define __NR_fallocate 480
#define __NR_timerfd_create 481
#define __NR_timerfd_settime 482
#define __NR_timerfd_gettime 483
#define __NR_signalfd4 484
#define __NR_eventfd2 485
#define __NR_epoll_create1 486
#define __NR_dup3 487
#define __NR_pipe2 488
#define __NR_inotify_init1 489
#define __NR_preadv 490
#define __NR_pwritev 491
#define __NR_rt_tgsigqueueinfo 492
#define __NR_perf_event_open 493
#define __NR_fanotify_init 494
#define __NR_fanotify_mark 495
#define __NR_prlimit64 496
#define __NR_name_to_handle_at 497
#define __NR_open_by_handle_at 498
#define __NR_clock_adjtime 499
#define __NR_syncfs 500
#define __NR_setns 501
#define __NR_accept4 502
#define __NR_sendmmsg 503
#define __NR_process_vm_readv 504
#define __NR_process_vm_writev 505
#define __NR_kcmp 506
#define __NR_finit_module 507
#define __NR_sched_setattr 508
#define __NR_sched_getattr 509
#define __NR_renameat2 510
#define __NR_getrandom 511
#define __NR_memfd_create 512
#define __NR_execveat 513
#define __NR_seccomp 514
#define __NR_bpf 515
#define __NR_userfaultfd 516
#define __NR_membarrier 517
#define __NR_mlock2 518
#define __NR_copy_file_range 519
#define __NR_preadv2 520
#define __NR_pwritev2 521
#define __NR_statx 522
/* Alpha doesn't have protection keys. */
#define __IGNORE_pkey_mprotect
#define __IGNORE_pkey_alloc
#define __IGNORE_pkey_free
#endif /* _UAPI_ALPHA_UNISTD_H */ #endif /* _UAPI_ALPHA_UNISTD_H */
...@@ -559,7 +559,7 @@ wildfire_dump_qsd_regs(int qbbno) ...@@ -559,7 +559,7 @@ wildfire_dump_qsd_regs(int qbbno)
printk(KERN_ERR " QSD_REV: 0x%16lx\n", qsd->qsd_rev.csr); printk(KERN_ERR " QSD_REV: 0x%16lx\n", qsd->qsd_rev.csr);
printk(KERN_ERR " QSD_PORT_PRESENT: 0x%16lx\n", printk(KERN_ERR " QSD_PORT_PRESENT: 0x%16lx\n",
qsd->qsd_port_present.csr); qsd->qsd_port_present.csr);
printk(KERN_ERR " QSD_PORT_ACTUVE: 0x%16lx\n", printk(KERN_ERR " QSD_PORT_ACTIVE: 0x%16lx\n",
qsd->qsd_port_active.csr); qsd->qsd_port_active.csr);
printk(KERN_ERR " QSD_FAULT_ENA: 0x%16lx\n", printk(KERN_ERR " QSD_FAULT_ENA: 0x%16lx\n",
qsd->qsd_fault_ena.csr); qsd->qsd_fault_ena.csr);
......
...@@ -529,7 +529,6 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path, ...@@ -529,7 +529,6 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
SYSCALL_DEFINE1(osf_utsname, char __user *, name) SYSCALL_DEFINE1(osf_utsname, char __user *, name)
{ {
int error;
char tmp[5 * 32]; char tmp[5 * 32];
down_read(&uts_sem); down_read(&uts_sem);
...@@ -560,7 +559,7 @@ SYSCALL_DEFINE0(getdtablesize) ...@@ -560,7 +559,7 @@ SYSCALL_DEFINE0(getdtablesize)
*/ */
SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen) SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
{ {
int len, err = 0; int len;
char *kname; char *kname;
char tmp[32]; char tmp[32];
...@@ -1343,7 +1342,6 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, ...@@ -1343,7 +1342,6 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
} }
#ifdef CONFIG_OSF4_COMPAT #ifdef CONFIG_OSF4_COMPAT
/* Clear top 32 bits of iov_len in the user's buffer for /* Clear top 32 bits of iov_len in the user's buffer for
compatibility with old versions of OSF/1 where iov_len compatibility with old versions of OSF/1 where iov_len
was defined as int. */ was defined as int. */
...@@ -1360,27 +1358,31 @@ osf_fix_iov_len(const struct iovec __user *iov, unsigned long count) ...@@ -1360,27 +1358,31 @@ osf_fix_iov_len(const struct iovec __user *iov, unsigned long count)
} }
return 0; return 0;
} }
#endif
SYSCALL_DEFINE3(osf_readv, unsigned long, fd, SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
const struct iovec __user *, vector, unsigned long, count) const struct iovec __user *, vector, unsigned long, count)
{ {
#ifdef CONFIG_OSF4_COMPAT
if (unlikely(personality(current->personality) == PER_OSF4)) if (unlikely(personality(current->personality) == PER_OSF4))
if (osf_fix_iov_len(vector, count)) if (osf_fix_iov_len(vector, count))
return -EFAULT; return -EFAULT;
#endif
return sys_readv(fd, vector, count); return sys_readv(fd, vector, count);
} }
SYSCALL_DEFINE3(osf_writev, unsigned long, fd, SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
const struct iovec __user *, vector, unsigned long, count) const struct iovec __user *, vector, unsigned long, count)
{ {
#ifdef CONFIG_OSF4_COMPAT
if (unlikely(personality(current->personality) == PER_OSF4)) if (unlikely(personality(current->personality) == PER_OSF4))
if (osf_fix_iov_len(vector, count)) if (osf_fix_iov_len(vector, count))
return -EFAULT; return -EFAULT;
#endif
return sys_writev(fd, vector, count); return sys_writev(fd, vector, count);
} }
#endif
SYSCALL_DEFINE2(osf_getpriority, int, which, int, who) SYSCALL_DEFINE2(osf_getpriority, int, which, int, who)
{ {
int prio = sys_getpriority(which, who); int prio = sys_getpriority(which, who);
......
...@@ -198,26 +198,24 @@ static const struct rtc_class_ops remote_rtc_ops = { ...@@ -198,26 +198,24 @@ static const struct rtc_class_ops remote_rtc_ops = {
static int __init static int __init
alpha_rtc_init(void) alpha_rtc_init(void)
{ {
const struct rtc_class_ops *ops;
struct platform_device *pdev; struct platform_device *pdev;
struct rtc_device *rtc; struct rtc_device *rtc;
const char *name;
init_rtc_epoch(); init_rtc_epoch();
name = "rtc-alpha";
ops = &alpha_rtc_ops;
#ifdef HAVE_REMOTE_RTC pdev = platform_device_register_simple("rtc-alpha", -1, NULL, 0);
if (alpha_mv.rtc_boot_cpu_only) rtc = devm_rtc_allocate_device(&pdev->dev);
ops = &remote_rtc_ops;
#endif
pdev = platform_device_register_simple(name, -1, NULL, 0);
rtc = devm_rtc_device_register(&pdev->dev, name, ops, THIS_MODULE);
if (IS_ERR(rtc)) if (IS_ERR(rtc))
return PTR_ERR(rtc); return PTR_ERR(rtc);
platform_set_drvdata(pdev, rtc); platform_set_drvdata(pdev, rtc);
return 0; rtc->ops = &alpha_rtc_ops;
#ifdef HAVE_REMOTE_RTC
if (alpha_mv.rtc_boot_cpu_only)
rtc->ops = &remote_rtc_ops;
#endif
return rtc_register_device(rtc);
} }
device_initcall(alpha_rtc_init); device_initcall(alpha_rtc_init);
# SPDX-License-Identifier: GPL-2.0
kapi := arch/$(SRCARCH)/include/generated/asm
uapi := arch/$(SRCARCH)/include/generated/uapi/asm
_dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \
$(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)')
syscall := $(srctree)/$(src)/syscall.tbl
syshdr := $(srctree)/$(src)/syscallhdr.sh
systbl := $(srctree)/$(src)/syscalltbl.sh
quiet_cmd_syshdr = SYSHDR $@
cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
'$(syshdr_abis_$(basetarget))' \
'$(syshdr_pfx_$(basetarget))' \
'$(syshdr_offset_$(basetarget))'
quiet_cmd_systbl = SYSTBL $@
cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
'$(systbl_abis_$(basetarget))' \
'$(systbl_abi_$(basetarget))' \
'$(systbl_offset_$(basetarget))'
$(uapi)/unistd_32.h: $(syscall) $(syshdr)
$(call if_changed,syshdr)
$(kapi)/syscall_table.h: $(syscall) $(systbl)
$(call if_changed,systbl)
uapisyshdr-y += unistd_32.h
kapisyshdr-y += syscall_table.h
targets += $(uapisyshdr-y) $(kapisyshdr-y)
PHONY += all
all: $(addprefix $(uapi)/,$(uapisyshdr-y))
all: $(addprefix $(kapi)/,$(kapisyshdr-y))
@:
# SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
#
# system call numbers and entry vectors for alpha
#
# The format is:
# <number> <abi> <name> <entry point>
#
# The <abi> is always "common" for this file
#
0 common osf_syscall alpha_syscall_zero
1 common exit sys_exit
2 common fork alpha_fork
3 common read sys_read
4 common write sys_write
5 common osf_old_open sys_ni_syscall
6 common close sys_close
7 common osf_wait4 sys_osf_wait4
8 common osf_old_creat sys_ni_syscall
9 common link sys_link
10 common unlink sys_unlink
11 common osf_execve sys_ni_syscall
12 common chdir sys_chdir
13 common fchdir sys_fchdir
14 common mknod sys_mknod
15 common chmod sys_chmod
16 common chown sys_chown
17 common brk sys_osf_brk
18 common osf_getfsstat sys_ni_syscall
19 common lseek sys_lseek
20 common getxpid sys_getxpid
21 common osf_mount sys_osf_mount
22 common umount sys_umount
23 common setuid sys_setuid
24 common getxuid sys_getxuid
25 common exec_with_loader sys_ni_syscall
26 common ptrace sys_ptrace
27 common osf_nrecvmsg sys_ni_syscall
28 common osf_nsendmsg sys_ni_syscall
29 common osf_nrecvfrom sys_ni_syscall
30 common osf_naccept sys_ni_syscall
31 common osf_ngetpeername sys_ni_syscall
32 common osf_ngetsockname sys_ni_syscall
33 common access sys_access
34 common osf_chflags sys_ni_syscall
35 common osf_fchflags sys_ni_syscall
36 common sync sys_sync
37 common kill sys_kill
38 common osf_old_stat sys_ni_syscall
39 common setpgid sys_setpgid
40 common osf_old_lstat sys_ni_syscall
41 common dup sys_dup
42 common pipe sys_alpha_pipe
43 common osf_set_program_attributes sys_osf_set_program_attributes
44 common osf_profil sys_ni_syscall
45 common open sys_open
46 common osf_old_sigaction sys_ni_syscall
47 common getxgid sys_getxgid
48 common osf_sigprocmask sys_osf_sigprocmask
49 common osf_getlogin sys_ni_syscall
50 common osf_setlogin sys_ni_syscall
51 common acct sys_acct
52 common sigpending sys_sigpending
54 common ioctl sys_ioctl
55 common osf_reboot sys_ni_syscall
56 common osf_revoke sys_ni_syscall
57 common symlink sys_symlink
58 common readlink sys_readlink
59 common execve sys_execve
60 common umask sys_umask
61 common chroot sys_chroot
62 common osf_old_fstat sys_ni_syscall
63 common getpgrp sys_getpgrp
64 common getpagesize sys_getpagesize
65 common osf_mremap sys_ni_syscall
66 common vfork alpha_vfork
67 common stat sys_newstat
68 common lstat sys_newlstat
69 common osf_sbrk sys_ni_syscall
70 common osf_sstk sys_ni_syscall
71 common mmap sys_osf_mmap
72 common osf_old_vadvise sys_ni_syscall
73 common munmap sys_munmap
74 common mprotect sys_mprotect
75 common madvise sys_madvise
76 common vhangup sys_vhangup
77 common osf_kmodcall sys_ni_syscall
78 common osf_mincore sys_ni_syscall
79 common getgroups sys_getgroups
80 common setgroups sys_setgroups
81 common osf_old_getpgrp sys_ni_syscall
82 common setpgrp sys_setpgid
83 common osf_setitimer sys_osf_setitimer
84 common osf_old_wait sys_ni_syscall
85 common osf_table sys_ni_syscall
86 common osf_getitimer sys_osf_getitimer
87 common gethostname sys_gethostname
88 common sethostname sys_sethostname
89 common getdtablesize sys_getdtablesize
90 common dup2 sys_dup2
91 common fstat sys_newfstat
92 common fcntl sys_fcntl
93 common osf_select sys_osf_select
94 common poll sys_poll
95 common fsync sys_fsync
96 common setpriority sys_setpriority
97 common socket sys_socket
98 common connect sys_connect
99 common accept sys_accept
100 common getpriority sys_osf_getpriority
101 common send sys_send
102 common recv sys_recv
103 common sigreturn sys_sigreturn
104 common bind sys_bind
105 common setsockopt sys_setsockopt
106 common listen sys_listen
107 common osf_plock sys_ni_syscall
108 common osf_old_sigvec sys_ni_syscall
109 common osf_old_sigblock sys_ni_syscall
110 common osf_old_sigsetmask sys_ni_syscall
111 common sigsuspend sys_sigsuspend
112 common osf_sigstack sys_osf_sigstack
113 common recvmsg sys_recvmsg
114 common sendmsg sys_sendmsg
115 common osf_old_vtrace sys_ni_syscall
116 common osf_gettimeofday sys_osf_gettimeofday
117 common osf_getrusage sys_osf_getrusage
118 common getsockopt sys_getsockopt
120 common readv sys_osf_readv
121 common writev sys_osf_writev
122 common osf_settimeofday sys_osf_settimeofday
123 common fchown sys_fchown
124 common fchmod sys_fchmod
125 common recvfrom sys_recvfrom
126 common setreuid sys_setreuid
127 common setregid sys_setregid
128 common rename sys_rename
129 common truncate sys_truncate
130 common ftruncate sys_ftruncate
131 common flock sys_flock
132 common setgid sys_setgid
133 common sendto sys_sendto
134 common shutdown sys_shutdown
135 common socketpair sys_socketpair
136 common mkdir sys_mkdir
137 common rmdir sys_rmdir
138 common osf_utimes sys_osf_utimes
139 common osf_old_sigreturn sys_ni_syscall
140 common osf_adjtime sys_ni_syscall
141 common getpeername sys_getpeername
142 common osf_gethostid sys_ni_syscall
143 common osf_sethostid sys_ni_syscall
144 common getrlimit sys_getrlimit
145 common setrlimit sys_setrlimit
146 common osf_old_killpg sys_ni_syscall
147 common setsid sys_setsid
148 common quotactl sys_quotactl
149 common osf_oldquota sys_ni_syscall
150 common getsockname sys_getsockname
153 common osf_pid_block sys_ni_syscall
154 common osf_pid_unblock sys_ni_syscall
156 common sigaction sys_osf_sigaction
157 common osf_sigwaitprim sys_ni_syscall
158 common osf_nfssvc sys_ni_syscall
159 common osf_getdirentries sys_osf_getdirentries
160 common osf_statfs sys_osf_statfs
161 common osf_fstatfs sys_osf_fstatfs
163 common osf_asynch_daemon sys_ni_syscall
164 common osf_getfh sys_ni_syscall
165 common osf_getdomainname sys_osf_getdomainname
166 common setdomainname sys_setdomainname
169 common osf_exportfs sys_ni_syscall
181 common osf_alt_plock sys_ni_syscall
184 common osf_getmnt sys_ni_syscall
187 common osf_alt_sigpending sys_ni_syscall
188 common osf_alt_setsid sys_ni_syscall
199 common osf_swapon sys_swapon
200 common msgctl sys_msgctl
201 common msgget sys_msgget
202 common msgrcv sys_msgrcv
203 common msgsnd sys_msgsnd
204 common semctl sys_semctl
205 common semget sys_semget
206 common semop sys_semop
207 common osf_utsname sys_osf_utsname
208 common lchown sys_lchown
209 common osf_shmat sys_shmat
210 common shmctl sys_shmctl
211 common shmdt sys_shmdt
212 common shmget sys_shmget
213 common osf_mvalid sys_ni_syscall
214 common osf_getaddressconf sys_ni_syscall
215 common osf_msleep sys_ni_syscall
216 common osf_mwakeup sys_ni_syscall
217 common msync sys_msync
218 common osf_signal sys_ni_syscall
219 common osf_utc_gettime sys_ni_syscall
220 common osf_utc_adjtime sys_ni_syscall
222 common osf_security sys_ni_syscall
223 common osf_kloadcall sys_ni_syscall
224 common osf_stat sys_osf_stat
225 common osf_lstat sys_osf_lstat
226 common osf_fstat sys_osf_fstat
227 common osf_statfs64 sys_osf_statfs64
228 common osf_fstatfs64 sys_osf_fstatfs64
233 common getpgid sys_getpgid
234 common getsid sys_getsid
235 common sigaltstack sys_sigaltstack
236 common osf_waitid sys_ni_syscall
237 common osf_priocntlset sys_ni_syscall
238 common osf_sigsendset sys_ni_syscall
239 common osf_set_speculative sys_ni_syscall
240 common osf_msfs_syscall sys_ni_syscall
241 common osf_sysinfo sys_osf_sysinfo
242 common osf_uadmin sys_ni_syscall
243 common osf_fuser sys_ni_syscall
244 common osf_proplist_syscall sys_osf_proplist_syscall
245 common osf_ntp_adjtime sys_ni_syscall
246 common osf_ntp_gettime sys_ni_syscall
247 common osf_pathconf sys_ni_syscall
248 common osf_fpathconf sys_ni_syscall
250 common osf_uswitch sys_ni_syscall
251 common osf_usleep_thread sys_osf_usleep_thread
252 common osf_audcntl sys_ni_syscall
253 common osf_audgen sys_ni_syscall
254 common sysfs sys_sysfs
255 common osf_subsys_info sys_ni_syscall
256 common osf_getsysinfo sys_osf_getsysinfo
257 common osf_setsysinfo sys_osf_setsysinfo
258 common osf_afs_syscall sys_ni_syscall
259 common osf_swapctl sys_ni_syscall
260 common osf_memcntl sys_ni_syscall
261 common osf_fdatasync sys_ni_syscall
300 common bdflush sys_bdflush
301 common sethae sys_sethae
302 common mount sys_mount
303 common old_adjtimex sys_old_adjtimex
304 common swapoff sys_swapoff
305 common getdents sys_getdents
306 common create_module sys_ni_syscall
307 common init_module sys_init_module
308 common delete_module sys_delete_module
309 common get_kernel_syms sys_ni_syscall
310 common syslog sys_syslog
311 common reboot sys_reboot
312 common clone alpha_clone
313 common uselib sys_uselib
314 common mlock sys_mlock
315 common munlock sys_munlock
316 common mlockall sys_mlockall
317 common munlockall sys_munlockall
318 common sysinfo sys_sysinfo
319 common _sysctl sys_sysctl
# 320 was sys_idle
321 common oldumount sys_oldumount
322 common swapon sys_swapon
323 common times sys_times
324 common personality sys_personality
325 common setfsuid sys_setfsuid
326 common setfsgid sys_setfsgid
327 common ustat sys_ustat
328 common statfs sys_statfs
329 common fstatfs sys_fstatfs
330 common sched_setparam sys_sched_setparam
331 common sched_getparam sys_sched_getparam
332 common sched_setscheduler sys_sched_setscheduler
333 common sched_getscheduler sys_sched_getscheduler
334 common sched_yield sys_sched_yield
335 common sched_get_priority_max sys_sched_get_priority_max
336 common sched_get_priority_min sys_sched_get_priority_min
337 common sched_rr_get_interval sys_sched_rr_get_interval
338 common afs_syscall sys_ni_syscall
339 common uname sys_newuname
340 common nanosleep sys_nanosleep
341 common mremap sys_mremap
342 common nfsservctl sys_ni_syscall
343 common setresuid sys_setresuid
344 common getresuid sys_getresuid
345 common pciconfig_read sys_pciconfig_read
346 common pciconfig_write sys_pciconfig_write
347 common query_module sys_ni_syscall
348 common prctl sys_prctl
349 common pread64 sys_pread64
350 common pwrite64 sys_pwrite64
351 common rt_sigreturn sys_rt_sigreturn
352 common rt_sigaction sys_rt_sigaction
353 common rt_sigprocmask sys_rt_sigprocmask
354 common rt_sigpending sys_rt_sigpending
355 common rt_sigtimedwait sys_rt_sigtimedwait
356 common rt_sigqueueinfo sys_rt_sigqueueinfo
357 common rt_sigsuspend sys_rt_sigsuspend
358 common select sys_select
359 common gettimeofday sys_gettimeofday
360 common settimeofday sys_settimeofday
361 common getitimer sys_getitimer
362 common setitimer sys_setitimer
363 common utimes sys_utimes
364 common getrusage sys_getrusage
365 common wait4 sys_wait4
366 common adjtimex sys_adjtimex
367 common getcwd sys_getcwd
368 common capget sys_capget
369 common capset sys_capset
370 common sendfile sys_sendfile64
371 common setresgid sys_setresgid
372 common getresgid sys_getresgid
373 common dipc sys_ni_syscall
374 common pivot_root sys_pivot_root
375 common mincore sys_mincore
376 common pciconfig_iobase sys_pciconfig_iobase
377 common getdents64 sys_getdents64
378 common gettid sys_gettid
379 common readahead sys_readahead
# 380 is unused
381 common tkill sys_tkill
382 common setxattr sys_setxattr
383 common lsetxattr sys_lsetxattr
384 common fsetxattr sys_fsetxattr
385 common getxattr sys_getxattr
386 common lgetxattr sys_lgetxattr
387 common fgetxattr sys_fgetxattr
388 common listxattr sys_listxattr
389 common llistxattr sys_llistxattr
390 common flistxattr sys_flistxattr
391 common removexattr sys_removexattr
392 common lremovexattr sys_lremovexattr
393 common fremovexattr sys_fremovexattr
394 common futex sys_futex
395 common sched_setaffinity sys_sched_setaffinity
396 common sched_getaffinity sys_sched_getaffinity
397 common tuxcall sys_ni_syscall
398 common io_setup sys_io_setup
399 common io_destroy sys_io_destroy
400 common io_getevents sys_io_getevents
401 common io_submit sys_io_submit
402 common io_cancel sys_io_cancel
405 common exit_group sys_exit_group
406 common lookup_dcookie sys_lookup_dcookie
407 common epoll_create sys_epoll_create
408 common epoll_ctl sys_epoll_ctl
409 common epoll_wait sys_epoll_wait
410 common remap_file_pages sys_remap_file_pages
411 common set_tid_address sys_set_tid_address
412 common restart_syscall sys_restart_syscall
413 common fadvise64 sys_fadvise64
414 common timer_create sys_timer_create
415 common timer_settime sys_timer_settime
416 common timer_gettime sys_timer_gettime
417 common timer_getoverrun sys_timer_getoverrun
418 common timer_delete sys_timer_delete
419 common clock_settime sys_clock_settime
420 common clock_gettime sys_clock_gettime
421 common clock_getres sys_clock_getres
422 common clock_nanosleep sys_clock_nanosleep
423 common semtimedop sys_semtimedop
424 common tgkill sys_tgkill
425 common stat64 sys_stat64
426 common lstat64 sys_lstat64
427 common fstat64 sys_fstat64
428 common vserver sys_ni_syscall
429 common mbind sys_ni_syscall
430 common get_mempolicy sys_ni_syscall
431 common set_mempolicy sys_ni_syscall
432 common mq_open sys_mq_open
433 common mq_unlink sys_mq_unlink
434 common mq_timedsend sys_mq_timedsend
435 common mq_timedreceive sys_mq_timedreceive
436 common mq_notify sys_mq_notify
437 common mq_getsetattr sys_mq_getsetattr
438 common waitid sys_waitid
439 common add_key sys_add_key
440 common request_key sys_request_key
441 common keyctl sys_keyctl
442 common ioprio_set sys_ioprio_set
443 common ioprio_get sys_ioprio_get
444 common inotify_init sys_inotify_init
445 common inotify_add_watch sys_inotify_add_watch
446 common inotify_rm_watch sys_inotify_rm_watch
447 common fdatasync sys_fdatasync
448 common kexec_load sys_kexec_load
449 common migrate_pages sys_migrate_pages
450 common openat sys_openat
451 common mkdirat sys_mkdirat
452 common mknodat sys_mknodat
453 common fchownat sys_fchownat
454 common futimesat sys_futimesat
455 common fstatat64 sys_fstatat64
456 common unlinkat sys_unlinkat
457 common renameat sys_renameat
458 common linkat sys_linkat
459 common symlinkat sys_symlinkat
460 common readlinkat sys_readlinkat
461 common fchmodat sys_fchmodat
462 common faccessat sys_faccessat
463 common pselect6 sys_pselect6
464 common ppoll sys_ppoll
465 common unshare sys_unshare
466 common set_robust_list sys_set_robust_list
467 common get_robust_list sys_get_robust_list
468 common splice sys_splice
469 common sync_file_range sys_sync_file_range
470 common tee sys_tee
471 common vmsplice sys_vmsplice
472 common move_pages sys_move_pages
473 common getcpu sys_getcpu
474 common epoll_pwait sys_epoll_pwait
475 common utimensat sys_utimensat
476 common signalfd sys_signalfd
477 common timerfd sys_ni_syscall
478 common eventfd sys_eventfd
479 common recvmmsg sys_recvmmsg
480 common fallocate sys_fallocate
481 common timerfd_create sys_timerfd_create
482 common timerfd_settime sys_timerfd_settime
483 common timerfd_gettime sys_timerfd_gettime
484 common signalfd4 sys_signalfd4
485 common eventfd2 sys_eventfd2
486 common epoll_create1 sys_epoll_create1
487 common dup3 sys_dup3
488 common pipe2 sys_pipe2
489 common inotify_init1 sys_inotify_init1
490 common preadv sys_preadv
491 common pwritev sys_pwritev
492 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo
493 common perf_event_open sys_perf_event_open
494 common fanotify_init sys_fanotify_init
495 common fanotify_mark sys_fanotify_mark
496 common prlimit64 sys_prlimit64
497 common name_to_handle_at sys_name_to_handle_at
498 common open_by_handle_at sys_open_by_handle_at
499 common clock_adjtime sys_clock_adjtime
500 common syncfs sys_syncfs
501 common setns sys_setns
502 common accept4 sys_accept4
503 common sendmmsg sys_sendmmsg
504 common process_vm_readv sys_process_vm_readv
505 common process_vm_writev sys_process_vm_writev
506 common kcmp sys_kcmp
507 common finit_module sys_finit_module
508 common sched_setattr sys_sched_setattr
509 common sched_getattr sys_sched_getattr
510 common renameat2 sys_renameat2
511 common getrandom sys_getrandom
512 common memfd_create sys_memfd_create
513 common execveat sys_execveat
514 common seccomp sys_seccomp
515 common bpf sys_bpf
516 common userfaultfd sys_userfaultfd
517 common membarrier sys_membarrier
518 common mlock2 sys_mlock2
519 common copy_file_range sys_copy_file_range
520 common preadv2 sys_preadv2
521 common pwritev2 sys_pwritev2
522 common statx sys_statx
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
in="$1"
out="$2"
my_abis=`echo "($3)" | tr ',' '|'`
prefix="$4"
offset="$5"
fileguard=_UAPI_ASM_ALPHA_`basename "$out" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
printf "#ifndef %s\n" "${fileguard}"
printf "#define %s\n" "${fileguard}"
printf "\n"
nxt=0
while read nr abi name entry ; do
if [ -z "$offset" ]; then
printf "#define __NR_%s%s\t%s\n" \
"${prefix}" "${name}" "${nr}"
else
printf "#define __NR_%s%s\t(%s + %s)\n" \
"${prefix}" "${name}" "${offset}" "${nr}"
fi
nxt=$((nr+1))
done
printf "\n"
printf "#ifdef __KERNEL__\n"
printf "#define __NR_syscalls\t%s\n" "${nxt}"
printf "#endif\n"
printf "\n"
printf "#endif /* %s */" "${fileguard}"
) > "$out"
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
in="$1"
out="$2"
my_abis=`echo "($3)" | tr ',' '|'`
my_abi="$4"
offset="$5"
emit() {
t_nxt="$1"
t_nr="$2"
t_entry="$3"
while [ $t_nxt -lt $t_nr ]; do
printf "__SYSCALL(%s, sys_ni_syscall, )\n" "${t_nxt}"
t_nxt=$((t_nxt+1))
done
printf "__SYSCALL(%s, %s, )\n" "${t_nxt}" "${t_entry}"
}
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
nxt=0
if [ -z "$offset" ]; then
offset=0
fi
while read nr abi name entry ; do
emit $((nxt+offset)) $((nr+offset)) $entry
nxt=$((nr+1))
done
) > "$out"
...@@ -7,546 +7,10 @@ ...@@ -7,546 +7,10 @@
#include <asm/unistd.h> #include <asm/unistd.h>
#define __SYSCALL(nr, entry, nargs) .quad entry
.data .data
.align 3 .align 3
.globl sys_call_table .globl sys_call_table
sys_call_table: sys_call_table:
.quad alpha_syscall_zero /* 0 */ #include <asm/syscall_table.h>
.quad sys_exit #undef __SYSCALL
.quad alpha_fork
.quad sys_read
.quad sys_write
.quad sys_ni_syscall /* 5 */
.quad sys_close
.quad sys_osf_wait4
.quad sys_ni_syscall
.quad sys_link
.quad sys_unlink /* 10 */
.quad sys_ni_syscall
.quad sys_chdir
.quad sys_fchdir
.quad sys_mknod
.quad sys_chmod /* 15 */
.quad sys_chown
.quad sys_osf_brk
.quad sys_ni_syscall
.quad sys_lseek
.quad sys_getxpid /* 20 */
.quad sys_osf_mount
.quad sys_umount
.quad sys_setuid
.quad sys_getxuid
.quad sys_ni_syscall /* 25 */
.quad sys_ptrace
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 30 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_access
.quad sys_ni_syscall
.quad sys_ni_syscall /* 35 */
.quad sys_sync
.quad sys_kill
.quad sys_ni_syscall
.quad sys_setpgid
.quad sys_ni_syscall /* 40 */
.quad sys_dup
.quad sys_alpha_pipe
.quad sys_osf_set_program_attributes
.quad sys_ni_syscall
.quad sys_open /* 45 */
.quad sys_ni_syscall
.quad sys_getxgid
.quad sys_osf_sigprocmask
.quad sys_ni_syscall
.quad sys_ni_syscall /* 50 */
.quad sys_acct
.quad sys_sigpending
.quad sys_ni_syscall
.quad sys_ioctl
.quad sys_ni_syscall /* 55 */
.quad sys_ni_syscall
.quad sys_symlink
.quad sys_readlink
.quad sys_execve
.quad sys_umask /* 60 */
.quad sys_chroot
.quad sys_ni_syscall
.quad sys_getpgrp
.quad sys_getpagesize
.quad sys_ni_syscall /* 65 */
.quad alpha_vfork
.quad sys_newstat
.quad sys_newlstat
.quad sys_ni_syscall
.quad sys_ni_syscall /* 70 */
.quad sys_osf_mmap
.quad sys_ni_syscall
.quad sys_munmap
.quad sys_mprotect
.quad sys_madvise /* 75 */
.quad sys_vhangup
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_getgroups
/* map BSD's setpgrp to sys_setpgid for binary compatibility: */
.quad sys_setgroups /* 80 */
.quad sys_ni_syscall
.quad sys_setpgid
.quad sys_osf_setitimer
.quad sys_ni_syscall
.quad sys_ni_syscall /* 85 */
.quad sys_osf_getitimer
.quad sys_gethostname
.quad sys_sethostname
.quad sys_getdtablesize
.quad sys_dup2 /* 90 */
.quad sys_newfstat
.quad sys_fcntl
.quad sys_osf_select
.quad sys_poll
.quad sys_fsync /* 95 */
.quad sys_setpriority
.quad sys_socket
.quad sys_connect
.quad sys_accept
.quad sys_osf_getpriority /* 100 */
.quad sys_send
.quad sys_recv
.quad sys_sigreturn
.quad sys_bind
.quad sys_setsockopt /* 105 */
.quad sys_listen
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 110 */
.quad sys_sigsuspend
.quad sys_osf_sigstack
.quad sys_recvmsg
.quad sys_sendmsg
.quad sys_ni_syscall /* 115 */
.quad sys_osf_gettimeofday
.quad sys_osf_getrusage
.quad sys_getsockopt
.quad sys_ni_syscall
#ifdef CONFIG_OSF4_COMPAT
.quad sys_osf_readv /* 120 */
.quad sys_osf_writev
#else
.quad sys_readv /* 120 */
.quad sys_writev
#endif
.quad sys_osf_settimeofday
.quad sys_fchown
.quad sys_fchmod
.quad sys_recvfrom /* 125 */
.quad sys_setreuid
.quad sys_setregid
.quad sys_rename
.quad sys_truncate
.quad sys_ftruncate /* 130 */
.quad sys_flock
.quad sys_setgid
.quad sys_sendto
.quad sys_shutdown
.quad sys_socketpair /* 135 */
.quad sys_mkdir
.quad sys_rmdir
.quad sys_osf_utimes
.quad sys_ni_syscall
.quad sys_ni_syscall /* 140 */
.quad sys_getpeername
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_getrlimit
.quad sys_setrlimit /* 145 */
.quad sys_ni_syscall
.quad sys_setsid
.quad sys_quotactl
.quad sys_ni_syscall
.quad sys_getsockname /* 150 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 155 */
.quad sys_osf_sigaction
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_osf_getdirentries
.quad sys_osf_statfs /* 160 */
.quad sys_osf_fstatfs
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_osf_getdomainname /* 165 */
.quad sys_setdomainname
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 170 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 175 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 180 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 185 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 190 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 195 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
/* The OSF swapon has two extra arguments, but we ignore them. */
.quad sys_swapon
.quad sys_msgctl /* 200 */
.quad sys_msgget
.quad sys_msgrcv
.quad sys_msgsnd
.quad sys_semctl
.quad sys_semget /* 205 */
.quad sys_semop
.quad sys_osf_utsname
.quad sys_lchown
.quad sys_shmat
.quad sys_shmctl /* 210 */
.quad sys_shmdt
.quad sys_shmget
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 215 */
.quad sys_ni_syscall
.quad sys_msync
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 220 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_osf_stat
.quad sys_osf_lstat /* 225 */
.quad sys_osf_fstat
.quad sys_osf_statfs64
.quad sys_osf_fstatfs64
.quad sys_ni_syscall
.quad sys_ni_syscall /* 230 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_getpgid
.quad sys_getsid
.quad sys_sigaltstack /* 235 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 240 */
.quad sys_osf_sysinfo
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_osf_proplist_syscall
.quad sys_ni_syscall /* 245 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 250 */
.quad sys_osf_usleep_thread
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_sysfs
.quad sys_ni_syscall /* 255 */
.quad sys_osf_getsysinfo
.quad sys_osf_setsysinfo
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 260 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 265 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 270 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 275 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 280 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 285 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 290 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall /* 295 */
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
.quad sys_ni_syscall
/* linux-specific system calls start at 300 */
.quad sys_bdflush /* 300 */
.quad sys_sethae
.quad sys_mount
.quad sys_old_adjtimex
.quad sys_swapoff
.quad sys_getdents /* 305 */
.quad sys_ni_syscall /* 306: old create_module */
.quad sys_init_module
.quad sys_delete_module
.quad sys_ni_syscall /* 309: old get_kernel_syms */
.quad sys_syslog /* 310 */
.quad sys_reboot
.quad alpha_clone
.quad sys_uselib
.quad sys_mlock
.quad sys_munlock /* 315 */
.quad sys_mlockall
.quad sys_munlockall
.quad sys_sysinfo
.quad sys_sysctl
.quad sys_ni_syscall /* 320 */
.quad sys_oldumount
.quad sys_swapon
.quad sys_times
.quad sys_personality
.quad sys_setfsuid /* 325 */
.quad sys_setfsgid
.quad sys_ustat
.quad sys_statfs
.quad sys_fstatfs
.quad sys_sched_setparam /* 330 */
.quad sys_sched_getparam
.quad sys_sched_setscheduler
.quad sys_sched_getscheduler
.quad sys_sched_yield
.quad sys_sched_get_priority_max /* 335 */
.quad sys_sched_get_priority_min
.quad sys_sched_rr_get_interval
.quad sys_ni_syscall /* sys_afs_syscall */
.quad sys_newuname
.quad sys_nanosleep /* 340 */
.quad sys_mremap
.quad sys_ni_syscall /* old nfsservctl */
.quad sys_setresuid
.quad sys_getresuid
.quad sys_pciconfig_read /* 345 */
.quad sys_pciconfig_write
.quad sys_ni_syscall /* 347: old query_module */
.quad sys_prctl
.quad sys_pread64
.quad sys_pwrite64 /* 350 */
.quad sys_rt_sigreturn
.quad sys_rt_sigaction
.quad sys_rt_sigprocmask
.quad sys_rt_sigpending
.quad sys_rt_sigtimedwait /* 355 */
.quad sys_rt_sigqueueinfo
.quad sys_rt_sigsuspend
.quad sys_select
.quad sys_gettimeofday
.quad sys_settimeofday /* 360 */
.quad sys_getitimer
.quad sys_setitimer
.quad sys_utimes
.quad sys_getrusage
.quad sys_wait4 /* 365 */
.quad sys_adjtimex
.quad sys_getcwd
.quad sys_capget
.quad sys_capset
.quad sys_sendfile64 /* 370 */
.quad sys_setresgid
.quad sys_getresgid
.quad sys_ni_syscall /* sys_dipc */
.quad sys_pivot_root
.quad sys_mincore /* 375 */
.quad sys_pciconfig_iobase
.quad sys_getdents64
.quad sys_gettid
.quad sys_readahead
.quad sys_ni_syscall /* 380 */
.quad sys_tkill
.quad sys_setxattr
.quad sys_lsetxattr
.quad sys_fsetxattr
.quad sys_getxattr /* 385 */
.quad sys_lgetxattr
.quad sys_fgetxattr
.quad sys_listxattr
.quad sys_llistxattr
.quad sys_flistxattr /* 390 */
.quad sys_removexattr
.quad sys_lremovexattr
.quad sys_fremovexattr
.quad sys_futex
.quad sys_sched_setaffinity /* 395 */
.quad sys_sched_getaffinity
.quad sys_ni_syscall /* 397, tux */
.quad sys_io_setup
.quad sys_io_destroy
.quad sys_io_getevents /* 400 */
.quad sys_io_submit
.quad sys_io_cancel
.quad sys_ni_syscall /* 403, sys_alloc_hugepages */
.quad sys_ni_syscall /* 404, sys_free_hugepages */
.quad sys_exit_group /* 405 */
.quad sys_lookup_dcookie
.quad sys_epoll_create
.quad sys_epoll_ctl
.quad sys_epoll_wait
.quad sys_remap_file_pages /* 410 */
.quad sys_set_tid_address
.quad sys_restart_syscall
.quad sys_fadvise64
.quad sys_timer_create
.quad sys_timer_settime /* 415 */
.quad sys_timer_gettime
.quad sys_timer_getoverrun
.quad sys_timer_delete
.quad sys_clock_settime
.quad sys_clock_gettime /* 420 */
.quad sys_clock_getres
.quad sys_clock_nanosleep
.quad sys_semtimedop
.quad sys_tgkill
.quad sys_stat64 /* 425 */
.quad sys_lstat64
.quad sys_fstat64
.quad sys_ni_syscall /* sys_vserver */
.quad sys_ni_syscall /* sys_mbind */
.quad sys_ni_syscall /* sys_get_mempolicy */
.quad sys_ni_syscall /* sys_set_mempolicy */
.quad sys_mq_open
.quad sys_mq_unlink
.quad sys_mq_timedsend
.quad sys_mq_timedreceive /* 435 */
.quad sys_mq_notify
.quad sys_mq_getsetattr
.quad sys_waitid
.quad sys_add_key
.quad sys_request_key /* 440 */
.quad sys_keyctl
.quad sys_ioprio_set
.quad sys_ioprio_get
.quad sys_inotify_init
.quad sys_inotify_add_watch /* 445 */
.quad sys_inotify_rm_watch
.quad sys_fdatasync
.quad sys_kexec_load
.quad sys_migrate_pages
.quad sys_openat /* 450 */
.quad sys_mkdirat
.quad sys_mknodat
.quad sys_fchownat
.quad sys_futimesat
.quad sys_fstatat64 /* 455 */
.quad sys_unlinkat
.quad sys_renameat
.quad sys_linkat
.quad sys_symlinkat
.quad sys_readlinkat /* 460 */
.quad sys_fchmodat
.quad sys_faccessat
.quad sys_pselect6
.quad sys_ppoll
.quad sys_unshare /* 465 */
.quad sys_set_robust_list
.quad sys_get_robust_list
.quad sys_splice
.quad sys_sync_file_range
.quad sys_tee /* 470 */
.quad sys_vmsplice
.quad sys_move_pages
.quad sys_getcpu
.quad sys_epoll_pwait
.quad sys_utimensat /* 475 */
.quad sys_signalfd
.quad sys_ni_syscall /* sys_timerfd */
.quad sys_eventfd
.quad sys_recvmmsg
.quad sys_fallocate /* 480 */
.quad sys_timerfd_create
.quad sys_timerfd_settime
.quad sys_timerfd_gettime
.quad sys_signalfd4
.quad sys_eventfd2 /* 485 */
.quad sys_epoll_create1
.quad sys_dup3
.quad sys_pipe2
.quad sys_inotify_init1
.quad sys_preadv /* 490 */
.quad sys_pwritev
.quad sys_rt_tgsigqueueinfo
.quad sys_perf_event_open
.quad sys_fanotify_init
.quad sys_fanotify_mark /* 495 */
.quad sys_prlimit64
.quad sys_name_to_handle_at
.quad sys_open_by_handle_at
.quad sys_clock_adjtime
.quad sys_syncfs /* 500 */
.quad sys_setns
.quad sys_accept4
.quad sys_sendmmsg
.quad sys_process_vm_readv
.quad sys_process_vm_writev /* 505 */
.quad sys_kcmp
.quad sys_finit_module
.quad sys_sched_setattr
.quad sys_sched_getattr
.quad sys_renameat2 /* 510 */
.quad sys_getrandom
.quad sys_memfd_create
.quad sys_execveat
.quad sys_seccomp
.quad sys_bpf /* 515 */
.quad sys_userfaultfd
.quad sys_membarrier
.quad sys_mlock2
.quad sys_copy_file_range
.quad sys_preadv2 /* 520 */
.quad sys_pwritev2
.quad sys_statx
.size sys_call_table, . - sys_call_table
.type sys_call_table, @object
/* Remember to update everything, kids. */
.ifne (. - sys_call_table) - (NR_SYSCALLS * 8)
.err
.endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment