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_ni_syscall) /* 378 for kcmp */ 403 404#define __NR_compat_syscalls 379 405 406/* 407 * Compat syscall numbers used by the AArch64 kernel. 408 */ 409#define __NR_compat_restart_syscall 0 410#define __NR_compat_sigreturn 119 411#define __NR_compat_rt_sigreturn 173 412 413 414/* 415 * The following SVCs are ARM private. 416 */ 417#define __ARM_NR_COMPAT_BASE 0x0f0000 418#define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2) 419#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5) 420