/*
 *  linux/arch/arm/kernel/calls.S
 *
 *  Copyright (C) 1995-2005 Russell King
 *
 * 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 file is included thrice in entry-common.S
 */
/* 0 */		CALL(sys_restart_syscall)
		CALL(sys_exit)
		CALL(sys_fork_wrapper)
		CALL(sys_read)
		CALL(sys_write)
/* 5 */		CALL(sys_open)
		CALL(sys_close)
		CALL(sys_ni_syscall)		/* was sys_waitpid */
		CALL(sys_creat)
		CALL(sys_link)
/* 10 */	CALL(sys_unlink)
		CALL(sys_execve_wrapper)
		CALL(sys_chdir)
		CALL(OBSOLETE(sys_time))	/* used by libc4 */
		CALL(sys_mknod)
/* 15 */	CALL(sys_chmod)
		CALL(sys_lchown16)
		CALL(sys_ni_syscall)		/* was sys_break */
		CALL(sys_ni_syscall)		/* was sys_stat */
		CALL(sys_lseek)
/* 20 */	CALL(sys_getpid)
		CALL(sys_mount)
		CALL(OBSOLETE(sys_oldumount))	/* used by libc4 */
		CALL(sys_setuid16)
		CALL(sys_getuid16)
/* 25 */	CALL(OBSOLETE(sys_stime))
		CALL(sys_ptrace)
		CALL(OBSOLETE(sys_alarm))	/* used by libc4 */
		CALL(sys_ni_syscall)		/* was sys_fstat */
		CALL(sys_pause)
/* 30 */	CALL(OBSOLETE(sys_utime))	/* used by libc4 */
		CALL(sys_ni_syscall)		/* was sys_stty */
		CALL(sys_ni_syscall)		/* was sys_getty */
		CALL(sys_access)
		CALL(sys_nice)
/* 35 */	CALL(sys_ni_syscall)		/* was sys_ftime */
		CALL(sys_sync)
		CALL(sys_kill)
		CALL(sys_rename)
		CALL(sys_mkdir)
/* 40 */	CALL(sys_rmdir)
		CALL(sys_dup)
		CALL(sys_pipe)
		CALL(sys_times)
		CALL(sys_ni_syscall)		/* was sys_prof */
/* 45 */	CALL(sys_brk)
		CALL(sys_setgid16)
		CALL(sys_getgid16)
		CALL(sys_ni_syscall)		/* was sys_signal */
		CALL(sys_geteuid16)
/* 50 */	CALL(sys_getegid16)
		CALL(sys_acct)
		CALL(sys_umount)
		CALL(sys_ni_syscall)		/* was sys_lock */
		CALL(sys_ioctl)
/* 55 */	CALL(sys_fcntl)
		CALL(sys_ni_syscall)		/* was sys_mpx */
		CALL(sys_setpgid)
		CALL(sys_ni_syscall)		/* was sys_ulimit */
		CALL(sys_ni_syscall)		/* was sys_olduname */
/* 60 */	CALL(sys_umask)
		CALL(sys_chroot)
		CALL(sys_ustat)
		CALL(sys_dup2)
		CALL(sys_getppid)
/* 65 */	CALL(sys_getpgrp)
		CALL(sys_setsid)
		CALL(sys_sigaction)
		CALL(sys_ni_syscall)		/* was sys_sgetmask */
		CALL(sys_ni_syscall)		/* was sys_ssetmask */
/* 70 */	CALL(sys_setreuid16)
		CALL(sys_setregid16)
		CALL(sys_sigsuspend_wrapper)
		CALL(sys_sigpending)
		CALL(sys_sethostname)
/* 75 */	CALL(sys_setrlimit)
		CALL(OBSOLETE(sys_old_getrlimit)) /* used by libc4 */
		CALL(sys_getrusage)
		CALL(sys_gettimeofday)
		CALL(sys_settimeofday)
/* 80 */	CALL(sys_getgroups16)
		CALL(sys_setgroups16)
		CALL(OBSOLETE(old_select))	/* used by libc4 */
		CALL(sys_symlink)
		CALL(sys_ni_syscall)		/* was sys_lstat */
/* 85 */	CALL(sys_readlink)
		CALL(sys_uselib)
		CALL(sys_swapon)
		CALL(sys_reboot)
		CALL(OBSOLETE(old_readdir))	/* used by libc4 */
/* 90 */	CALL(OBSOLETE(old_mmap))	/* used by libc4 */
		CALL(sys_munmap)
		CALL(sys_truncate)
		CALL(sys_ftruncate)
		CALL(sys_fchmod)
/* 95 */	CALL(sys_fchown16)
		CALL(sys_getpriority)
		CALL(sys_setpriority)
		CALL(sys_ni_syscall)		/* was sys_profil */
		CALL(sys_statfs)
/* 100 */	CALL(sys_fstatfs)
		CALL(sys_ni_syscall)
		CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall)))
		CALL(sys_syslog)
		CALL(sys_setitimer)
/* 105 */	CALL(sys_getitimer)
		CALL(sys_newstat)
		CALL(sys_newlstat)
		CALL(sys_newfstat)
		CALL(sys_ni_syscall)		/* was sys_uname */
/* 110 */	CALL(sys_ni_syscall)		/* was sys_iopl */
		CALL(sys_vhangup)
		CALL(sys_ni_syscall)
		CALL(OBSOLETE(sys_syscall))	/* call a syscall */
		CALL(sys_wait4)
/* 115 */	CALL(sys_swapoff)
		CALL(sys_sysinfo)
		CALL(OBSOLETE(ABI(sys_ipc, sys_oabi_ipc)))
		CALL(sys_fsync)
		CALL(sys_sigreturn_wrapper)
/* 120 */	CALL(sys_clone_wrapper)
		CALL(sys_setdomainname)
		CALL(sys_newuname)
		CALL(sys_ni_syscall)
		CALL(sys_adjtimex)
/* 125 */	CALL(sys_mprotect)
		CALL(sys_sigprocmask)
		CALL(sys_ni_syscall)		/* was sys_create_module */
		CALL(sys_init_module)
		CALL(sys_delete_module)
/* 130 */	CALL(sys_ni_syscall)		/* was sys_get_kernel_syms */
		CALL(sys_quotactl)
		CALL(sys_getpgid)
		CALL(sys_fchdir)
		CALL(sys_bdflush)
/* 135 */	CALL(sys_sysfs)
		CALL(sys_personality)
		CALL(sys_ni_syscall)		/* CALL(_sys_afs_syscall) */
		CALL(sys_setfsuid16)
		CALL(sys_setfsgid16)
/* 140 */	CALL(sys_llseek)
		CALL(sys_getdents)
		CALL(sys_select)
		CALL(sys_flock)
		CALL(sys_msync)
/* 145 */	CALL(sys_readv)
		CALL(sys_writev)
		CALL(sys_getsid)
		CALL(sys_fdatasync)
		CALL(sys_sysctl)
/* 150 */	CALL(sys_mlock)
		CALL(sys_munlock)
		CALL(sys_mlockall)
		CALL(sys_munlockall)
		CALL(sys_sched_setparam)
/* 155 */	CALL(sys_sched_getparam)
		CALL(sys_sched_setscheduler)
		CALL(sys_sched_getscheduler)
		CALL(sys_sched_yield)
		CALL(sys_sched_get_priority_max)
/* 160 */	CALL(sys_sched_get_priority_min)
		CALL(sys_sched_rr_get_interval)
		CALL(sys_nanosleep)
		CALL(sys_arm_mremap)
		CALL(sys_setresuid16)
/* 165 */	CALL(sys_getresuid16)
		CALL(sys_ni_syscall)
		CALL(sys_ni_syscall)		/* was sys_query_module */
		CALL(sys_poll)
		CALL(sys_nfsservctl)
/* 170 */	CALL(sys_setresgid16)
		CALL(sys_getresgid16)
		CALL(sys_prctl)
		CALL(sys_rt_sigreturn_wrapper)
		CALL(sys_rt_sigaction)
/* 175 */	CALL(sys_rt_sigprocmask)
		CALL(sys_rt_sigpending)
		CALL(sys_rt_sigtimedwait)
		CALL(sys_rt_sigqueueinfo)
		CALL(sys_rt_sigsuspend_wrapper)
/* 180 */	CALL(ABI(sys_pread64, sys_oabi_pread64))
		CALL(ABI(sys_pwrite64, sys_oabi_pwrite64))
		CALL(sys_chown16)
		CALL(sys_getcwd)
		CALL(sys_capget)
/* 185 */	CALL(sys_capset)
		CALL(sys_sigaltstack_wrapper)
		CALL(sys_sendfile)
		CALL(sys_ni_syscall)
		CALL(sys_ni_syscall)
/* 190 */	CALL(sys_vfork_wrapper)
		CALL(sys_getrlimit)
		CALL(sys_mmap2)
		CALL(ABI(sys_truncate64, sys_oabi_truncate64))
		CALL(ABI(sys_ftruncate64, sys_oabi_ftruncate64))
/* 195 */	CALL(ABI(sys_stat64, sys_oabi_stat64))
		CALL(ABI(sys_lstat64, sys_oabi_lstat64))
		CALL(ABI(sys_fstat64, sys_oabi_fstat64))
		CALL(sys_lchown)
		CALL(sys_getuid)
/* 200 */	CALL(sys_getgid)
		CALL(sys_geteuid)
		CALL(sys_getegid)
		CALL(sys_setreuid)
		CALL(sys_setregid)
/* 205 */	CALL(sys_getgroups)
		CALL(sys_setgroups)
		CALL(sys_fchown)
		CALL(sys_setresuid)
		CALL(sys_getresuid)
/* 210 */	CALL(sys_setresgid)
		CALL(sys_getresgid)
		CALL(sys_chown)
		CALL(sys_setuid)
		CALL(sys_setgid)
/* 215 */	CALL(sys_setfsuid)
		CALL(sys_setfsgid)
		CALL(sys_getdents64)
		CALL(sys_pivot_root)
		CALL(sys_mincore)
/* 220 */	CALL(sys_madvise)
		CALL(ABI(sys_fcntl64, sys_oabi_fcntl64))
		CALL(sys_ni_syscall) /* TUX */
		CALL(sys_ni_syscall)
		CALL(sys_gettid)
/* 225 */	CALL(ABI(sys_readahead, sys_oabi_readahead))
		CALL(sys_setxattr)
		CALL(sys_lsetxattr)
		CALL(sys_fsetxattr)
		CALL(sys_getxattr)
/* 230 */	CALL(sys_lgetxattr)
		CALL(sys_fgetxattr)
		CALL(sys_listxattr)
		CALL(sys_llistxattr)
		CALL(sys_flistxattr)
/* 235 */	CALL(sys_removexattr)
		CALL(sys_lremovexattr)
		CALL(sys_fremovexattr)
		CALL(sys_tkill)
		CALL(sys_sendfile64)
/* 240 */	CALL(sys_futex)
		CALL(sys_sched_setaffinity)
		CALL(sys_sched_getaffinity)
		CALL(sys_io_setup)
		CALL(sys_io_destroy)
/* 245 */	CALL(sys_io_getevents)
		CALL(sys_io_submit)
		CALL(sys_io_cancel)
		CALL(sys_exit_group)
		CALL(sys_lookup_dcookie)
/* 250 */	CALL(sys_epoll_create)
		CALL(ABI(sys_epoll_ctl, sys_oabi_epoll_ctl))
		CALL(ABI(sys_epoll_wait, sys_oabi_epoll_wait))
	 	CALL(sys_remap_file_pages)
		CALL(sys_ni_syscall)	/* sys_set_thread_area */
/* 255 */	CALL(sys_ni_syscall)	/* sys_get_thread_area */
 		CALL(sys_set_tid_address)
		CALL(sys_timer_create)
		CALL(sys_timer_settime)
		CALL(sys_timer_gettime)
/* 260 */	CALL(sys_timer_getoverrun)
		CALL(sys_timer_delete)
		CALL(sys_clock_settime)
		CALL(sys_clock_gettime)
		CALL(sys_clock_getres)
/* 265 */	CALL(sys_clock_nanosleep)
		CALL(sys_statfs64_wrapper)
		CALL(sys_fstatfs64_wrapper)
		CALL(sys_tgkill)
		CALL(sys_utimes)
/* 270 */	CALL(sys_arm_fadvise64_64)
		CALL(sys_pciconfig_iobase)
		CALL(sys_pciconfig_read)
		CALL(sys_pciconfig_write)
		CALL(sys_mq_open)
/* 275 */	CALL(sys_mq_unlink)
		CALL(sys_mq_timedsend)
		CALL(sys_mq_timedreceive)
		CALL(sys_mq_notify)
		CALL(sys_mq_getsetattr)
/* 280 */	CALL(sys_waitid)
		CALL(sys_socket)
		CALL(ABI(sys_bind, sys_oabi_bind))
		CALL(ABI(sys_connect, sys_oabi_connect))
		CALL(sys_listen)
/* 285 */	CALL(sys_accept)
		CALL(sys_getsockname)
		CALL(sys_getpeername)
		CALL(sys_socketpair)
		CALL(sys_send)
/* 290 */	CALL(ABI(sys_sendto, sys_oabi_sendto))
		CALL(sys_recv)
		CALL(sys_recvfrom)
		CALL(sys_shutdown)
		CALL(sys_setsockopt)
/* 295 */	CALL(sys_getsockopt)
		CALL(ABI(sys_sendmsg, sys_oabi_sendmsg))
		CALL(sys_recvmsg)
		CALL(ABI(sys_semop, sys_oabi_semop))
		CALL(sys_semget)
/* 300 */	CALL(sys_semctl)
		CALL(sys_msgsnd)
		CALL(sys_msgrcv)
		CALL(sys_msgget)
		CALL(sys_msgctl)
/* 305 */	CALL(sys_shmat)
		CALL(sys_shmdt)
		CALL(sys_shmget)
		CALL(sys_shmctl)
		CALL(sys_add_key)
/* 310 */	CALL(sys_request_key)
		CALL(sys_keyctl)
		CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
/* vserver */	CALL(sys_ni_syscall)
		CALL(sys_ioprio_set)
/* 315 */	CALL(sys_ioprio_get)
		CALL(sys_inotify_init)
		CALL(sys_inotify_add_watch)
		CALL(sys_inotify_rm_watch)
		CALL(sys_mbind)
/* 320 */	CALL(sys_get_mempolicy)
		CALL(sys_set_mempolicy)
#ifndef syscalls_counted
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
#define syscalls_counted
#endif
.rept syscalls_padding
		CALL(sys_ni_syscall)
.endr
