1 /* 2 * AArch32 (compat) system call definitions. 3 * 4 * Copyright (C) 2001-2005 Russell King 5 * Copyright (C) 2012 ARM Ltd. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef __SYSCALL 21 #define __SYSCALL(x, y) 22 #endif 23 24 __SYSCALL(0, sys_restart_syscall) 25 __SYSCALL(1, sys_exit) 26 __SYSCALL(2, sys_fork) 27 __SYSCALL(3, sys_read) 28 __SYSCALL(4, sys_write) 29 __SYSCALL(5, compat_sys_open) 30 __SYSCALL(6, sys_close) 31 __SYSCALL(7, sys_ni_syscall) /* 7 was sys_waitpid */ 32 __SYSCALL(8, sys_creat) 33 __SYSCALL(9, sys_link) 34 __SYSCALL(10, sys_unlink) 35 __SYSCALL(11, compat_sys_execve) 36 __SYSCALL(12, sys_chdir) 37 __SYSCALL(13, sys_ni_syscall) /* 13 was sys_time */ 38 __SYSCALL(14, sys_mknod) 39 __SYSCALL(15, sys_chmod) 40 __SYSCALL(16, sys_lchown16) 41 __SYSCALL(17, sys_ni_syscall) /* 17 was sys_break */ 42 __SYSCALL(18, sys_ni_syscall) /* 18 was sys_stat */ 43 __SYSCALL(19, compat_sys_lseek) 44 __SYSCALL(20, sys_getpid) 45 __SYSCALL(21, compat_sys_mount) 46 __SYSCALL(22, sys_ni_syscall) /* 22 was sys_umount */ 47 __SYSCALL(23, sys_setuid16) 48 __SYSCALL(24, sys_getuid16) 49 __SYSCALL(25, sys_ni_syscall) /* 25 was sys_stime */ 50 __SYSCALL(26, compat_sys_ptrace) 51 __SYSCALL(27, sys_ni_syscall) /* 27 was sys_alarm */ 52 __SYSCALL(28, sys_ni_syscall) /* 28 was sys_fstat */ 53 __SYSCALL(29, sys_pause) 54 __SYSCALL(30, sys_ni_syscall) /* 30 was sys_utime */ 55 __SYSCALL(31, sys_ni_syscall) /* 31 was sys_stty */ 56 __SYSCALL(32, sys_ni_syscall) /* 32 was sys_gtty */ 57 __SYSCALL(33, sys_access) 58 __SYSCALL(34, sys_nice) 59 __SYSCALL(35, sys_ni_syscall) /* 35 was sys_ftime */ 60 __SYSCALL(36, sys_sync) 61 __SYSCALL(37, sys_kill) 62 __SYSCALL(38, sys_rename) 63 __SYSCALL(39, sys_mkdir) 64 __SYSCALL(40, sys_rmdir) 65 __SYSCALL(41, sys_dup) 66 __SYSCALL(42, sys_pipe) 67 __SYSCALL(43, compat_sys_times) 68 __SYSCALL(44, sys_ni_syscall) /* 44 was sys_prof */ 69 __SYSCALL(45, sys_brk) 70 __SYSCALL(46, sys_setgid16) 71 __SYSCALL(47, sys_getgid16) 72 __SYSCALL(48, sys_ni_syscall) /* 48 was sys_signal */ 73 __SYSCALL(49, sys_geteuid16) 74 __SYSCALL(50, sys_getegid16) 75 __SYSCALL(51, sys_acct) 76 __SYSCALL(52, sys_umount) 77 __SYSCALL(53, sys_ni_syscall) /* 53 was sys_lock */ 78 __SYSCALL(54, compat_sys_ioctl) 79 __SYSCALL(55, compat_sys_fcntl) 80 __SYSCALL(56, sys_ni_syscall) /* 56 was sys_mpx */ 81 __SYSCALL(57, sys_setpgid) 82 __SYSCALL(58, sys_ni_syscall) /* 58 was sys_ulimit */ 83 __SYSCALL(59, sys_ni_syscall) /* 59 was sys_olduname */ 84 __SYSCALL(60, sys_umask) 85 __SYSCALL(61, sys_chroot) 86 __SYSCALL(62, compat_sys_ustat) 87 __SYSCALL(63, sys_dup2) 88 __SYSCALL(64, sys_getppid) 89 __SYSCALL(65, sys_getpgrp) 90 __SYSCALL(66, sys_setsid) 91 __SYSCALL(67, compat_sys_sigaction) 92 __SYSCALL(68, sys_ni_syscall) /* 68 was sys_sgetmask */ 93 __SYSCALL(69, sys_ni_syscall) /* 69 was sys_ssetmask */ 94 __SYSCALL(70, sys_setreuid16) 95 __SYSCALL(71, sys_setregid16) 96 __SYSCALL(72, sys_sigsuspend) 97 __SYSCALL(73, compat_sys_sigpending) 98 __SYSCALL(74, sys_sethostname) 99 __SYSCALL(75, compat_sys_setrlimit) 100 __SYSCALL(76, sys_ni_syscall) /* 76 was compat_sys_getrlimit */ 101 __SYSCALL(77, compat_sys_getrusage) 102 __SYSCALL(78, compat_sys_gettimeofday) 103 __SYSCALL(79, compat_sys_settimeofday) 104 __SYSCALL(80, sys_getgroups16) 105 __SYSCALL(81, sys_setgroups16) 106 __SYSCALL(82, sys_ni_syscall) /* 82 was compat_sys_select */ 107 __SYSCALL(83, sys_symlink) 108 __SYSCALL(84, sys_ni_syscall) /* 84 was sys_lstat */ 109 __SYSCALL(85, sys_readlink) 110 __SYSCALL(86, sys_uselib) 111 __SYSCALL(87, sys_swapon) 112 __SYSCALL(88, sys_reboot) 113 __SYSCALL(89, sys_ni_syscall) /* 89 was sys_readdir */ 114 __SYSCALL(90, sys_ni_syscall) /* 90 was sys_mmap */ 115 __SYSCALL(91, sys_munmap) 116 __SYSCALL(92, compat_sys_truncate) 117 __SYSCALL(93, compat_sys_ftruncate) 118 __SYSCALL(94, sys_fchmod) 119 __SYSCALL(95, sys_fchown16) 120 __SYSCALL(96, sys_getpriority) 121 __SYSCALL(97, sys_setpriority) 122 __SYSCALL(98, sys_ni_syscall) /* 98 was sys_profil */ 123 __SYSCALL(99, compat_sys_statfs) 124 __SYSCALL(100, compat_sys_fstatfs) 125 __SYSCALL(101, sys_ni_syscall) /* 101 was sys_ioperm */ 126 __SYSCALL(102, sys_ni_syscall) /* 102 was sys_socketcall */ 127 __SYSCALL(103, sys_syslog) 128 __SYSCALL(104, compat_sys_setitimer) 129 __SYSCALL(105, compat_sys_getitimer) 130 __SYSCALL(106, compat_sys_newstat) 131 __SYSCALL(107, compat_sys_newlstat) 132 __SYSCALL(108, compat_sys_newfstat) 133 __SYSCALL(109, sys_ni_syscall) /* 109 was sys_uname */ 134 __SYSCALL(110, sys_ni_syscall) /* 110 was sys_iopl */ 135 __SYSCALL(111, sys_vhangup) 136 __SYSCALL(112, sys_ni_syscall) /* 112 was sys_idle */ 137 __SYSCALL(113, sys_ni_syscall) /* 113 was sys_syscall */ 138 __SYSCALL(114, compat_sys_wait4) 139 __SYSCALL(115, sys_swapoff) 140 __SYSCALL(116, compat_sys_sysinfo) 141 __SYSCALL(117, sys_ni_syscall) /* 117 was sys_ipc */ 142 __SYSCALL(118, sys_fsync) 143 __SYSCALL(119, compat_sys_sigreturn_wrapper) 144 __SYSCALL(120, sys_clone) 145 __SYSCALL(121, sys_setdomainname) 146 __SYSCALL(122, sys_newuname) 147 __SYSCALL(123, sys_ni_syscall) /* 123 was sys_modify_ldt */ 148 __SYSCALL(124, compat_sys_adjtimex) 149 __SYSCALL(125, sys_mprotect) 150 __SYSCALL(126, compat_sys_sigprocmask) 151 __SYSCALL(127, sys_ni_syscall) /* 127 was sys_create_module */ 152 __SYSCALL(128, sys_init_module) 153 __SYSCALL(129, sys_delete_module) 154 __SYSCALL(130, sys_ni_syscall) /* 130 was sys_get_kernel_syms */ 155 __SYSCALL(131, sys_quotactl) 156 __SYSCALL(132, sys_getpgid) 157 __SYSCALL(133, sys_fchdir) 158 __SYSCALL(134, sys_bdflush) 159 __SYSCALL(135, sys_sysfs) 160 __SYSCALL(136, sys_personality) 161 __SYSCALL(137, sys_ni_syscall) /* 137 was sys_afs_syscall */ 162 __SYSCALL(138, sys_setfsuid16) 163 __SYSCALL(139, sys_setfsgid16) 164 __SYSCALL(140, sys_llseek) 165 __SYSCALL(141, compat_sys_getdents) 166 __SYSCALL(142, compat_sys_select) 167 __SYSCALL(143, sys_flock) 168 __SYSCALL(144, sys_msync) 169 __SYSCALL(145, compat_sys_readv) 170 __SYSCALL(146, compat_sys_writev) 171 __SYSCALL(147, sys_getsid) 172 __SYSCALL(148, sys_fdatasync) 173 __SYSCALL(149, compat_sys_sysctl) 174 __SYSCALL(150, sys_mlock) 175 __SYSCALL(151, sys_munlock) 176 __SYSCALL(152, sys_mlockall) 177 __SYSCALL(153, sys_munlockall) 178 __SYSCALL(154, sys_sched_setparam) 179 __SYSCALL(155, sys_sched_getparam) 180 __SYSCALL(156, sys_sched_setscheduler) 181 __SYSCALL(157, sys_sched_getscheduler) 182 __SYSCALL(158, sys_sched_yield) 183 __SYSCALL(159, sys_sched_get_priority_max) 184 __SYSCALL(160, sys_sched_get_priority_min) 185 __SYSCALL(161, compat_sys_sched_rr_get_interval) 186 __SYSCALL(162, compat_sys_nanosleep) 187 __SYSCALL(163, sys_mremap) 188 __SYSCALL(164, sys_setresuid16) 189 __SYSCALL(165, sys_getresuid16) 190 __SYSCALL(166, sys_ni_syscall) /* 166 was sys_vm86 */ 191 __SYSCALL(167, sys_ni_syscall) /* 167 was sys_query_module */ 192 __SYSCALL(168, sys_poll) 193 __SYSCALL(169, sys_ni_syscall) 194 __SYSCALL(170, sys_setresgid16) 195 __SYSCALL(171, sys_getresgid16) 196 __SYSCALL(172, sys_prctl) 197 __SYSCALL(173, compat_sys_rt_sigreturn_wrapper) 198 __SYSCALL(174, compat_sys_rt_sigaction) 199 __SYSCALL(175, compat_sys_rt_sigprocmask) 200 __SYSCALL(176, compat_sys_rt_sigpending) 201 __SYSCALL(177, compat_sys_rt_sigtimedwait) 202 __SYSCALL(178, compat_sys_rt_sigqueueinfo) 203 __SYSCALL(179, compat_sys_rt_sigsuspend) 204 __SYSCALL(180, compat_sys_pread64_wrapper) 205 __SYSCALL(181, compat_sys_pwrite64_wrapper) 206 __SYSCALL(182, sys_chown16) 207 __SYSCALL(183, sys_getcwd) 208 __SYSCALL(184, sys_capget) 209 __SYSCALL(185, sys_capset) 210 __SYSCALL(186, compat_sys_sigaltstack) 211 __SYSCALL(187, compat_sys_sendfile) 212 __SYSCALL(188, sys_ni_syscall) /* 188 reserved */ 213 __SYSCALL(189, sys_ni_syscall) /* 189 reserved */ 214 __SYSCALL(190, sys_vfork) 215 __SYSCALL(191, compat_sys_getrlimit) /* SuS compliant getrlimit */ 216 __SYSCALL(192, sys_mmap_pgoff) 217 __SYSCALL(193, compat_sys_truncate64_wrapper) 218 __SYSCALL(194, compat_sys_ftruncate64_wrapper) 219 __SYSCALL(195, sys_stat64) 220 __SYSCALL(196, sys_lstat64) 221 __SYSCALL(197, sys_fstat64) 222 __SYSCALL(198, sys_lchown) 223 __SYSCALL(199, sys_getuid) 224 __SYSCALL(200, sys_getgid) 225 __SYSCALL(201, sys_geteuid) 226 __SYSCALL(202, sys_getegid) 227 __SYSCALL(203, sys_setreuid) 228 __SYSCALL(204, sys_setregid) 229 __SYSCALL(205, sys_getgroups) 230 __SYSCALL(206, sys_setgroups) 231 __SYSCALL(207, sys_fchown) 232 __SYSCALL(208, sys_setresuid) 233 __SYSCALL(209, sys_getresuid) 234 __SYSCALL(210, sys_setresgid) 235 __SYSCALL(211, sys_getresgid) 236 __SYSCALL(212, sys_chown) 237 __SYSCALL(213, sys_setuid) 238 __SYSCALL(214, sys_setgid) 239 __SYSCALL(215, sys_setfsuid) 240 __SYSCALL(216, sys_setfsgid) 241 __SYSCALL(217, compat_sys_getdents64) 242 __SYSCALL(218, sys_pivot_root) 243 __SYSCALL(219, sys_mincore) 244 __SYSCALL(220, sys_madvise) 245 __SYSCALL(221, compat_sys_fcntl64) 246 __SYSCALL(222, sys_ni_syscall) /* 222 for tux */ 247 __SYSCALL(223, sys_ni_syscall) /* 223 is unused */ 248 __SYSCALL(224, sys_gettid) 249 __SYSCALL(225, compat_sys_readahead_wrapper) 250 __SYSCALL(226, sys_setxattr) 251 __SYSCALL(227, sys_lsetxattr) 252 __SYSCALL(228, sys_fsetxattr) 253 __SYSCALL(229, sys_getxattr) 254 __SYSCALL(230, sys_lgetxattr) 255 __SYSCALL(231, sys_fgetxattr) 256 __SYSCALL(232, sys_listxattr) 257 __SYSCALL(233, sys_llistxattr) 258 __SYSCALL(234, sys_flistxattr) 259 __SYSCALL(235, sys_removexattr) 260 __SYSCALL(236, sys_lremovexattr) 261 __SYSCALL(237, sys_fremovexattr) 262 __SYSCALL(238, sys_tkill) 263 __SYSCALL(239, sys_sendfile64) 264 __SYSCALL(240, compat_sys_futex) 265 __SYSCALL(241, compat_sys_sched_setaffinity) 266 __SYSCALL(242, compat_sys_sched_getaffinity) 267 __SYSCALL(243, compat_sys_io_setup) 268 __SYSCALL(244, sys_io_destroy) 269 __SYSCALL(245, compat_sys_io_getevents) 270 __SYSCALL(246, compat_sys_io_submit) 271 __SYSCALL(247, sys_io_cancel) 272 __SYSCALL(248, sys_exit_group) 273 __SYSCALL(249, compat_sys_lookup_dcookie) 274 __SYSCALL(250, sys_epoll_create) 275 __SYSCALL(251, sys_epoll_ctl) 276 __SYSCALL(252, sys_epoll_wait) 277 __SYSCALL(253, sys_remap_file_pages) 278 __SYSCALL(254, sys_ni_syscall) /* 254 for set_thread_area */ 279 __SYSCALL(255, sys_ni_syscall) /* 255 for get_thread_area */ 280 __SYSCALL(256, sys_set_tid_address) 281 __SYSCALL(257, compat_sys_timer_create) 282 __SYSCALL(258, compat_sys_timer_settime) 283 __SYSCALL(259, compat_sys_timer_gettime) 284 __SYSCALL(260, sys_timer_getoverrun) 285 __SYSCALL(261, sys_timer_delete) 286 __SYSCALL(262, compat_sys_clock_settime) 287 __SYSCALL(263, compat_sys_clock_gettime) 288 __SYSCALL(264, compat_sys_clock_getres) 289 __SYSCALL(265, compat_sys_clock_nanosleep) 290 __SYSCALL(266, compat_sys_statfs64_wrapper) 291 __SYSCALL(267, compat_sys_fstatfs64_wrapper) 292 __SYSCALL(268, sys_tgkill) 293 __SYSCALL(269, compat_sys_utimes) 294 __SYSCALL(270, compat_sys_fadvise64_64_wrapper) 295 __SYSCALL(271, sys_pciconfig_iobase) 296 __SYSCALL(272, sys_pciconfig_read) 297 __SYSCALL(273, sys_pciconfig_write) 298 __SYSCALL(274, compat_sys_mq_open) 299 __SYSCALL(275, sys_mq_unlink) 300 __SYSCALL(276, compat_sys_mq_timedsend) 301 __SYSCALL(277, compat_sys_mq_timedreceive) 302 __SYSCALL(278, compat_sys_mq_notify) 303 __SYSCALL(279, compat_sys_mq_getsetattr) 304 __SYSCALL(280, compat_sys_waitid) 305 __SYSCALL(281, sys_socket) 306 __SYSCALL(282, sys_bind) 307 __SYSCALL(283, sys_connect) 308 __SYSCALL(284, sys_listen) 309 __SYSCALL(285, sys_accept) 310 __SYSCALL(286, sys_getsockname) 311 __SYSCALL(287, sys_getpeername) 312 __SYSCALL(288, sys_socketpair) 313 __SYSCALL(289, sys_send) 314 __SYSCALL(290, sys_sendto) 315 __SYSCALL(291, compat_sys_recv) 316 __SYSCALL(292, compat_sys_recvfrom) 317 __SYSCALL(293, sys_shutdown) 318 __SYSCALL(294, compat_sys_setsockopt) 319 __SYSCALL(295, compat_sys_getsockopt) 320 __SYSCALL(296, compat_sys_sendmsg) 321 __SYSCALL(297, compat_sys_recvmsg) 322 __SYSCALL(298, sys_semop) 323 __SYSCALL(299, sys_semget) 324 __SYSCALL(300, compat_sys_semctl) 325 __SYSCALL(301, compat_sys_msgsnd) 326 __SYSCALL(302, compat_sys_msgrcv) 327 __SYSCALL(303, sys_msgget) 328 __SYSCALL(304, compat_sys_msgctl) 329 __SYSCALL(305, compat_sys_shmat) 330 __SYSCALL(306, sys_shmdt) 331 __SYSCALL(307, sys_shmget) 332 __SYSCALL(308, compat_sys_shmctl) 333 __SYSCALL(309, sys_add_key) 334 __SYSCALL(310, sys_request_key) 335 __SYSCALL(311, compat_sys_keyctl) 336 __SYSCALL(312, compat_sys_semtimedop) 337 __SYSCALL(313, sys_ni_syscall) 338 __SYSCALL(314, sys_ioprio_set) 339 __SYSCALL(315, sys_ioprio_get) 340 __SYSCALL(316, sys_inotify_init) 341 __SYSCALL(317, sys_inotify_add_watch) 342 __SYSCALL(318, sys_inotify_rm_watch) 343 __SYSCALL(319, compat_sys_mbind) 344 __SYSCALL(320, compat_sys_get_mempolicy) 345 __SYSCALL(321, compat_sys_set_mempolicy) 346 __SYSCALL(322, compat_sys_openat) 347 __SYSCALL(323, sys_mkdirat) 348 __SYSCALL(324, sys_mknodat) 349 __SYSCALL(325, sys_fchownat) 350 __SYSCALL(326, compat_sys_futimesat) 351 __SYSCALL(327, sys_fstatat64) 352 __SYSCALL(328, sys_unlinkat) 353 __SYSCALL(329, sys_renameat) 354 __SYSCALL(330, sys_linkat) 355 __SYSCALL(331, sys_symlinkat) 356 __SYSCALL(332, sys_readlinkat) 357 __SYSCALL(333, sys_fchmodat) 358 __SYSCALL(334, sys_faccessat) 359 __SYSCALL(335, compat_sys_pselect6) 360 __SYSCALL(336, compat_sys_ppoll) 361 __SYSCALL(337, sys_unshare) 362 __SYSCALL(338, compat_sys_set_robust_list) 363 __SYSCALL(339, compat_sys_get_robust_list) 364 __SYSCALL(340, sys_splice) 365 __SYSCALL(341, compat_sys_sync_file_range2_wrapper) 366 __SYSCALL(342, sys_tee) 367 __SYSCALL(343, compat_sys_vmsplice) 368 __SYSCALL(344, compat_sys_move_pages) 369 __SYSCALL(345, sys_getcpu) 370 __SYSCALL(346, compat_sys_epoll_pwait) 371 __SYSCALL(347, compat_sys_kexec_load) 372 __SYSCALL(348, compat_sys_utimensat) 373 __SYSCALL(349, compat_sys_signalfd) 374 __SYSCALL(350, sys_timerfd_create) 375 __SYSCALL(351, sys_eventfd) 376 __SYSCALL(352, compat_sys_fallocate_wrapper) 377 __SYSCALL(353, compat_sys_timerfd_settime) 378 __SYSCALL(354, compat_sys_timerfd_gettime) 379 __SYSCALL(355, compat_sys_signalfd4) 380 __SYSCALL(356, sys_eventfd2) 381 __SYSCALL(357, sys_epoll_create1) 382 __SYSCALL(358, sys_dup3) 383 __SYSCALL(359, sys_pipe2) 384 __SYSCALL(360, sys_inotify_init1) 385 __SYSCALL(361, compat_sys_preadv) 386 __SYSCALL(362, compat_sys_pwritev) 387 __SYSCALL(363, compat_sys_rt_tgsigqueueinfo) 388 __SYSCALL(364, sys_perf_event_open) 389 __SYSCALL(365, compat_sys_recvmmsg) 390 __SYSCALL(366, sys_accept4) 391 __SYSCALL(367, sys_fanotify_init) 392 __SYSCALL(368, compat_sys_fanotify_mark) 393 __SYSCALL(369, sys_prlimit64) 394 __SYSCALL(370, sys_name_to_handle_at) 395 __SYSCALL(371, compat_sys_open_by_handle_at) 396 __SYSCALL(372, compat_sys_clock_adjtime) 397 __SYSCALL(373, sys_syncfs) 398 __SYSCALL(374, compat_sys_sendmmsg) 399 __SYSCALL(375, sys_setns) 400 __SYSCALL(376, compat_sys_process_vm_readv) 401 __SYSCALL(377, compat_sys_process_vm_writev) 402 __SYSCALL(378, sys_kcmp) 403 __SYSCALL(379, sys_finit_module) 404 __SYSCALL(380, sys_sched_setattr) 405 __SYSCALL(381, sys_sched_getattr) 406 __SYSCALL(382, sys_renameat2) 407 408 #define __NR_compat_syscalls 383 409 410 /* 411 * Compat syscall numbers used by the AArch64 kernel. 412 */ 413 #define __NR_compat_restart_syscall 0 414 #define __NR_compat_sigreturn 119 415 #define __NR_compat_rt_sigreturn 173 416 417 418 /* 419 * The following SVCs are ARM private. 420 */ 421 #define __ARM_NR_COMPAT_BASE 0x0f0000 422 #define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2) 423 #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5) 424