diff mbox series

[v2,6/7] ia64: uapi header and system call table file generation

Message ID 1538057720-3392-7-git-send-email-firoz.khan@linaro.org
State New
Headers show
Series System call table generation support | expand

Commit Message

Firoz Khan Sept. 27, 2018, 2:15 p.m. UTC
System call table generation script must be run to generate
unistd_64.h and syscall_table.h files. This patch will have
changes which will invokes the script.

This patch will generate unistd_64.h and syscall_table.h
files by the syscall table generation script invoked by
arch/ia64/Makefile and the generated files against the
removed files will be identical.

The generated uapi header file will be included in
uapi/asm/unistd.h and generated system call table support
file will be included by ia64/kernel/syscall_table.S file.

Signed-off-by: Firoz Khan <firoz.khan@linaro.org>

---
 arch/ia64/Makefile                  |   3 +
 arch/ia64/include/asm/Kbuild        |   1 +
 arch/ia64/include/uapi/asm/Kbuild   |   1 +
 arch/ia64/include/uapi/asm/unistd.h | 337 +-----------------------------------
 arch/ia64/kernel/syscall_table.S    | 330 +----------------------------------
 5 files changed, 11 insertions(+), 661 deletions(-)

-- 
1.9.1

Comments

Arnd Bergmann Sept. 28, 2018, 12:10 p.m. UTC | #1
On Thu, Sep 27, 2018 at 4:16 PM Firoz Khan <firoz.khan@linaro.org> wrote:

> +#include <asm/syscall_table.h>

>         .org sys_call_table + 8*NR_syscalls     // guard against failures to increase NR_syscalls

> +#undef __SYSCALL


This part looks odd: according to the comment, this should only guard against
the table getting out of sync. However, with the script, that will never happen.

      Arnd
Firoz Khan Oct. 1, 2018, 2:15 p.m. UTC | #2
Hi Arnd,

On Fri, 28 Sep 2018 at 17:40, Arnd Bergmann <arnd@arndb.de> wrote:
>

> On Thu, Sep 27, 2018 at 4:16 PM Firoz Khan <firoz.khan@linaro.org> wrote:

>

> > +#include <asm/syscall_table.h>

> >         .org sys_call_table + 8*NR_syscalls     // guard against failures to increase NR_syscalls

> > +#undef __SYSCALL

>

> This part looks odd: according to the comment, this should only guard against

> the table getting out of sync. However, with the script, that will never happen.


Thanks for pointing it out this error.

- Firoz
>

>       Arnd
diff mbox series

Patch

diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile
index 45f5980..320d86f 100644
--- a/arch/ia64/Makefile
+++ b/arch/ia64/Makefile
@@ -80,6 +80,9 @@  unwcheck: vmlinux
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
 
+archheaders:
+	$(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all
+
 CLEAN_FILES += vmlinux.gz bootloader
 
 boot:	lib/lib.a vmlinux
diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild
index 557bbc8..5b17695 100644
--- a/arch/ia64/include/asm/Kbuild
+++ b/arch/ia64/include/asm/Kbuild
@@ -7,3 +7,4 @@  generic-y += preempt.h
 generic-y += trace_clock.h
 generic-y += vtime.h
 generic-y += word-at-a-time.h
+generic-y += syscall_table.h
diff --git a/arch/ia64/include/uapi/asm/Kbuild b/arch/ia64/include/uapi/asm/Kbuild
index 3982e67..5c30543 100644
--- a/arch/ia64/include/uapi/asm/Kbuild
+++ b/arch/ia64/include/uapi/asm/Kbuild
@@ -8,3 +8,4 @@  generic-y += msgbuf.h
 generic-y += poll.h
 generic-y += sembuf.h
 generic-y += shmbuf.h
+generic-y += unistd_64.h
diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h
index ee6d6bd..c210b5c 100644
--- a/arch/ia64/include/uapi/asm/unistd.h
+++ b/arch/ia64/include/uapi/asm/unistd.h
@@ -8,342 +8,11 @@ 
 #ifndef _UAPI_ASM_IA64_UNISTD_H
 #define _UAPI_ASM_IA64_UNISTD_H
 
-
 #include <asm/break.h>
 
-#define __BREAK_SYSCALL	__IA64_BREAK_SYSCALL
+#define __BREAK_SYSCALL	 __IA64_BREAK_SYSCALL
  
-#define __NR_Linux      1024
-#define __NR_ni_syscall	(__NR_Linux + 0)
-#define __NR_exit	(__NR_Linux + 1)
-#define __NR_read	(__NR_Linux + 2)
-#define __NR_write	(__NR_Linux + 3)
-#define __NR_open	(__NR_Linux + 4)
-#define __NR_close	(__NR_Linux + 5)
-#define __NR_creat	(__NR_Linux + 6)
-#define __NR_link	(__NR_Linux + 7)
-#define __NR_unlink	(__NR_Linux + 8)
-#define __NR_execve	(__NR_Linux + 9)
-#define __NR_chdir	(__NR_Linux + 10)
-#define __NR_fchdir	(__NR_Linux + 11)
-#define __NR_utimes	(__NR_Linux + 12)
-#define __NR_mknod	(__NR_Linux + 13)
-#define __NR_chmod	(__NR_Linux + 14)
-#define __NR_chown	(__NR_Linux + 15)
-#define __NR_lseek	(__NR_Linux + 16)
-#define __NR_getpid	(__NR_Linux + 17)
-#define __NR_getppid	(__NR_Linux + 18)
-#define __NR_mount	(__NR_Linux + 19)
-#define __NR_umount	(__NR_Linux + 20)
-#define __NR_setuid	(__NR_Linux + 21)
-#define __NR_getuid	(__NR_Linux + 22)
-#define __NR_geteuid	(__NR_Linux + 23)
-#define __NR_ptrace	(__NR_Linux + 24)
-#define __NR_access	(__NR_Linux + 25)
-#define __NR_sync	(__NR_Linux + 26)
-#define __NR_fsync	(__NR_Linux + 27)
-#define __NR_fdatasync	(__NR_Linux + 28)
-#define __NR_kill	(__NR_Linux + 29)
-#define __NR_rename	(__NR_Linux + 30)
-#define __NR_mkdir	(__NR_Linux + 31)
-#define __NR_rmdir	(__NR_Linux + 32)
-#define __NR_dup	(__NR_Linux + 33)
-#define __NR_pipe	(__NR_Linux + 34)
-#define __NR_times	(__NR_Linux + 35)
-#define __NR_brk	(__NR_Linux + 36)
-#define __NR_setgid	(__NR_Linux + 37)
-#define __NR_getgid	(__NR_Linux + 38)
-#define __NR_getegid	(__NR_Linux + 39)
-#define __NR_acct	(__NR_Linux + 40)
-#define __NR_ioctl	(__NR_Linux + 41)
-#define __NR_fcntl	(__NR_Linux + 42)
-#define __NR_umask	(__NR_Linux + 43)
-#define __NR_chroot	(__NR_Linux + 44)
-#define __NR_ustat	(__NR_Linux + 45)
-#define __NR_dup2	(__NR_Linux + 46)
-#define __NR_setreuid	(__NR_Linux + 47)
-#define __NR_setregid	(__NR_Linux + 48)
-#define __NR_getresuid	(__NR_Linux + 49)
-#define __NR_setresuid	(__NR_Linux + 50)
-#define __NR_getresgid	(__NR_Linux + 51)
-#define __NR_setresgid	(__NR_Linux + 52)
-#define __NR_getgroups	(__NR_Linux + 53)
-#define __NR_setgroups	(__NR_Linux + 54)
-#define __NR_getpgid	(__NR_Linux + 55)
-#define __NR_setpgid	(__NR_Linux + 56)
-#define __NR_setsid	(__NR_Linux + 57)
-#define __NR_getsid	(__NR_Linux + 58)
-#define __NR_sethostname	(__NR_Linux + 59)
-#define __NR_setrlimit	(__NR_Linux + 60)
-#define __NR_getrlimit	(__NR_Linux + 61)
-#define __NR_getrusage	(__NR_Linux + 62)
-#define __NR_gettimeofday	(__NR_Linux + 63)
-#define __NR_settimeofday	(__NR_Linux + 64)
-#define __NR_select	(__NR_Linux + 65)
-#define __NR_poll	(__NR_Linux + 66)
-#define __NR_symlink	(__NR_Linux + 67)
-#define __NR_readlink	(__NR_Linux + 68)
-#define __NR_uselib	(__NR_Linux + 69)
-#define __NR_swapon	(__NR_Linux + 70)
-#define __NR_swapoff	(__NR_Linux + 71)
-#define __NR_reboot	(__NR_Linux + 72)
-#define __NR_truncate	(__NR_Linux + 73)
-#define __NR_ftruncate	(__NR_Linux + 74)
-#define __NR_fchmod	(__NR_Linux + 75)
-#define __NR_fchown	(__NR_Linux + 76)
-#define __NR_getpriority	(__NR_Linux + 77)
-#define __NR_setpriority	(__NR_Linux + 78)
-#define __NR_statfs	(__NR_Linux + 79)
-#define __NR_fstatfs	(__NR_Linux + 80)
-#define __NR_gettid	(__NR_Linux + 81)
-#define __NR_semget	(__NR_Linux + 82)
-#define __NR_semop	(__NR_Linux + 83)
-#define __NR_semctl	(__NR_Linux + 84)
-#define __NR_msgget	(__NR_Linux + 85)
-#define __NR_msgsnd	(__NR_Linux + 86)
-#define __NR_msgrcv	(__NR_Linux + 87)
-#define __NR_msgctl	(__NR_Linux + 88)
-#define __NR_shmget	(__NR_Linux + 89)
-#define __NR_shmat	(__NR_Linux + 90)
-#define __NR_shmdt	(__NR_Linux + 91)
-#define __NR_shmctl	(__NR_Linux + 92)
- /* also known as klogctl() in GNU libc: */
-#define __NR_syslog	(__NR_Linux + 93)
-#define __NR_setitimer	(__NR_Linux + 94)
-#define __NR_getitimer	(__NR_Linux + 95)
- /* 1120 was __NR_old_stat */
- /* 1121 was __NR_old_lstat */
- /* 1122 was __NR_old_fstat */
-#define __NR_vhangup	(__NR_Linux + 99)
-#define __NR_lchown	(__NR_Linux + 100)
-#define __NR_remap_file_pages	(__NR_Linux + 101)
-#define __NR_wait4	(__NR_Linux + 102)
-#define __NR_sysinfo	(__NR_Linux + 103)
-#define __NR_clone	(__NR_Linux + 104)
-#define __NR_setdomainname	(__NR_Linux + 105)
-#define __NR_uname	(__NR_Linux + 106)
-#define __NR_adjtimex	(__NR_Linux + 107)
- /* 1132 was __NR_create_module */
-#define __NR_init_module	(__NR_Linux + 109)
-#define __NR_delete_module	(__NR_Linux + 110)
- /* 1135 was __NR_get_kernel_syms */
- /* 1136 was __NR_query_module */
-#define __NR_quotactl	(__NR_Linux + 113)
-#define __NR_bdflush	(__NR_Linux + 114)
-#define __NR_sysfs	(__NR_Linux + 115)
-#define __NR_personality	(__NR_Linux + 116)
-#define __NR_afs_syscall	(__NR_Linux + 117)
-#define __NR_setfsuid	(__NR_Linux + 118)
-#define __NR_setfsgid	(__NR_Linux + 119)
-#define __NR_getdents	(__NR_Linux + 120)
-#define __NR_flock	(__NR_Linux + 121)
-#define __NR_readv	(__NR_Linux + 122)
-#define __NR_writev	(__NR_Linux + 123)
-#define __NR_pread64	(__NR_Linux + 124)
-#define __NR_pwrite64	(__NR_Linux + 125)
-#define __NR__sysctl	(__NR_Linux + 126)
-#define __NR_mmap	(__NR_Linux + 127)
-#define __NR_munmap	(__NR_Linux + 128)
-#define __NR_mlock	(__NR_Linux + 129)
-#define __NR_mlockall	(__NR_Linux + 130)
-#define __NR_mprotect	(__NR_Linux + 131)
-#define __NR_mremap	(__NR_Linux + 132)
-#define __NR_msync	(__NR_Linux + 133)
-#define __NR_munlock	(__NR_Linux + 134)
-#define __NR_munlockall	(__NR_Linux + 135)
-#define __NR_sched_getparam	(__NR_Linux + 136)
-#define __NR_sched_setparam	(__NR_Linux + 137)
-#define __NR_sched_getscheduler	(__NR_Linux + 138)
-#define __NR_sched_setscheduler	(__NR_Linux + 139)
-#define __NR_sched_yield	(__NR_Linux + 140)
-#define __NR_sched_get_priority_max	(__NR_Linux + 141)
-#define __NR_sched_get_priority_min	(__NR_Linux + 142)
-#define __NR_sched_rr_get_interval	(__NR_Linux + 143)
-#define __NR_nanosleep	(__NR_Linux + 144)
-#define __NR_nfsservctl	(__NR_Linux + 145)
-#define __NR_prctl	(__NR_Linux + 146)
-#define __NR_old_getpagesize    (__NR_Linux + 147)
-#define __NR_mmap2	(__NR_Linux + 148)
-#define __NR_pciconfig_read	(__NR_Linux + 149)
-#define __NR_pciconfig_write	(__NR_Linux + 150)
-#define __NR_perfmonctl	(__NR_Linux + 151)
-#define __NR_sigaltstack	(__NR_Linux + 152)
-#define __NR_rt_sigaction	(__NR_Linux + 153)
-#define __NR_rt_sigpending	(__NR_Linux + 154)
-#define __NR_rt_sigprocmask	(__NR_Linux + 155)
-#define __NR_rt_sigqueueinfo	(__NR_Linux + 156)
-#define __NR_rt_sigreturn	(__NR_Linux + 157)
-#define __NR_rt_sigsuspend	(__NR_Linux + 158)
-#define __NR_rt_sigtimedwait	(__NR_Linux + 159)
-#define __NR_getcwd	(__NR_Linux + 160)
-#define __NR_capget	(__NR_Linux + 161)
-#define __NR_capset	(__NR_Linux + 162)
-#define __NR_sendfile	(__NR_Linux + 163)
-#define __NR_getpmsg	(__NR_Linux + 164)
-#define __NR_putpmsg	(__NR_Linux + 165)
-#define __NR_socket	(__NR_Linux + 166)
-#define __NR_bind	(__NR_Linux + 167)
-#define __NR_connect	(__NR_Linux + 168)
-#define __NR_listen	(__NR_Linux + 169)
-#define __NR_accept	(__NR_Linux + 170)
-#define __NR_getsockname	(__NR_Linux + 171)
-#define __NR_getpeername	(__NR_Linux + 172)
-#define __NR_socketpair	(__NR_Linux + 173)
-#define __NR_send	(__NR_Linux + 174)
-#define __NR_sendto	(__NR_Linux + 175)
-#define __NR_recv	(__NR_Linux + 176)
-#define __NR_recvfrom	(__NR_Linux + 177)
-#define __NR_shutdown	(__NR_Linux + 178)
-#define __NR_setsockopt	(__NR_Linux + 179)
-#define __NR_getsockopt	(__NR_Linux + 180)
-#define __NR_sendmsg	(__NR_Linux + 181)
-#define __NR_recvmsg	(__NR_Linux + 182)
-#define __NR_pivot_root	(__NR_Linux + 183)
-#define __NR_mincore	(__NR_Linux + 184)
-#define __NR_madvise	(__NR_Linux + 185)
-#define __NR_stat	(__NR_Linux + 186)
-#define __NR_lstat	(__NR_Linux + 187)
-#define __NR_fstat	(__NR_Linux + 188)
-#define __NR_clone2	(__NR_Linux + 189)
-#define __NR_getdents64	(__NR_Linux + 190)
-#define __NR_getunwind	(__NR_Linux + 191)
-#define __NR_readahead	(__NR_Linux + 192)
-#define __NR_setxattr	(__NR_Linux + 193)
-#define __NR_lsetxattr	(__NR_Linux + 194)
-#define __NR_fsetxattr	(__NR_Linux + 195)
-#define __NR_getxattr	(__NR_Linux + 196)
-#define __NR_lgetxattr	(__NR_Linux + 197)
-#define __NR_fgetxattr	(__NR_Linux + 198)
-#define __NR_listxattr	(__NR_Linux + 199)
-#define __NR_llistxattr	(__NR_Linux + 200)
-#define __NR_flistxattr	(__NR_Linux + 201)
-#define __NR_removexattr	(__NR_Linux + 202)
-#define __NR_lremovexattr	(__NR_Linux + 203)
-#define __NR_fremovexattr	(__NR_Linux + 204)
-#define __NR_tkill	(__NR_Linux + 205)
-#define __NR_futex	(__NR_Linux + 206)
-#define __NR_sched_setaffinity	(__NR_Linux + 207)
-#define __NR_sched_getaffinity	(__NR_Linux + 208)
-#define __NR_set_tid_address	(__NR_Linux + 209)
-#define __NR_fadvise64	(__NR_Linux + 210)
-#define __NR_tgkill	(__NR_Linux + 211)
-#define __NR_exit_group	(__NR_Linux + 212)
-#define __NR_lookup_dcookie	(__NR_Linux + 213)
-#define __NR_io_setup	(__NR_Linux + 214)
-#define __NR_io_destroy	(__NR_Linux + 215)
-#define __NR_io_getevents	(__NR_Linux + 216)
-#define __NR_io_submit	(__NR_Linux + 217)
-#define __NR_io_cancel	(__NR_Linux + 218)
-#define __NR_epoll_create	(__NR_Linux + 219)
-#define __NR_epoll_ctl	(__NR_Linux + 220)
-#define __NR_epoll_wait	(__NR_Linux + 221)
-#define __NR_restart_syscall	(__NR_Linux + 222)
-#define __NR_semtimedop	(__NR_Linux + 223)
-#define __NR_timer_create	(__NR_Linux + 224)
-#define __NR_timer_settime	(__NR_Linux + 225)
-#define __NR_timer_gettime	(__NR_Linux + 226)
-#define __NR_timer_getoverrun	(__NR_Linux + 227)
-#define __NR_timer_delete	(__NR_Linux + 228)
-#define __NR_clock_settime	(__NR_Linux + 229)
-#define __NR_clock_gettime	(__NR_Linux + 230)
-#define __NR_clock_getres	(__NR_Linux + 231)
-#define __NR_clock_nanosleep	(__NR_Linux + 232)
-#define __NR_fstatfs64	(__NR_Linux + 233)
-#define __NR_statfs64	(__NR_Linux + 234)
-#define __NR_mbind	(__NR_Linux + 235)
-#define __NR_get_mempolicy	(__NR_Linux + 236)
-#define __NR_set_mempolicy	(__NR_Linux + 237)
-#define __NR_mq_open	(__NR_Linux + 238)
-#define __NR_mq_unlink	(__NR_Linux + 239)
-#define __NR_mq_timedsend	(__NR_Linux + 240)
-#define __NR_mq_timedreceive	(__NR_Linux + 241)
-#define __NR_mq_notify	(__NR_Linux + 242)
-#define __NR_mq_getsetattr	(__NR_Linux + 243)
-#define __NR_kexec_load	(__NR_Linux + 244)
-#define __NR_vserver	(__NR_Linux + 245)
-#define __NR_waitid	(__NR_Linux + 246)
-#define __NR_add_key	(__NR_Linux + 247)
-#define __NR_request_key	(__NR_Linux + 248)
-#define __NR_keyctl	(__NR_Linux + 249)
-#define __NR_ioprio_set	(__NR_Linux + 250)
-#define __NR_ioprio_get	(__NR_Linux + 251)
-#define __NR_move_pages	(__NR_Linux + 252)
-#define __NR_inotify_init	(__NR_Linux + 253)
-#define __NR_inotify_add_watch	(__NR_Linux + 254)
-#define __NR_inotify_rm_watch	(__NR_Linux + 255)
-#define __NR_migrate_pages	(__NR_Linux + 256)
-#define __NR_openat	(__NR_Linux + 257)
-#define __NR_mkdirat	(__NR_Linux + 258)
-#define __NR_mknodat	(__NR_Linux + 259)
-#define __NR_fchownat	(__NR_Linux + 260)
-#define __NR_futimesat	(__NR_Linux + 261)
-#define __NR_newfstatat	(__NR_Linux + 262)
-#define __NR_unlinkat	(__NR_Linux + 263)
-#define __NR_renameat	(__NR_Linux + 264)
-#define __NR_linkat	(__NR_Linux + 265)
-#define __NR_symlinkat	(__NR_Linux + 266)
-#define __NR_readlinkat	(__NR_Linux + 267)
-#define __NR_fchmodat	(__NR_Linux + 268)
-#define __NR_faccessat	(__NR_Linux + 269)
-#define __NR_pselect6	(__NR_Linux + 270)
-#define __NR_ppoll	(__NR_Linux + 271)
-#define __NR_unshare	(__NR_Linux + 272)
-#define __NR_splice	(__NR_Linux + 273)
-#define __NR_set_robust_list	(__NR_Linux + 274)
-#define __NR_get_robust_list	(__NR_Linux + 275)
-#define __NR_sync_file_range	(__NR_Linux + 276)
-#define __NR_tee	(__NR_Linux + 277)
-#define __NR_vmsplice	(__NR_Linux + 278)
-#define __NR_fallocate	(__NR_Linux + 279)
-#define __NR_getcpu	(__NR_Linux + 280)
-#define __NR_epoll_pwait	(__NR_Linux + 281)
-#define __NR_utimensat	(__NR_Linux + 282)
-#define __NR_signalfd	(__NR_Linux + 283)
-#define __NR_timerfd	(__NR_Linux + 284)
-#define __NR_eventfd	(__NR_Linux + 285)
-#define __NR_timerfd_create	(__NR_Linux + 286)
-#define __NR_timerfd_settime	(__NR_Linux + 287)
-#define __NR_timerfd_gettime	(__NR_Linux + 288)
-#define __NR_signalfd4	(__NR_Linux + 289)
-#define __NR_eventfd2	(__NR_Linux + 290)
-#define __NR_epoll_create1	(__NR_Linux + 291)
-#define __NR_dup3	(__NR_Linux + 292)
-#define __NR_pipe2	(__NR_Linux + 293)
-#define __NR_inotify_init1	(__NR_Linux + 294)
-#define __NR_preadv	(__NR_Linux + 295)
-#define __NR_pwritev	(__NR_Linux + 296)
-#define __NR_rt_tgsigqueueinfo	(__NR_Linux + 297)
-#define __NR_recvmmsg	(__NR_Linux + 298)
-#define __NR_fanotify_init	(__NR_Linux + 299)
-#define __NR_fanotify_mark	(__NR_Linux + 300)
-#define __NR_prlimit64	(__NR_Linux + 301)
-#define __NR_name_to_handle_at	(__NR_Linux + 302)
-#define __NR_open_by_handle_at	(__NR_Linux + 303)
-#define __NR_clock_adjtime	(__NR_Linux + 304)
-#define __NR_syncfs	(__NR_Linux + 305)
-#define __NR_setns	(__NR_Linux + 306)
-#define __NR_sendmmsg	(__NR_Linux + 307)
-#define __NR_process_vm_readv	(__NR_Linux + 308)
-#define __NR_process_vm_writev	(__NR_Linux + 309)
-#define __NR_accept4	(__NR_Linux + 310)
-#define __NR_finit_module	(__NR_Linux + 311)
-#define __NR_sched_setattr	(__NR_Linux + 312)
-#define __NR_sched_getattr	(__NR_Linux + 313)
-#define __NR_renameat2	(__NR_Linux + 314)
-#define __NR_getrandom	(__NR_Linux + 315)
-#define __NR_memfd_create	(__NR_Linux + 316)
-#define __NR_bpf	(__NR_Linux + 317)
-#define __NR_execveat	(__NR_Linux + 318)
-#define __NR_userfaultfd	(__NR_Linux + 319)
-#define __NR_membarrier	(__NR_Linux + 320)
-#define __NR_kcmp	(__NR_Linux + 321)
-#define __NR_mlock2	(__NR_Linux + 322)
-#define __NR_copy_file_range	(__NR_Linux + 323)
-#define __NR_preadv2	(__NR_Linux + 324)
-#define __NR_pwritev2	(__NR_Linux + 325)
-
-#ifdef __KERNEL__
-#define __NR_syscalls			326
-#endif
+#define __NR_Linux       1024
+#include <asm/unistd_64.h>
 
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
diff --git a/arch/ia64/kernel/syscall_table.S b/arch/ia64/kernel/syscall_table.S
index 56b5149..b66941b 100644
--- a/arch/ia64/kernel/syscall_table.S
+++ b/arch/ia64/kernel/syscall_table.S
@@ -2,335 +2,11 @@ 
 
 #include <asm/unistd.h>
 
+#define __SYSCALL(nr, entry, nargs) data8 entry
 	.rodata
 	.align 8
 	.globl sys_call_table
 sys_call_table:
-	data8 sys_ni_syscall		//  This must be sys_ni_syscall!  See ivt.S.
-	data8 sys_exit				// 1025
-	data8 sys_read
-	data8 sys_write
-	data8 sys_open
-	data8 sys_close
-	data8 sys_creat				// 1030
-	data8 sys_link
-	data8 sys_unlink
-	data8 ia64_execve
-	data8 sys_chdir
-	data8 sys_fchdir			// 1035
-	data8 sys_utimes
-	data8 sys_mknod
-	data8 sys_chmod
-	data8 sys_chown
-	data8 sys_lseek				// 1040
-	data8 sys_getpid
-	data8 sys_getppid
-	data8 sys_mount
-	data8 sys_umount
-	data8 sys_setuid			// 1045
-	data8 sys_getuid
-	data8 sys_geteuid
-	data8 sys_ptrace
-	data8 sys_access
-	data8 sys_sync				// 1050
-	data8 sys_fsync
-	data8 sys_fdatasync
-	data8 sys_kill
-	data8 sys_rename
-	data8 sys_mkdir				// 1055
-	data8 sys_rmdir
-	data8 sys_dup
-	data8 sys_ia64_pipe
-	data8 sys_times
-	data8 ia64_brk				// 1060
-	data8 sys_setgid
-	data8 sys_getgid
-	data8 sys_getegid
-	data8 sys_acct
-	data8 sys_ioctl				// 1065
-	data8 sys_fcntl
-	data8 sys_umask
-	data8 sys_chroot
-	data8 sys_ustat
-	data8 sys_dup2				// 1070
-	data8 sys_setreuid
-	data8 sys_setregid
-	data8 sys_getresuid
-	data8 sys_setresuid
-	data8 sys_getresgid			// 1075
-	data8 sys_setresgid
-	data8 sys_getgroups
-	data8 sys_setgroups
-	data8 sys_getpgid
-	data8 sys_setpgid			// 1080
-	data8 sys_setsid
-	data8 sys_getsid
-	data8 sys_sethostname
-	data8 sys_setrlimit
-	data8 sys_getrlimit			// 1085
-	data8 sys_getrusage
-	data8 sys_gettimeofday
-	data8 sys_settimeofday
-	data8 sys_select
-	data8 sys_poll				// 1090
-	data8 sys_symlink
-	data8 sys_readlink
-	data8 sys_uselib
-	data8 sys_swapon
-	data8 sys_swapoff			// 1095
-	data8 sys_reboot
-	data8 sys_truncate
-	data8 sys_ftruncate
-	data8 sys_fchmod
-	data8 sys_fchown			// 1100
-	data8 ia64_getpriority
-	data8 sys_setpriority
-	data8 sys_statfs
-	data8 sys_fstatfs
-	data8 sys_gettid			// 1105
-	data8 sys_semget
-	data8 sys_semop
-	data8 sys_semctl
-	data8 sys_msgget
-	data8 sys_msgsnd			// 1110
-	data8 sys_msgrcv
-	data8 sys_msgctl
-	data8 sys_shmget
-	data8 sys_shmat
-	data8 sys_shmdt				// 1115
-	data8 sys_shmctl
-	data8 sys_syslog
-	data8 sys_setitimer
-	data8 sys_getitimer
-	data8 sys_ni_syscall			// 1120		/* was: ia64_oldstat */
-	data8 sys_ni_syscall					/* was: ia64_oldlstat */
-	data8 sys_ni_syscall					/* was: ia64_oldfstat */
-	data8 sys_vhangup
-	data8 sys_lchown
-	data8 sys_remap_file_pages		// 1125
-	data8 sys_wait4
-	data8 sys_sysinfo
-	data8 sys_clone
-	data8 sys_setdomainname
-	data8 sys_newuname			// 1130
-	data8 sys_adjtimex
-	data8 sys_ni_syscall					/* was: ia64_create_module */
-	data8 sys_init_module
-	data8 sys_delete_module
-	data8 sys_ni_syscall			// 1135		/* was: sys_get_kernel_syms */
-	data8 sys_ni_syscall					/* was: sys_query_module */
-	data8 sys_quotactl
-	data8 sys_bdflush
-	data8 sys_sysfs
-	data8 sys_personality			// 1140
-	data8 sys_ni_syscall		// sys_afs_syscall
-	data8 sys_setfsuid
-	data8 sys_setfsgid
-	data8 sys_getdents
-	data8 sys_flock				// 1145
-	data8 sys_readv
-	data8 sys_writev
-	data8 sys_pread64
-	data8 sys_pwrite64
-	data8 sys_sysctl			// 1150
-	data8 sys_mmap
-	data8 sys_munmap
-	data8 sys_mlock
-	data8 sys_mlockall
-	data8 sys_mprotect			// 1155
-	data8 ia64_mremap
-	data8 sys_msync
-	data8 sys_munlock
-	data8 sys_munlockall
-	data8 sys_sched_getparam		// 1160
-	data8 sys_sched_setparam
-	data8 sys_sched_getscheduler
-	data8 sys_sched_setscheduler
-	data8 sys_sched_yield
-	data8 sys_sched_get_priority_max	// 1165
-	data8 sys_sched_get_priority_min
-	data8 sys_sched_rr_get_interval
-	data8 sys_nanosleep
-	data8 sys_ni_syscall			// old nfsservctl
-	data8 sys_prctl				// 1170
-	data8 sys_getpagesize
-	data8 sys_mmap2
-	data8 sys_pciconfig_read
-	data8 sys_pciconfig_write
-	data8 sys_perfmonctl			// 1175
-	data8 sys_sigaltstack
-	data8 sys_rt_sigaction
-	data8 sys_rt_sigpending
-	data8 sys_rt_sigprocmask
-	data8 sys_rt_sigqueueinfo		// 1180
-	data8 sys_rt_sigreturn
-	data8 sys_rt_sigsuspend
-	data8 sys_rt_sigtimedwait
-	data8 sys_getcwd
-	data8 sys_capget			// 1185
-	data8 sys_capset
-	data8 sys_sendfile64
-	data8 sys_ni_syscall		// sys_getpmsg (STREAMS)
-	data8 sys_ni_syscall		// sys_putpmsg (STREAMS)
-	data8 sys_socket			// 1190
-	data8 sys_bind
-	data8 sys_connect
-	data8 sys_listen
-	data8 sys_accept
-	data8 sys_getsockname			// 1195
-	data8 sys_getpeername
-	data8 sys_socketpair
-	data8 sys_send
-	data8 sys_sendto
-	data8 sys_recv				// 1200
-	data8 sys_recvfrom
-	data8 sys_shutdown
-	data8 sys_setsockopt
-	data8 sys_getsockopt
-	data8 sys_sendmsg			// 1205
-	data8 sys_recvmsg
-	data8 sys_pivot_root
-	data8 sys_mincore
-	data8 sys_madvise
-	data8 sys_newstat			// 1210
-	data8 sys_newlstat
-	data8 sys_newfstat
-	data8 sys_clone2
-	data8 sys_getdents64
-	data8 sys_getunwind			// 1215
-	data8 sys_readahead
-	data8 sys_setxattr
-	data8 sys_lsetxattr
-	data8 sys_fsetxattr
-	data8 sys_getxattr			// 1220
-	data8 sys_lgetxattr
-	data8 sys_fgetxattr
-	data8 sys_listxattr
-	data8 sys_llistxattr
-	data8 sys_flistxattr			// 1225
-	data8 sys_removexattr
-	data8 sys_lremovexattr
-	data8 sys_fremovexattr
-	data8 sys_tkill
-	data8 sys_futex				// 1230
-	data8 sys_sched_setaffinity
-	data8 sys_sched_getaffinity
-	data8 sys_set_tid_address
-	data8 sys_fadvise64_64
-	data8 sys_tgkill 			// 1235
-	data8 sys_exit_group
-	data8 sys_lookup_dcookie
-	data8 sys_io_setup
-	data8 sys_io_destroy
-	data8 sys_io_getevents			// 1240
-	data8 sys_io_submit
-	data8 sys_io_cancel
-	data8 sys_epoll_create
-	data8 sys_epoll_ctl
-	data8 sys_epoll_wait			// 1245
-	data8 sys_restart_syscall
-	data8 sys_semtimedop
-	data8 sys_timer_create
-	data8 sys_timer_settime
-	data8 sys_timer_gettime			// 1250
-	data8 sys_timer_getoverrun
-	data8 sys_timer_delete
-	data8 sys_clock_settime
-	data8 sys_clock_gettime
-	data8 sys_clock_getres			// 1255
-	data8 sys_clock_nanosleep
-	data8 sys_fstatfs64
-	data8 sys_statfs64
-	data8 sys_mbind
-	data8 sys_get_mempolicy			// 1260
-	data8 sys_set_mempolicy
-	data8 sys_mq_open
-	data8 sys_mq_unlink
-	data8 sys_mq_timedsend
-	data8 sys_mq_timedreceive		// 1265
-	data8 sys_mq_notify
-	data8 sys_mq_getsetattr
-	data8 sys_kexec_load
-	data8 sys_ni_syscall			// reserved for vserver
-	data8 sys_waitid			// 1270
-	data8 sys_add_key
-	data8 sys_request_key
-	data8 sys_keyctl
-	data8 sys_ioprio_set
-	data8 sys_ioprio_get			// 1275
-	data8 sys_move_pages
-	data8 sys_inotify_init
-	data8 sys_inotify_add_watch
-	data8 sys_inotify_rm_watch
-	data8 sys_migrate_pages			// 1280
-	data8 sys_openat
-	data8 sys_mkdirat
-	data8 sys_mknodat
-	data8 sys_fchownat
-	data8 sys_futimesat			// 1285
-	data8 sys_newfstatat
-	data8 sys_unlinkat
-	data8 sys_renameat
-	data8 sys_linkat
-	data8 sys_symlinkat			// 1290
-	data8 sys_readlinkat
-	data8 sys_fchmodat
-	data8 sys_faccessat
-	data8 sys_pselect6
-	data8 sys_ppoll				// 1295
-	data8 sys_unshare
-	data8 sys_splice
-	data8 sys_set_robust_list
-	data8 sys_get_robust_list
-	data8 sys_sync_file_range		// 1300
-	data8 sys_tee
-	data8 sys_vmsplice
-	data8 sys_fallocate
-	data8 sys_getcpu
-	data8 sys_epoll_pwait			// 1305
-	data8 sys_utimensat
-	data8 sys_signalfd
-	data8 sys_ni_syscall
-	data8 sys_eventfd
-	data8 sys_timerfd_create		// 1310
-	data8 sys_timerfd_settime
-	data8 sys_timerfd_gettime
-	data8 sys_signalfd4
-	data8 sys_eventfd2
-	data8 sys_epoll_create1			// 1315
-	data8 sys_dup3
-	data8 sys_pipe2
-	data8 sys_inotify_init1
-	data8 sys_preadv
-	data8 sys_pwritev			// 1320
-	data8 sys_rt_tgsigqueueinfo
-	data8 sys_recvmmsg
-	data8 sys_fanotify_init
-	data8 sys_fanotify_mark
-	data8 sys_prlimit64			// 1325
-	data8 sys_name_to_handle_at
-	data8 sys_open_by_handle_at
-	data8 sys_clock_adjtime
-	data8 sys_syncfs
-	data8 sys_setns				// 1330
-	data8 sys_sendmmsg
-	data8 sys_process_vm_readv
-	data8 sys_process_vm_writev
-	data8 sys_accept4
-	data8 sys_finit_module			// 1335
-	data8 sys_sched_setattr
-	data8 sys_sched_getattr
-	data8 sys_renameat2
-	data8 sys_getrandom
-	data8 sys_memfd_create			// 1340
-	data8 sys_bpf
-	data8 sys_execveat
-	data8 sys_userfaultfd
-	data8 sys_membarrier
-	data8 sys_kcmp				// 1345
-	data8 sys_mlock2
-	data8 sys_copy_file_range
-	data8 sys_preadv2
-	data8 sys_pwritev2
-
+#include <asm/syscall_table.h>
 	.org sys_call_table + 8*NR_syscalls	// guard against failures to increase NR_syscalls
+#undef __SYSCALL