/*
 * AArch32 (compat) system call definitions.
 *
 * Copyright (C) 2001-2005 Russell King
 * Copyright (C) 2012 ARM Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef __SYSCALL
#define __SYSCALL(x, y)
#endif

__SYSCALL(0,   sys_restart_syscall)
__SYSCALL(1,   sys_exit)
__SYSCALL(2,   compat_sys_fork_wrapper)
__SYSCALL(3,   sys_read)
__SYSCALL(4,   sys_write)
__SYSCALL(5,   compat_sys_open)
__SYSCALL(6,   sys_close)
__SYSCALL(7,   sys_ni_syscall)			/* 7 was sys_waitpid */
__SYSCALL(8,   sys_creat)
__SYSCALL(9,   sys_link)
__SYSCALL(10,  sys_unlink)
__SYSCALL(11,  compat_sys_execve_wrapper)
__SYSCALL(12,  sys_chdir)
__SYSCALL(13,  sys_ni_syscall)			/* 13 was sys_time */
__SYSCALL(14,  sys_mknod)
__SYSCALL(15,  sys_chmod)
__SYSCALL(16,  sys_lchown16)
__SYSCALL(17,  sys_ni_syscall)			/* 17 was sys_break */
__SYSCALL(18,  sys_ni_syscall)			/* 18 was sys_stat */
__SYSCALL(19,  compat_sys_lseek_wrapper)
__SYSCALL(20,  sys_getpid)
__SYSCALL(21,  compat_sys_mount)
__SYSCALL(22,  sys_ni_syscall)			/* 22 was sys_umount */
__SYSCALL(23,  sys_setuid16)
__SYSCALL(24,  sys_getuid16)
__SYSCALL(25,  sys_ni_syscall)			/* 25 was sys_stime */
__SYSCALL(26,  compat_sys_ptrace)
__SYSCALL(27,  sys_ni_syscall)			/* 27 was sys_alarm */
__SYSCALL(28,  sys_ni_syscall)			/* 28 was sys_fstat */
__SYSCALL(29,  sys_pause)
__SYSCALL(30,  sys_ni_syscall)			/* 30 was sys_utime */
__SYSCALL(31,  sys_ni_syscall)			/* 31 was sys_stty */
__SYSCALL(32,  sys_ni_syscall)			/* 32 was sys_gtty */
__SYSCALL(33,  sys_access)
__SYSCALL(34,  sys_nice)
__SYSCALL(35,  sys_ni_syscall)			/* 35 was sys_ftime */
__SYSCALL(36,  sys_sync)
__SYSCALL(37,  sys_kill)
__SYSCALL(38,  sys_rename)
__SYSCALL(39,  sys_mkdir)
__SYSCALL(40,  sys_rmdir)
__SYSCALL(41,  sys_dup)
__SYSCALL(42,  sys_pipe)
__SYSCALL(43,  compat_sys_times)
__SYSCALL(44,  sys_ni_syscall)			/* 44 was sys_prof */
__SYSCALL(45,  sys_brk)
__SYSCALL(46,  sys_setgid16)
__SYSCALL(47,  sys_getgid16)
__SYSCALL(48,  sys_ni_syscall)			/* 48 was sys_signal */
__SYSCALL(49,  sys_geteuid16)
__SYSCALL(50,  sys_getegid16)
__SYSCALL(51,  sys_acct)
__SYSCALL(52,  sys_umount)
__SYSCALL(53,  sys_ni_syscall)			/* 53 was sys_lock */
__SYSCALL(54,  compat_sys_ioctl)
__SYSCALL(55,  compat_sys_fcntl)
__SYSCALL(56,  sys_ni_syscall)			/* 56 was sys_mpx */
__SYSCALL(57,  sys_setpgid)
__SYSCALL(58,  sys_ni_syscall)			/* 58 was sys_ulimit */
__SYSCALL(59,  sys_ni_syscall)			/* 59 was sys_olduname */
__SYSCALL(60,  sys_umask)
__SYSCALL(61,  sys_chroot)
__SYSCALL(62,  compat_sys_ustat)
__SYSCALL(63,  sys_dup2)
__SYSCALL(64,  sys_getppid)
__SYSCALL(65,  sys_getpgrp)
__SYSCALL(66,  sys_setsid)
__SYSCALL(67,  compat_sys_sigaction)
__SYSCALL(68,  sys_ni_syscall)			/* 68 was sys_sgetmask */
__SYSCALL(69,  sys_ni_syscall)			/* 69 was sys_ssetmask */
__SYSCALL(70,  sys_setreuid16)
__SYSCALL(71,  sys_setregid16)
__SYSCALL(72,  compat_sys_sigsuspend)
__SYSCALL(73,  compat_sys_sigpending)
__SYSCALL(74,  sys_sethostname)
__SYSCALL(75,  compat_sys_setrlimit)
__SYSCALL(76,  sys_ni_syscall)			/* 76 was compat_sys_getrlimit */
__SYSCALL(77,  compat_sys_getrusage)
__SYSCALL(78,  compat_sys_gettimeofday)
__SYSCALL(79,  compat_sys_settimeofday)
__SYSCALL(80,  sys_getgroups16)
__SYSCALL(81,  sys_setgroups16)
__SYSCALL(82,  sys_ni_syscall)			/* 82 was compat_sys_select */
__SYSCALL(83,  sys_symlink)
__SYSCALL(84,  sys_ni_syscall)			/* 84 was sys_lstat */
__SYSCALL(85,  sys_readlink)
__SYSCALL(86,  sys_uselib)
__SYSCALL(87,  sys_swapon)
__SYSCALL(88,  sys_reboot)
__SYSCALL(89,  sys_ni_syscall)			/* 89 was sys_readdir */
__SYSCALL(90,  sys_ni_syscall)			/* 90 was sys_mmap */
__SYSCALL(91,  sys_munmap)
__SYSCALL(92,  sys_truncate)
__SYSCALL(93,  sys_ftruncate)
__SYSCALL(94,  sys_fchmod)
__SYSCALL(95,  sys_fchown16)
__SYSCALL(96,  sys_getpriority)
__SYSCALL(97,  sys_setpriority)
__SYSCALL(98,  sys_ni_syscall)			/* 98 was sys_profil */
__SYSCALL(99,  compat_sys_statfs)
__SYSCALL(100, compat_sys_fstatfs)
__SYSCALL(101, sys_ni_syscall)			/* 101 was sys_ioperm */
__SYSCALL(102, sys_ni_syscall)			/* 102 was sys_socketcall */
__SYSCALL(103, sys_syslog)
__SYSCALL(104, compat_sys_setitimer)
__SYSCALL(105, compat_sys_getitimer)
__SYSCALL(106, compat_sys_newstat)
__SYSCALL(107, compat_sys_newlstat)
__SYSCALL(108, compat_sys_newfstat)
__SYSCALL(109, sys_ni_syscall)			/* 109 was sys_uname */
__SYSCALL(110, sys_ni_syscall)			/* 110 was sys_iopl */
__SYSCALL(111, sys_vhangup)
__SYSCALL(112, sys_ni_syscall)			/* 112 was sys_idle */
__SYSCALL(113, sys_ni_syscall)			/* 113 was sys_syscall */
__SYSCALL(114, compat_sys_wait4)
__SYSCALL(115, sys_swapoff)
__SYSCALL(116, compat_sys_sysinfo)
__SYSCALL(117, sys_ni_syscall)			/* 117 was sys_ipc */
__SYSCALL(118, sys_fsync)
__SYSCALL(119, compat_sys_sigreturn_wrapper)
__SYSCALL(120, compat_sys_clone_wrapper)
__SYSCALL(121, sys_setdomainname)
__SYSCALL(122, sys_newuname)
__SYSCALL(123, sys_ni_syscall)			/* 123 was sys_modify_ldt */
__SYSCALL(124, compat_sys_adjtimex)
__SYSCALL(125, sys_mprotect)
__SYSCALL(126, compat_sys_sigprocmask)
__SYSCALL(127, sys_ni_syscall)			/* 127 was sys_create_module */
__SYSCALL(128, sys_init_module)
__SYSCALL(129, sys_delete_module)
__SYSCALL(130, sys_ni_syscall)			/* 130 was sys_get_kernel_syms */
__SYSCALL(131, sys_quotactl)
__SYSCALL(132, sys_getpgid)
__SYSCALL(133, sys_fchdir)
__SYSCALL(134, sys_bdflush)
__SYSCALL(135, sys_sysfs)
__SYSCALL(136, sys_personality)
__SYSCALL(137, sys_ni_syscall)			/* 137 was sys_afs_syscall */
__SYSCALL(138, sys_setfsuid16)
__SYSCALL(139, sys_setfsgid16)
__SYSCALL(140, sys_llseek)
__SYSCALL(141, compat_sys_getdents)
__SYSCALL(142, compat_sys_select)
__SYSCALL(143, sys_flock)
__SYSCALL(144, sys_msync)
__SYSCALL(145, compat_sys_readv)
__SYSCALL(146, compat_sys_writev)
__SYSCALL(147, sys_getsid)
__SYSCALL(148, sys_fdatasync)
__SYSCALL(149, compat_sys_sysctl)
__SYSCALL(150, sys_mlock)
__SYSCALL(151, sys_munlock)
__SYSCALL(152, sys_mlockall)
__SYSCALL(153, sys_munlockall)
__SYSCALL(154, sys_sched_setparam)
__SYSCALL(155, sys_sched_getparam)
__SYSCALL(156, sys_sched_setscheduler)
__SYSCALL(157, sys_sched_getscheduler)
__SYSCALL(158, sys_sched_yield)
__SYSCALL(159, sys_sched_get_priority_max)
__SYSCALL(160, sys_sched_get_priority_min)
__SYSCALL(161, compat_sys_sched_rr_get_interval)
__SYSCALL(162, compat_sys_nanosleep)
__SYSCALL(163, sys_mremap)
__SYSCALL(164, sys_setresuid16)
__SYSCALL(165, sys_getresuid16)
__SYSCALL(166, sys_ni_syscall)			/* 166 was sys_vm86 */
__SYSCALL(167, sys_ni_syscall)			/* 167 was sys_query_module */
__SYSCALL(168, sys_poll)
__SYSCALL(169, sys_ni_syscall)
__SYSCALL(170, sys_setresgid16)
__SYSCALL(171, sys_getresgid16)
__SYSCALL(172, sys_prctl)
__SYSCALL(173, compat_sys_rt_sigreturn_wrapper)
__SYSCALL(174, compat_sys_rt_sigaction)
__SYSCALL(175, compat_sys_rt_sigprocmask)
__SYSCALL(176, compat_sys_rt_sigpending)
__SYSCALL(177, compat_sys_rt_sigtimedwait)
__SYSCALL(178, compat_sys_rt_sigqueueinfo)
__SYSCALL(179, compat_sys_rt_sigsuspend)
__SYSCALL(180, compat_sys_pread64_wrapper)
__SYSCALL(181, compat_sys_pwrite64_wrapper)
__SYSCALL(182, sys_chown16)
__SYSCALL(183, sys_getcwd)
__SYSCALL(184, sys_capget)
__SYSCALL(185, sys_capset)
__SYSCALL(186, compat_sys_sigaltstack_wrapper)
__SYSCALL(187, compat_sys_sendfile)
__SYSCALL(188, sys_ni_syscall)			/* 188 reserved */
__SYSCALL(189, sys_ni_syscall)			/* 189 reserved */
__SYSCALL(190, compat_sys_vfork_wrapper)
__SYSCALL(191, compat_sys_getrlimit)		/* SuS compliant getrlimit */
__SYSCALL(192, sys_mmap_pgoff)
__SYSCALL(193, compat_sys_truncate64_wrapper)
__SYSCALL(194, compat_sys_ftruncate64_wrapper)
__SYSCALL(195, sys_stat64)
__SYSCALL(196, sys_lstat64)
__SYSCALL(197, sys_fstat64)
__SYSCALL(198, sys_lchown)
__SYSCALL(199, sys_getuid)
__SYSCALL(200, sys_getgid)
__SYSCALL(201, sys_geteuid)
__SYSCALL(202, sys_getegid)
__SYSCALL(203, sys_setreuid)
__SYSCALL(204, sys_setregid)
__SYSCALL(205, sys_getgroups)
__SYSCALL(206, sys_setgroups)
__SYSCALL(207, sys_fchown)
__SYSCALL(208, sys_setresuid)
__SYSCALL(209, sys_getresuid)
__SYSCALL(210, sys_setresgid)
__SYSCALL(211, sys_getresgid)
__SYSCALL(212, sys_chown)
__SYSCALL(213, sys_setuid)
__SYSCALL(214, sys_setgid)
__SYSCALL(215, sys_setfsuid)
__SYSCALL(216, sys_setfsgid)
__SYSCALL(217, compat_sys_getdents64)
__SYSCALL(218, sys_pivot_root)
__SYSCALL(219, sys_mincore)
__SYSCALL(220, sys_madvise)
__SYSCALL(221, compat_sys_fcntl64)
__SYSCALL(222, sys_ni_syscall)			/* 222 for tux */
__SYSCALL(223, sys_ni_syscall)			/* 223 is unused */
__SYSCALL(224, sys_gettid)
__SYSCALL(225, compat_sys_readahead_wrapper)
__SYSCALL(226, sys_setxattr)
__SYSCALL(227, sys_lsetxattr)
__SYSCALL(228, sys_fsetxattr)
__SYSCALL(229, sys_getxattr)
__SYSCALL(230, sys_lgetxattr)
__SYSCALL(231, sys_fgetxattr)
__SYSCALL(232, sys_listxattr)
__SYSCALL(233, sys_llistxattr)
__SYSCALL(234, sys_flistxattr)
__SYSCALL(235, sys_removexattr)
__SYSCALL(236, sys_lremovexattr)
__SYSCALL(237, sys_fremovexattr)
__SYSCALL(238, sys_tkill)
__SYSCALL(239, sys_sendfile64)
__SYSCALL(240, compat_sys_futex)
__SYSCALL(241, compat_sys_sched_setaffinity)
__SYSCALL(242, compat_sys_sched_getaffinity)
__SYSCALL(243, compat_sys_io_setup)
__SYSCALL(244, sys_io_destroy)
__SYSCALL(245, compat_sys_io_getevents)
__SYSCALL(246, compat_sys_io_submit)
__SYSCALL(247, sys_io_cancel)
__SYSCALL(248, sys_exit_group)
__SYSCALL(249, compat_sys_lookup_dcookie)
__SYSCALL(250, sys_epoll_create)
__SYSCALL(251, sys_epoll_ctl)
__SYSCALL(252, sys_epoll_wait)
__SYSCALL(253, sys_remap_file_pages)
__SYSCALL(254, sys_ni_syscall)			/* 254 for set_thread_area */
__SYSCALL(255, sys_ni_syscall)			/* 255 for get_thread_area */
__SYSCALL(256, sys_set_tid_address)
__SYSCALL(257, compat_sys_timer_create)
__SYSCALL(258, compat_sys_timer_settime)
__SYSCALL(259, compat_sys_timer_gettime)
__SYSCALL(260, sys_timer_getoverrun)
__SYSCALL(261, sys_timer_delete)
__SYSCALL(262, compat_sys_clock_settime)
__SYSCALL(263, compat_sys_clock_gettime)
__SYSCALL(264, compat_sys_clock_getres)
__SYSCALL(265, compat_sys_clock_nanosleep)
__SYSCALL(266, compat_sys_statfs64_wrapper)
__SYSCALL(267, compat_sys_fstatfs64_wrapper)
__SYSCALL(268, sys_tgkill)
__SYSCALL(269, compat_sys_utimes)
__SYSCALL(270, compat_sys_fadvise64_64_wrapper)
__SYSCALL(271, sys_pciconfig_iobase)
__SYSCALL(272, sys_pciconfig_read)
__SYSCALL(273, sys_pciconfig_write)
__SYSCALL(274, compat_sys_mq_open)
__SYSCALL(275, sys_mq_unlink)
__SYSCALL(276, compat_sys_mq_timedsend)
__SYSCALL(277, compat_sys_mq_timedreceive)
__SYSCALL(278, compat_sys_mq_notify)
__SYSCALL(279, compat_sys_mq_getsetattr)
__SYSCALL(280, compat_sys_waitid)
__SYSCALL(281, sys_socket)
__SYSCALL(282, sys_bind)
__SYSCALL(283, sys_connect)
__SYSCALL(284, sys_listen)
__SYSCALL(285, sys_accept)
__SYSCALL(286, sys_getsockname)
__SYSCALL(287, sys_getpeername)
__SYSCALL(288, sys_socketpair)
__SYSCALL(289, sys_send)
__SYSCALL(290, sys_sendto)
__SYSCALL(291, compat_sys_recv)
__SYSCALL(292, compat_sys_recvfrom)
__SYSCALL(293, sys_shutdown)
__SYSCALL(294, compat_sys_setsockopt)
__SYSCALL(295, compat_sys_getsockopt)
__SYSCALL(296, compat_sys_sendmsg)
__SYSCALL(297, compat_sys_recvmsg)
__SYSCALL(298, sys_semop)
__SYSCALL(299, sys_semget)
__SYSCALL(300, compat_sys_semctl)
__SYSCALL(301, compat_sys_msgsnd)
__SYSCALL(302, compat_sys_msgrcv)
__SYSCALL(303, sys_msgget)
__SYSCALL(304, compat_sys_msgctl)
__SYSCALL(305, compat_sys_shmat)
__SYSCALL(306, sys_shmdt)
__SYSCALL(307, sys_shmget)
__SYSCALL(308, compat_sys_shmctl)
__SYSCALL(309, sys_add_key)
__SYSCALL(310, sys_request_key)
__SYSCALL(311, compat_sys_keyctl)
__SYSCALL(312, compat_sys_semtimedop)
__SYSCALL(313, sys_ni_syscall)
__SYSCALL(314, sys_ioprio_set)
__SYSCALL(315, sys_ioprio_get)
__SYSCALL(316, sys_inotify_init)
__SYSCALL(317, sys_inotify_add_watch)
__SYSCALL(318, sys_inotify_rm_watch)
__SYSCALL(319, compat_sys_mbind)
__SYSCALL(320, compat_sys_get_mempolicy)
__SYSCALL(321, compat_sys_set_mempolicy)
__SYSCALL(322, compat_sys_openat)
__SYSCALL(323, sys_mkdirat)
__SYSCALL(324, sys_mknodat)
__SYSCALL(325, sys_fchownat)
__SYSCALL(326, compat_sys_futimesat)
__SYSCALL(327, sys_fstatat64)
__SYSCALL(328, sys_unlinkat)
__SYSCALL(329, sys_renameat)
__SYSCALL(330, sys_linkat)
__SYSCALL(331, sys_symlinkat)
__SYSCALL(332, sys_readlinkat)
__SYSCALL(333, sys_fchmodat)
__SYSCALL(334, sys_faccessat)
__SYSCALL(335, compat_sys_pselect6)
__SYSCALL(336, compat_sys_ppoll)
__SYSCALL(337, sys_unshare)
__SYSCALL(338, compat_sys_set_robust_list)
__SYSCALL(339, compat_sys_get_robust_list)
__SYSCALL(340, sys_splice)
__SYSCALL(341, compat_sys_sync_file_range2_wrapper)
__SYSCALL(342, sys_tee)
__SYSCALL(343, compat_sys_vmsplice)
__SYSCALL(344, compat_sys_move_pages)
__SYSCALL(345, sys_getcpu)
__SYSCALL(346, compat_sys_epoll_pwait)
__SYSCALL(347, compat_sys_kexec_load)
__SYSCALL(348, compat_sys_utimensat)
__SYSCALL(349, compat_sys_signalfd)
__SYSCALL(350, sys_timerfd_create)
__SYSCALL(351, sys_eventfd)
__SYSCALL(352, compat_sys_fallocate_wrapper)
__SYSCALL(353, compat_sys_timerfd_settime)
__SYSCALL(354, compat_sys_timerfd_gettime)
__SYSCALL(355, compat_sys_signalfd4)
__SYSCALL(356, sys_eventfd2)
__SYSCALL(357, sys_epoll_create1)
__SYSCALL(358, sys_dup3)
__SYSCALL(359, sys_pipe2)
__SYSCALL(360, sys_inotify_init1)
__SYSCALL(361, compat_sys_preadv)
__SYSCALL(362, compat_sys_pwritev)
__SYSCALL(363, compat_sys_rt_tgsigqueueinfo)
__SYSCALL(364, sys_perf_event_open)
__SYSCALL(365, compat_sys_recvmmsg)
__SYSCALL(366, sys_accept4)
__SYSCALL(367, sys_fanotify_init)
__SYSCALL(368, compat_sys_fanotify_mark_wrapper)
__SYSCALL(369, sys_prlimit64)
__SYSCALL(370, sys_name_to_handle_at)
__SYSCALL(371, sys_open_by_handle_at)
__SYSCALL(372, sys_clock_adjtime)
__SYSCALL(373, sys_syncfs)

#define __NR_compat_syscalls		374

/*
 * Compat syscall numbers used by the AArch64 kernel.
 */
#define __NR_compat_restart_syscall	0
#define __NR_compat_sigreturn		119
#define __NR_compat_rt_sigreturn	173


/*
 * The following SVCs are ARM private.
 */
#define __ARM_NR_COMPAT_BASE		0x0f0000
#define __ARM_NR_compat_cacheflush	(__ARM_NR_COMPAT_BASE+2)
#define __ARM_NR_compat_set_tls		(__ARM_NR_COMPAT_BASE+5)
