Commit 9947ab7b authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'please-pull-y2038prep' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux

Pull ia64 updates from Tony Luck:
 "Change ia64 to make it easier to update system call tables (in line
  with some other architectures).

  This is in preparation for y2038 changes which are forecasted to add
  several new system calls"

* tag 'please-pull-y2038prep' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
  ia64: generate uapi header and system call table files
  ia64: add system call table generation support
  ia64: add an offset for system call number
  ia64: add __NR_syscalls along with NR_syscalls
  ia64: add __NR_old_getpagesize in uapi header file
parents e0783bb4 c5183624
...@@ -80,6 +80,9 @@ unwcheck: vmlinux ...@@ -80,6 +80,9 @@ unwcheck: vmlinux
archclean: archclean:
$(Q)$(MAKE) $(clean)=$(boot) $(Q)$(MAKE) $(clean)=$(boot)
archheaders:
$(Q)$(MAKE) $(build)=arch/ia64/kernel/syscalls all
CLEAN_FILES += vmlinux.gz bootloader CLEAN_FILES += vmlinux.gz bootloader
boot: lib/lib.a vmlinux boot: lib/lib.a vmlinux
......
generated-y += syscall_table.h
generic-y += compat.h generic-y += compat.h
generic-y += exec.h generic-y += exec.h
generic-y += irq_work.h generic-y += irq_work.h
......
...@@ -10,9 +10,7 @@ ...@@ -10,9 +10,7 @@
#include <uapi/asm/unistd.h> #include <uapi/asm/unistd.h>
#define NR_syscalls __NR_syscalls /* length of syscall table */
#define NR_syscalls 326 /* length of syscall table */
/* /*
* The following defines stop scripts/checksyscalls.sh from complaining about * The following defines stop scripts/checksyscalls.sh from complaining about
......
# 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_64.h
generic-y += bpf_perf_event.h generic-y += bpf_perf_event.h
generic-y += ipcbuf.h generic-y += ipcbuf.h
generic-y += kvm_para.h generic-y += kvm_para.h
......
...@@ -13,332 +13,8 @@ ...@@ -13,332 +13,8 @@
#define __BREAK_SYSCALL __IA64_BREAK_SYSCALL #define __BREAK_SYSCALL __IA64_BREAK_SYSCALL
#define __NR_ni_syscall 1024 #define __NR_Linux 1024
#define __NR_exit 1025
#define __NR_read 1026 #include <asm/unistd_64.h>
#define __NR_write 1027
#define __NR_open 1028
#define __NR_close 1029
#define __NR_creat 1030
#define __NR_link 1031
#define __NR_unlink 1032
#define __NR_execve 1033
#define __NR_chdir 1034
#define __NR_fchdir 1035
#define __NR_utimes 1036
#define __NR_mknod 1037
#define __NR_chmod 1038
#define __NR_chown 1039
#define __NR_lseek 1040
#define __NR_getpid 1041
#define __NR_getppid 1042
#define __NR_mount 1043
#define __NR_umount 1044
#define __NR_setuid 1045
#define __NR_getuid 1046
#define __NR_geteuid 1047
#define __NR_ptrace 1048
#define __NR_access 1049
#define __NR_sync 1050
#define __NR_fsync 1051
#define __NR_fdatasync 1052
#define __NR_kill 1053
#define __NR_rename 1054
#define __NR_mkdir 1055
#define __NR_rmdir 1056
#define __NR_dup 1057
#define __NR_pipe 1058
#define __NR_times 1059
#define __NR_brk 1060
#define __NR_setgid 1061
#define __NR_getgid 1062
#define __NR_getegid 1063
#define __NR_acct 1064
#define __NR_ioctl 1065
#define __NR_fcntl 1066
#define __NR_umask 1067
#define __NR_chroot 1068
#define __NR_ustat 1069
#define __NR_dup2 1070
#define __NR_setreuid 1071
#define __NR_setregid 1072
#define __NR_getresuid 1073
#define __NR_setresuid 1074
#define __NR_getresgid 1075
#define __NR_setresgid 1076
#define __NR_getgroups 1077
#define __NR_setgroups 1078
#define __NR_getpgid 1079
#define __NR_setpgid 1080
#define __NR_setsid 1081
#define __NR_getsid 1082
#define __NR_sethostname 1083
#define __NR_setrlimit 1084
#define __NR_getrlimit 1085
#define __NR_getrusage 1086
#define __NR_gettimeofday 1087
#define __NR_settimeofday 1088
#define __NR_select 1089
#define __NR_poll 1090
#define __NR_symlink 1091
#define __NR_readlink 1092
#define __NR_uselib 1093
#define __NR_swapon 1094
#define __NR_swapoff 1095
#define __NR_reboot 1096
#define __NR_truncate 1097
#define __NR_ftruncate 1098
#define __NR_fchmod 1099
#define __NR_fchown 1100
#define __NR_getpriority 1101
#define __NR_setpriority 1102
#define __NR_statfs 1103
#define __NR_fstatfs 1104
#define __NR_gettid 1105
#define __NR_semget 1106
#define __NR_semop 1107
#define __NR_semctl 1108
#define __NR_msgget 1109
#define __NR_msgsnd 1110
#define __NR_msgrcv 1111
#define __NR_msgctl 1112
#define __NR_shmget 1113
#define __NR_shmat 1114
#define __NR_shmdt 1115
#define __NR_shmctl 1116
/* also known as klogctl() in GNU libc: */
#define __NR_syslog 1117
#define __NR_setitimer 1118
#define __NR_getitimer 1119
/* 1120 was __NR_old_stat */
/* 1121 was __NR_old_lstat */
/* 1122 was __NR_old_fstat */
#define __NR_vhangup 1123
#define __NR_lchown 1124
#define __NR_remap_file_pages 1125
#define __NR_wait4 1126
#define __NR_sysinfo 1127
#define __NR_clone 1128
#define __NR_setdomainname 1129
#define __NR_uname 1130
#define __NR_adjtimex 1131
/* 1132 was __NR_create_module */
#define __NR_init_module 1133
#define __NR_delete_module 1134
/* 1135 was __NR_get_kernel_syms */
/* 1136 was __NR_query_module */
#define __NR_quotactl 1137
#define __NR_bdflush 1138
#define __NR_sysfs 1139
#define __NR_personality 1140
#define __NR_afs_syscall 1141
#define __NR_setfsuid 1142
#define __NR_setfsgid 1143
#define __NR_getdents 1144
#define __NR_flock 1145
#define __NR_readv 1146
#define __NR_writev 1147
#define __NR_pread64 1148
#define __NR_pwrite64 1149
#define __NR__sysctl 1150
#define __NR_mmap 1151
#define __NR_munmap 1152
#define __NR_mlock 1153
#define __NR_mlockall 1154
#define __NR_mprotect 1155
#define __NR_mremap 1156
#define __NR_msync 1157
#define __NR_munlock 1158
#define __NR_munlockall 1159
#define __NR_sched_getparam 1160
#define __NR_sched_setparam 1161
#define __NR_sched_getscheduler 1162
#define __NR_sched_setscheduler 1163
#define __NR_sched_yield 1164
#define __NR_sched_get_priority_max 1165
#define __NR_sched_get_priority_min 1166
#define __NR_sched_rr_get_interval 1167
#define __NR_nanosleep 1168
#define __NR_nfsservctl 1169
#define __NR_prctl 1170
/* 1171 is reserved for backwards compatibility with old __NR_getpagesize */
#define __NR_mmap2 1172
#define __NR_pciconfig_read 1173
#define __NR_pciconfig_write 1174
#define __NR_perfmonctl 1175
#define __NR_sigaltstack 1176
#define __NR_rt_sigaction 1177
#define __NR_rt_sigpending 1178
#define __NR_rt_sigprocmask 1179
#define __NR_rt_sigqueueinfo 1180
#define __NR_rt_sigreturn 1181
#define __NR_rt_sigsuspend 1182
#define __NR_rt_sigtimedwait 1183
#define __NR_getcwd 1184
#define __NR_capget 1185
#define __NR_capset 1186
#define __NR_sendfile 1187
#define __NR_getpmsg 1188
#define __NR_putpmsg 1189
#define __NR_socket 1190
#define __NR_bind 1191
#define __NR_connect 1192
#define __NR_listen 1193
#define __NR_accept 1194
#define __NR_getsockname 1195
#define __NR_getpeername 1196
#define __NR_socketpair 1197
#define __NR_send 1198
#define __NR_sendto 1199
#define __NR_recv 1200
#define __NR_recvfrom 1201
#define __NR_shutdown 1202
#define __NR_setsockopt 1203
#define __NR_getsockopt 1204
#define __NR_sendmsg 1205
#define __NR_recvmsg 1206
#define __NR_pivot_root 1207
#define __NR_mincore 1208
#define __NR_madvise 1209
#define __NR_stat 1210
#define __NR_lstat 1211
#define __NR_fstat 1212
#define __NR_clone2 1213
#define __NR_getdents64 1214
#define __NR_getunwind 1215
#define __NR_readahead 1216
#define __NR_setxattr 1217
#define __NR_lsetxattr 1218
#define __NR_fsetxattr 1219
#define __NR_getxattr 1220
#define __NR_lgetxattr 1221
#define __NR_fgetxattr 1222
#define __NR_listxattr 1223
#define __NR_llistxattr 1224
#define __NR_flistxattr 1225
#define __NR_removexattr 1226
#define __NR_lremovexattr 1227
#define __NR_fremovexattr 1228
#define __NR_tkill 1229
#define __NR_futex 1230
#define __NR_sched_setaffinity 1231
#define __NR_sched_getaffinity 1232
#define __NR_set_tid_address 1233
#define __NR_fadvise64 1234
#define __NR_tgkill 1235
#define __NR_exit_group 1236
#define __NR_lookup_dcookie 1237
#define __NR_io_setup 1238
#define __NR_io_destroy 1239
#define __NR_io_getevents 1240
#define __NR_io_submit 1241
#define __NR_io_cancel 1242
#define __NR_epoll_create 1243
#define __NR_epoll_ctl 1244
#define __NR_epoll_wait 1245
#define __NR_restart_syscall 1246
#define __NR_semtimedop 1247
#define __NR_timer_create 1248
#define __NR_timer_settime 1249
#define __NR_timer_gettime 1250
#define __NR_timer_getoverrun 1251
#define __NR_timer_delete 1252
#define __NR_clock_settime 1253
#define __NR_clock_gettime 1254
#define __NR_clock_getres 1255
#define __NR_clock_nanosleep 1256
#define __NR_fstatfs64 1257
#define __NR_statfs64 1258
#define __NR_mbind 1259
#define __NR_get_mempolicy 1260
#define __NR_set_mempolicy 1261
#define __NR_mq_open 1262
#define __NR_mq_unlink 1263
#define __NR_mq_timedsend 1264
#define __NR_mq_timedreceive 1265
#define __NR_mq_notify 1266
#define __NR_mq_getsetattr 1267
#define __NR_kexec_load 1268
#define __NR_vserver 1269
#define __NR_waitid 1270
#define __NR_add_key 1271
#define __NR_request_key 1272
#define __NR_keyctl 1273
#define __NR_ioprio_set 1274
#define __NR_ioprio_get 1275
#define __NR_move_pages 1276
#define __NR_inotify_init 1277
#define __NR_inotify_add_watch 1278
#define __NR_inotify_rm_watch 1279
#define __NR_migrate_pages 1280
#define __NR_openat 1281
#define __NR_mkdirat 1282
#define __NR_mknodat 1283
#define __NR_fchownat 1284
#define __NR_futimesat 1285
#define __NR_newfstatat 1286
#define __NR_unlinkat 1287
#define __NR_renameat 1288
#define __NR_linkat 1289
#define __NR_symlinkat 1290
#define __NR_readlinkat 1291
#define __NR_fchmodat 1292
#define __NR_faccessat 1293
#define __NR_pselect6 1294
#define __NR_ppoll 1295
#define __NR_unshare 1296
#define __NR_splice 1297
#define __NR_set_robust_list 1298
#define __NR_get_robust_list 1299
#define __NR_sync_file_range 1300
#define __NR_tee 1301
#define __NR_vmsplice 1302
#define __NR_fallocate 1303
#define __NR_getcpu 1304
#define __NR_epoll_pwait 1305
#define __NR_utimensat 1306
#define __NR_signalfd 1307
#define __NR_timerfd 1308
#define __NR_eventfd 1309
#define __NR_timerfd_create 1310
#define __NR_timerfd_settime 1311
#define __NR_timerfd_gettime 1312
#define __NR_signalfd4 1313
#define __NR_eventfd2 1314
#define __NR_epoll_create1 1315
#define __NR_dup3 1316
#define __NR_pipe2 1317
#define __NR_inotify_init1 1318
#define __NR_preadv 1319
#define __NR_pwritev 1320
#define __NR_rt_tgsigqueueinfo 1321
#define __NR_recvmmsg 1322
#define __NR_fanotify_init 1323
#define __NR_fanotify_mark 1324
#define __NR_prlimit64 1325
#define __NR_name_to_handle_at 1326
#define __NR_open_by_handle_at 1327
#define __NR_clock_adjtime 1328
#define __NR_syncfs 1329
#define __NR_setns 1330
#define __NR_sendmmsg 1331
#define __NR_process_vm_readv 1332
#define __NR_process_vm_writev 1333
#define __NR_accept4 1334
#define __NR_finit_module 1335
#define __NR_sched_setattr 1336
#define __NR_sched_getattr 1337
#define __NR_renameat2 1338
#define __NR_getrandom 1339
#define __NR_memfd_create 1340
#define __NR_bpf 1341
#define __NR_execveat 1342
#define __NR_userfaultfd 1343
#define __NR_membarrier 1344
#define __NR_kcmp 1345
#define __NR_mlock2 1346
#define __NR_copy_file_range 1347
#define __NR_preadv2 1348
#define __NR_pwritev2 1349
#endif /* _UAPI_ASM_IA64_UNISTD_H */ #endif /* _UAPI_ASM_IA64_UNISTD_H */
...@@ -1426,335 +1426,10 @@ END(ftrace_stub) ...@@ -1426,335 +1426,10 @@ END(ftrace_stub)
#endif /* CONFIG_FUNCTION_TRACER */ #endif /* CONFIG_FUNCTION_TRACER */
#define __SYSCALL(nr, entry, nargs) data8 entry
.rodata .rodata
.align 8 .align 8
.globl sys_call_table .globl sys_call_table
sys_call_table: sys_call_table:
data8 sys_ni_syscall // This must be sys_ni_syscall! See ivt.S. #include <asm/syscall_table.h>
data8 sys_exit // 1025 #undef __SYSCALL
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
.org sys_call_table + 8*NR_syscalls // guard against failures to increase NR_syscalls
# 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))'
syshdr_offset_unistd_64 := __NR_Linux
$(uapi)/unistd_64.h: $(syscall) $(syshdr)
$(call if_changed,syshdr)
systbl_offset_syscall_table := 1024
$(kapi)/syscall_table.h: $(syscall) $(systbl)
$(call if_changed,systbl)
uapisyshdr-y += unistd_64.h
kapisyshdr-y += syscall_table.h
targets += $(uapisyshdr-y) $(kapisyshdr-y)
PHONY += all
all: $(addprefix $(uapi)/,$(uapisyshdr-y))
all: $(addprefix $(kapi)/,$(kapisyshdr-y))
@:
This diff is collapsed.
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
in="$1"
out="$2"
my_abis=`echo "($3)" | tr ',' '|'`
prefix="$4"
offset="$5"
fileguard=_UAPI_ASM_IA64_`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"
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