| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * This file is subject to the terms and conditions of the GNU General Public | 
 | 3 |  * License.  See the file "COPYING" in the main directory of this archive | 
 | 4 |  * for more details. | 
 | 5 |  * | 
 | 6 |  * Copyright (C) 1995, 96, 97, 98, 99, 2000, 01 by Ralf Baechle | 
 | 7 |  * Copyright (C) 1999, 2000 Silicon Graphics, Inc. | 
 | 8 |  * Copyright (C) 2001 MIPS Technologies, Inc. | 
 | 9 |  */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | #include <linux/errno.h> | 
 | 11 | #include <asm/asm.h> | 
 | 12 | #include <asm/asmmacro.h> | 
| Ralf Baechle | 192ef36 | 2006-07-07 14:07:18 +0100 | [diff] [blame] | 13 | #include <asm/irqflags.h> | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | #include <asm/mipsregs.h> | 
 | 15 | #include <asm/regdef.h> | 
 | 16 | #include <asm/stackframe.h> | 
 | 17 | #include <asm/thread_info.h> | 
 | 18 | #include <asm/unistd.h> | 
 | 19 |  | 
 | 20 | /* This duplicates the definition from <linux/sched.h> */ | 
 | 21 | #define PT_TRACESYS	0x00000002	/* tracing system calls */ | 
 | 22 |  | 
 | 23 | /* This duplicates the definition from <asm/signal.h> */ | 
 | 24 | #define SIGILL		4		/* Illegal instruction (ANSI).  */ | 
 | 25 |  | 
 | 26 | #ifndef CONFIG_MIPS32_O32 | 
 | 27 | /* No O32, so define handle_sys here */ | 
 | 28 | #define handle_sysn32 handle_sys | 
 | 29 | #endif | 
 | 30 |  | 
 | 31 | 	.align  5 | 
 | 32 | NESTED(handle_sysn32, PT_SIZE, sp) | 
 | 33 | #ifndef CONFIG_MIPS32_O32 | 
 | 34 | 	.set	noat | 
 | 35 | 	SAVE_SOME | 
| Atsushi Nemoto | eae6c0d | 2006-09-26 23:43:40 +0900 | [diff] [blame] | 36 | 	TRACE_IRQS_ON_RELOAD | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | 	STI | 
 | 38 | 	.set	at | 
 | 39 | #endif | 
 | 40 |  | 
 | 41 | 	dsubu	t0, v0, __NR_N32_Linux	# check syscall number | 
 | 42 | 	sltiu	t0, t0,	__NR_N32_Linux_syscalls + 1 | 
 | 43 |  | 
 | 44 | #ifndef CONFIG_MIPS32_O32 | 
 | 45 | 	ld	t1, PT_EPC(sp)		# skip syscall on return | 
 | 46 | 	daddiu	t1, 4			# skip to next instruction | 
 | 47 | 	sd	t1, PT_EPC(sp) | 
 | 48 | #endif | 
 | 49 | 	beqz	t0, not_n32_scall | 
 | 50 |  | 
 | 51 | 	dsll	t0, v0, 3		# offset into table | 
 | 52 | 	ld	t2, (sysn32_call_table - (__NR_N32_Linux * 8))(t0) | 
 | 53 |  | 
 | 54 | 	sd	a3, PT_R26(sp)		# save a3 for syscall restarting | 
 | 55 |  | 
 | 56 | 	li	t1, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | 
 | 57 | 	LONG_L	t0, TI_FLAGS($28)	# syscall tracing enabled? | 
 | 58 | 	and	t0, t1, t0 | 
 | 59 | 	bnez	t0, n32_syscall_trace_entry | 
 | 60 |  | 
 | 61 | 	jalr	t2			# Do The Real Thing (TM) | 
 | 62 |  | 
 | 63 | 	li	t0, -EMAXERRNO - 1	# error? | 
 | 64 | 	sltu	t0, t0, v0 | 
 | 65 | 	sd	t0, PT_R7(sp)		# set error flag | 
 | 66 | 	beqz	t0, 1f | 
 | 67 |  | 
 | 68 | 	dnegu	v0			# error | 
 | 69 | 	sd	v0, PT_R0(sp)		# set flag for syscall restarting | 
 | 70 | 1:	sd	v0, PT_R2(sp)		# result | 
 | 71 |  | 
 | 72 | 	local_irq_disable		# make sure need_resched and | 
 | 73 | 					# signals dont change between | 
 | 74 | 					# sampling and return | 
 | 75 | 	LONG_L  a2, TI_FLAGS($28)	# current->work | 
 | 76 | 	li	t0, _TIF_ALLWORK_MASK | 
 | 77 | 	and	t0, a2, t0 | 
 | 78 | 	bnez	t0, n32_syscall_exit_work | 
 | 79 |  | 
 | 80 | 	j	restore_partial | 
 | 81 |  | 
 | 82 | n32_syscall_exit_work: | 
 | 83 | 	j	syscall_exit_work_partial | 
 | 84 |  | 
 | 85 | /* ------------------------------------------------------------------------ */ | 
 | 86 |  | 
 | 87 | n32_syscall_trace_entry: | 
 | 88 | 	SAVE_STATIC | 
 | 89 | 	move	s0, t2 | 
 | 90 | 	move	a0, sp | 
 | 91 | 	li	a1, 0 | 
 | 92 | 	jal	do_syscall_trace | 
 | 93 |  | 
| Ralf Baechle | 04a7052 | 2005-11-30 16:24:57 +0000 | [diff] [blame] | 94 | 	move	t0, s0 | 
 | 95 | 	RESTORE_STATIC | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 96 | 	ld	a0, PT_R4(sp)		# Restore argument registers | 
 | 97 | 	ld	a1, PT_R5(sp) | 
 | 98 | 	ld	a2, PT_R6(sp) | 
 | 99 | 	ld	a3, PT_R7(sp) | 
 | 100 | 	ld	a4, PT_R8(sp) | 
 | 101 | 	ld	a5, PT_R9(sp) | 
| Ralf Baechle | 04a7052 | 2005-11-30 16:24:57 +0000 | [diff] [blame] | 102 | 	jalr	t0 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 103 |  | 
 | 104 | 	li	t0, -EMAXERRNO - 1	# error? | 
 | 105 | 	sltu	t0, t0, v0 | 
 | 106 | 	sd	t0, PT_R7(sp)		# set error flag | 
 | 107 | 	beqz	t0, 1f | 
 | 108 |  | 
 | 109 | 	dnegu	v0			# error | 
 | 110 | 	sd	v0, PT_R0(sp)		# set flag for syscall restarting | 
 | 111 | 1:	sd	v0, PT_R2(sp)		# result | 
 | 112 |  | 
 | 113 | 	j	syscall_exit | 
 | 114 |  | 
 | 115 | not_n32_scall: | 
 | 116 | 	/* This is not an n32 compatibility syscall, pass it on to | 
 | 117 | 	   the n64 syscall handlers.  */ | 
 | 118 | 	j	handle_sys64 | 
 | 119 |  | 
 | 120 | 	END(handle_sysn32) | 
 | 121 |  | 
 | 122 | EXPORT(sysn32_call_table) | 
 | 123 | 	PTR	sys_read			/* 6000 */ | 
 | 124 | 	PTR	sys_write | 
 | 125 | 	PTR	sys_open | 
 | 126 | 	PTR	sys_close | 
 | 127 | 	PTR	sys_newstat | 
 | 128 | 	PTR	sys_newfstat			/* 6005 */ | 
 | 129 | 	PTR	sys_newlstat | 
 | 130 | 	PTR	sys_poll | 
 | 131 | 	PTR	sys_lseek | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 132 | 	PTR	sys_mips_mmap | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 133 | 	PTR	sys_mprotect			/* 6010 */ | 
 | 134 | 	PTR	sys_munmap | 
 | 135 | 	PTR	sys_brk | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 136 | 	PTR	sys_32_rt_sigaction | 
 | 137 | 	PTR	sys_32_rt_sigprocmask | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 138 | 	PTR	compat_sys_ioctl		/* 6015 */ | 
 | 139 | 	PTR	sys_pread64 | 
 | 140 | 	PTR	sys_pwrite64 | 
 | 141 | 	PTR	compat_sys_readv | 
 | 142 | 	PTR	compat_sys_writev | 
 | 143 | 	PTR	sys_access			/* 6020 */ | 
| Ralf Baechle | 8213bbf | 2008-07-20 13:16:46 +0100 | [diff] [blame] | 144 | 	PTR	sysm_pipe | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 145 | 	PTR	compat_sys_select | 
 | 146 | 	PTR	sys_sched_yield | 
 | 147 | 	PTR	sys_mremap | 
 | 148 | 	PTR	sys_msync			/* 6025 */ | 
 | 149 | 	PTR	sys_mincore | 
 | 150 | 	PTR	sys_madvise | 
 | 151 | 	PTR	sys_shmget | 
| Atsushi Nemoto | 05e4396 | 2006-11-07 18:02:44 +0900 | [diff] [blame] | 152 | 	PTR	sys_shmat | 
 | 153 | 	PTR	compat_sys_shmctl			/* 6030 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 154 | 	PTR	sys_dup | 
 | 155 | 	PTR	sys_dup2 | 
 | 156 | 	PTR	sys_pause | 
 | 157 | 	PTR	compat_sys_nanosleep | 
 | 158 | 	PTR	compat_sys_getitimer		/* 6035 */ | 
 | 159 | 	PTR	compat_sys_setitimer | 
 | 160 | 	PTR	sys_alarm | 
 | 161 | 	PTR	sys_getpid | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 162 | 	PTR	sys_32_sendfile | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 163 | 	PTR	sys_socket			/* 6040 */ | 
 | 164 | 	PTR	sys_connect | 
 | 165 | 	PTR	sys_accept | 
 | 166 | 	PTR	sys_sendto | 
| Johannes Berg | 1dacc76 | 2009-07-01 11:26:02 +0000 | [diff] [blame] | 167 | 	PTR	compat_sys_recvfrom | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 168 | 	PTR	compat_sys_sendmsg		/* 6045 */ | 
 | 169 | 	PTR	compat_sys_recvmsg | 
 | 170 | 	PTR	sys_shutdown | 
 | 171 | 	PTR	sys_bind | 
 | 172 | 	PTR	sys_listen | 
 | 173 | 	PTR	sys_getsockname			/* 6050 */ | 
 | 174 | 	PTR	sys_getpeername | 
 | 175 | 	PTR	sys_socketpair | 
 | 176 | 	PTR	compat_sys_setsockopt | 
 | 177 | 	PTR	sys_getsockopt | 
 | 178 | 	PTR	sys_clone			/* 6055 */ | 
 | 179 | 	PTR	sys_fork | 
 | 180 | 	PTR	sys32_execve | 
 | 181 | 	PTR	sys_exit | 
| Ralf Baechle | b6e203d | 2005-02-16 21:18:52 +0000 | [diff] [blame] | 182 | 	PTR	compat_sys_wait4 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 183 | 	PTR	sys_kill			/* 6060 */ | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 184 | 	PTR	sys_32_newuname | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 185 | 	PTR	sys_semget | 
 | 186 | 	PTR	sys_semop | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 187 | 	PTR	sys_n32_semctl | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 188 | 	PTR	sys_shmdt			/* 6065 */ | 
 | 189 | 	PTR	sys_msgget | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 190 | 	PTR	sys_n32_msgsnd | 
 | 191 | 	PTR	sys_n32_msgrcv | 
| Atsushi Nemoto | 05e4396 | 2006-11-07 18:02:44 +0900 | [diff] [blame] | 192 | 	PTR	compat_sys_msgctl | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 193 | 	PTR	compat_sys_fcntl		/* 6070 */ | 
 | 194 | 	PTR	sys_flock | 
 | 195 | 	PTR	sys_fsync | 
 | 196 | 	PTR	sys_fdatasync | 
 | 197 | 	PTR	sys_truncate | 
 | 198 | 	PTR	sys_ftruncate			/* 6075 */ | 
| Atsushi Nemoto | 2fd628f | 2006-02-21 15:59:00 +0900 | [diff] [blame] | 199 | 	PTR	compat_sys_getdents | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 200 | 	PTR	sys_getcwd | 
 | 201 | 	PTR	sys_chdir | 
 | 202 | 	PTR	sys_fchdir | 
 | 203 | 	PTR	sys_rename			/* 6080 */ | 
 | 204 | 	PTR	sys_mkdir | 
 | 205 | 	PTR	sys_rmdir | 
 | 206 | 	PTR	sys_creat | 
 | 207 | 	PTR	sys_link | 
 | 208 | 	PTR	sys_unlink			/* 6085 */ | 
 | 209 | 	PTR	sys_symlink | 
 | 210 | 	PTR	sys_readlink | 
 | 211 | 	PTR	sys_chmod | 
 | 212 | 	PTR	sys_fchmod | 
 | 213 | 	PTR	sys_chown			/* 6090 */ | 
 | 214 | 	PTR	sys_fchown | 
 | 215 | 	PTR	sys_lchown | 
 | 216 | 	PTR	sys_umask | 
| Christoph Hellwig | b418da1 | 2008-10-15 22:02:06 -0700 | [diff] [blame] | 217 | 	PTR	compat_sys_gettimeofday | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 218 | 	PTR	compat_sys_getrlimit		/* 6095 */ | 
 | 219 | 	PTR	compat_sys_getrusage | 
| Kyle McMartin | d4d23ad | 2007-02-10 01:46:00 -0800 | [diff] [blame] | 220 | 	PTR	compat_sys_sysinfo | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 221 | 	PTR	compat_sys_times | 
| Thomas Bogendoerfer | 5d9a76c | 2008-08-17 16:49:25 +0200 | [diff] [blame] | 222 | 	PTR	compat_sys_ptrace | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 223 | 	PTR	sys_getuid			/* 6100 */ | 
 | 224 | 	PTR	sys_syslog | 
 | 225 | 	PTR	sys_getgid | 
 | 226 | 	PTR	sys_setuid | 
 | 227 | 	PTR	sys_setgid | 
 | 228 | 	PTR	sys_geteuid			/* 6105 */ | 
 | 229 | 	PTR	sys_getegid | 
 | 230 | 	PTR	sys_setpgid | 
 | 231 | 	PTR	sys_getppid | 
 | 232 | 	PTR	sys_getpgrp | 
 | 233 | 	PTR	sys_setsid			/* 6110 */ | 
 | 234 | 	PTR	sys_setreuid | 
 | 235 | 	PTR	sys_setregid | 
 | 236 | 	PTR	sys_getgroups | 
 | 237 | 	PTR	sys_setgroups | 
 | 238 | 	PTR	sys_setresuid			/* 6115 */ | 
 | 239 | 	PTR	sys_getresuid | 
 | 240 | 	PTR	sys_setresgid | 
 | 241 | 	PTR	sys_getresgid | 
 | 242 | 	PTR	sys_getpgid | 
 | 243 | 	PTR	sys_setfsuid			/* 6120 */ | 
 | 244 | 	PTR	sys_setfsgid | 
 | 245 | 	PTR	sys_getsid | 
 | 246 | 	PTR	sys_capget | 
 | 247 | 	PTR	sys_capset | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 248 | 	PTR	sys_32_rt_sigpending		/* 6125 */ | 
| Ralf Baechle | 82ad93f | 2006-02-18 22:47:26 +0000 | [diff] [blame] | 249 | 	PTR	compat_sys_rt_sigtimedwait | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 250 | 	PTR	sys_32_rt_sigqueueinfo | 
| Ralf Baechle | 82ad93f | 2006-02-18 22:47:26 +0000 | [diff] [blame] | 251 | 	PTR	sysn32_rt_sigsuspend | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 252 | 	PTR	sys32_sigaltstack | 
 | 253 | 	PTR	compat_sys_utime		/* 6130 */ | 
 | 254 | 	PTR	sys_mknod | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 255 | 	PTR	sys_32_personality | 
| Christoph Hellwig | 2b1c6bd | 2008-11-28 10:09:09 +0100 | [diff] [blame] | 256 | 	PTR	compat_sys_ustat | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 257 | 	PTR	compat_sys_statfs | 
 | 258 | 	PTR	compat_sys_fstatfs		/* 6135 */ | 
 | 259 | 	PTR	sys_sysfs | 
 | 260 | 	PTR	sys_getpriority | 
 | 261 | 	PTR	sys_setpriority | 
 | 262 | 	PTR	sys_sched_setparam | 
 | 263 | 	PTR	sys_sched_getparam		/* 6140 */ | 
 | 264 | 	PTR	sys_sched_setscheduler | 
 | 265 | 	PTR	sys_sched_getscheduler | 
 | 266 | 	PTR	sys_sched_get_priority_max | 
 | 267 | 	PTR	sys_sched_get_priority_min | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 268 | 	PTR	sys_32_sched_rr_get_interval	/* 6145 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 269 | 	PTR	sys_mlock | 
 | 270 | 	PTR	sys_munlock | 
 | 271 | 	PTR	sys_mlockall | 
 | 272 | 	PTR	sys_munlockall | 
 | 273 | 	PTR	sys_vhangup			/* 6150 */ | 
 | 274 | 	PTR	sys_pivot_root | 
| Ralf Baechle | dbda6ac | 2009-02-08 16:00:26 +0000 | [diff] [blame] | 275 | 	PTR	sys_32_sysctl | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 276 | 	PTR	sys_prctl | 
| Stephen Rothwell | 3158e94 | 2006-03-26 01:37:29 -0800 | [diff] [blame] | 277 | 	PTR	compat_sys_adjtimex | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 278 | 	PTR	compat_sys_setrlimit		/* 6155 */ | 
 | 279 | 	PTR	sys_chroot | 
 | 280 | 	PTR	sys_sync | 
 | 281 | 	PTR	sys_acct | 
| Christoph Hellwig | b418da1 | 2008-10-15 22:02:06 -0700 | [diff] [blame] | 282 | 	PTR	compat_sys_settimeofday | 
| Ralf Baechle | 089c7e7 | 2006-10-16 16:49:37 +0100 | [diff] [blame] | 283 | 	PTR	compat_sys_mount		/* 6160 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 284 | 	PTR	sys_umount | 
 | 285 | 	PTR	sys_swapon | 
 | 286 | 	PTR	sys_swapoff | 
 | 287 | 	PTR	sys_reboot | 
 | 288 | 	PTR	sys_sethostname			/* 6165 */ | 
 | 289 | 	PTR	sys_setdomainname | 
 | 290 | 	PTR	sys_ni_syscall			/* was create_module */ | 
 | 291 | 	PTR	sys_init_module | 
 | 292 | 	PTR	sys_delete_module | 
 | 293 | 	PTR	sys_ni_syscall			/* 6170, was get_kernel_syms */ | 
 | 294 | 	PTR	sys_ni_syscall			/* was query_module */ | 
 | 295 | 	PTR	sys_quotactl | 
| Ralf Baechle | 72e5106 | 2007-11-15 22:20:33 +0000 | [diff] [blame] | 296 | 	PTR	compat_sys_nfsservctl | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 297 | 	PTR	sys_ni_syscall			/* res. for getpmsg */ | 
 | 298 | 	PTR	sys_ni_syscall			/* 6175  for putpmsg */ | 
 | 299 | 	PTR	sys_ni_syscall			/* res. for afs_syscall */ | 
 | 300 | 	PTR	sys_ni_syscall			/* res. for security */ | 
 | 301 | 	PTR	sys_gettid | 
| Atsushi Nemoto | 8676d2e | 2007-05-18 00:46:13 +0900 | [diff] [blame] | 302 | 	PTR	sys_readahead | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 303 | 	PTR	sys_setxattr			/* 6180 */ | 
 | 304 | 	PTR	sys_lsetxattr | 
 | 305 | 	PTR	sys_fsetxattr | 
 | 306 | 	PTR	sys_getxattr | 
 | 307 | 	PTR	sys_lgetxattr | 
 | 308 | 	PTR	sys_fgetxattr			/* 6185 */ | 
 | 309 | 	PTR	sys_listxattr | 
 | 310 | 	PTR	sys_llistxattr | 
 | 311 | 	PTR	sys_flistxattr | 
 | 312 | 	PTR	sys_removexattr | 
 | 313 | 	PTR	sys_lremovexattr		/* 6190 */ | 
 | 314 | 	PTR	sys_fremovexattr | 
 | 315 | 	PTR	sys_tkill | 
 | 316 | 	PTR	sys_ni_syscall | 
 | 317 | 	PTR	compat_sys_futex | 
 | 318 | 	PTR	compat_sys_sched_setaffinity	/* 6195 */ | 
 | 319 | 	PTR	compat_sys_sched_getaffinity | 
 | 320 | 	PTR	sys_cacheflush | 
 | 321 | 	PTR	sys_cachectl | 
 | 322 | 	PTR	sys_sysmips | 
 | 323 | 	PTR	sys_io_setup			/* 6200 */ | 
 | 324 | 	PTR	sys_io_destroy | 
 | 325 | 	PTR	sys_io_getevents | 
 | 326 | 	PTR	sys_io_submit | 
 | 327 | 	PTR	sys_io_cancel | 
 | 328 | 	PTR	sys_exit_group			/* 6205 */ | 
 | 329 | 	PTR	sys_lookup_dcookie | 
 | 330 | 	PTR	sys_epoll_create | 
 | 331 | 	PTR	sys_epoll_ctl | 
 | 332 | 	PTR	sys_epoll_wait | 
 | 333 | 	PTR	sys_remap_file_pages		/* 6210 */ | 
 | 334 | 	PTR	sysn32_rt_sigreturn | 
| Thiemo Seufer | 589391a | 2005-04-13 09:11:22 +0000 | [diff] [blame] | 335 | 	PTR	compat_sys_fcntl64 | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 336 | 	PTR	sys_set_tid_address | 
 | 337 | 	PTR	sys_restart_syscall | 
| Atsushi Nemoto | 05e4396 | 2006-11-07 18:02:44 +0900 | [diff] [blame] | 338 | 	PTR	compat_sys_semtimedop			/* 6215 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 339 | 	PTR	sys_fadvise64_64 | 
 | 340 | 	PTR	compat_sys_statfs64 | 
 | 341 | 	PTR	compat_sys_fstatfs64 | 
 | 342 | 	PTR	sys_sendfile64 | 
| Ralf Baechle | 821d313 | 2007-02-27 01:21:17 +0000 | [diff] [blame] | 343 | 	PTR	compat_sys_timer_create		/* 6220 */ | 
| Ralf Baechle | d1abb6a | 2005-02-16 21:25:03 +0000 | [diff] [blame] | 344 | 	PTR	compat_sys_timer_settime | 
 | 345 | 	PTR	compat_sys_timer_gettime | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 346 | 	PTR	sys_timer_getoverrun | 
 | 347 | 	PTR	sys_timer_delete | 
| Ralf Baechle | d1abb6a | 2005-02-16 21:25:03 +0000 | [diff] [blame] | 348 | 	PTR	compat_sys_clock_settime		/* 6225 */ | 
 | 349 | 	PTR	compat_sys_clock_gettime | 
 | 350 | 	PTR	compat_sys_clock_getres | 
 | 351 | 	PTR	compat_sys_clock_nanosleep | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 352 | 	PTR	sys_tgkill | 
 | 353 | 	PTR	compat_sys_utimes		/* 6230 */ | 
 | 354 | 	PTR	sys_ni_syscall			/* sys_mbind */ | 
 | 355 | 	PTR	sys_ni_syscall			/* sys_get_mempolicy */ | 
 | 356 | 	PTR	sys_ni_syscall			/* sys_set_mempolicy */ | 
 | 357 | 	PTR	compat_sys_mq_open | 
 | 358 | 	PTR	sys_mq_unlink			/* 6235 */ | 
 | 359 | 	PTR	compat_sys_mq_timedsend | 
 | 360 | 	PTR	compat_sys_mq_timedreceive | 
 | 361 | 	PTR	compat_sys_mq_notify | 
 | 362 | 	PTR	compat_sys_mq_getsetattr | 
 | 363 | 	PTR	sys_ni_syscall			/* 6240, sys_vserver */ | 
| Ralf Baechle | 440537e | 2007-02-27 00:56:37 +0000 | [diff] [blame] | 364 | 	PTR	compat_sys_waitid | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 365 | 	PTR	sys_ni_syscall			/* available, was setaltroot */ | 
 | 366 | 	PTR	sys_add_key | 
 | 367 | 	PTR	sys_request_key | 
 | 368 | 	PTR	sys_keyctl			/* 6245 */ | 
| Ralf Baechle | 3c37026 | 2005-04-13 17:43:59 +0000 | [diff] [blame] | 369 | 	PTR	sys_set_thread_area | 
| Ralf Baechle | 8d9c626 | 2005-08-05 10:31:47 +0000 | [diff] [blame] | 370 | 	PTR	sys_inotify_init | 
 | 371 | 	PTR	sys_inotify_add_watch | 
 | 372 | 	PTR	sys_inotify_rm_watch | 
| Ralf Baechle | 72bf891 | 2006-02-08 13:38:50 +0000 | [diff] [blame] | 373 | 	PTR	sys_migrate_pages		/* 6250 */ | 
 | 374 | 	PTR	sys_openat | 
 | 375 | 	PTR	sys_mkdirat | 
 | 376 | 	PTR	sys_mknodat | 
 | 377 | 	PTR	sys_fchownat | 
| Johannes Dickgreber | 8241139 | 2007-09-12 18:22:04 +0200 | [diff] [blame] | 378 | 	PTR	compat_sys_futimesat		/* 6255 */ | 
| Ralf Baechle | 72bf891 | 2006-02-08 13:38:50 +0000 | [diff] [blame] | 379 | 	PTR	sys_newfstatat | 
 | 380 | 	PTR	sys_unlinkat | 
 | 381 | 	PTR	sys_renameat | 
 | 382 | 	PTR	sys_linkat | 
 | 383 | 	PTR	sys_symlinkat			/* 6260 */ | 
 | 384 | 	PTR	sys_readlinkat | 
 | 385 | 	PTR	sys_fchmodat | 
 | 386 | 	PTR	sys_faccessat | 
| Joseph S. Myers | 99d233f | 2007-01-10 12:30:50 +0000 | [diff] [blame] | 387 | 	PTR	compat_sys_pselect6 | 
| Ralf Baechle | 72bf891 | 2006-02-08 13:38:50 +0000 | [diff] [blame] | 388 | 	PTR	sys_ppoll			/* 6265 */ | 
 | 389 | 	PTR	sys_unshare | 
| Ralf Baechle | f115da9 | 2006-03-31 09:27:20 +0100 | [diff] [blame] | 390 | 	PTR	sys_splice | 
| Ralf Baechle | a8d587a | 2006-04-01 07:49:21 +0100 | [diff] [blame] | 391 | 	PTR	sys_sync_file_range | 
| Ralf Baechle | 136d47d | 2006-04-15 11:16:19 +0200 | [diff] [blame] | 392 | 	PTR	sys_tee | 
| Ralf Baechle | 8d13cb2 | 2008-12-03 17:03:27 +0000 | [diff] [blame] | 393 | 	PTR	compat_sys_vmsplice		/* 6270 */ | 
| Ralf Baechle | 722cfd9 | 2006-07-02 16:31:14 +0100 | [diff] [blame] | 394 | 	PTR	sys_move_pages | 
| Atsushi Nemoto | 7fdeb04 | 2006-09-06 22:42:02 +0900 | [diff] [blame] | 395 | 	PTR	compat_sys_set_robust_list | 
 | 396 | 	PTR	compat_sys_get_robust_list | 
| Nicolas Schichan | 583bb86 | 2006-10-18 15:14:55 +0200 | [diff] [blame] | 397 | 	PTR	compat_sys_kexec_load | 
| Ralf Baechle | 08253b3 | 2007-03-06 17:04:49 +0000 | [diff] [blame] | 398 | 	PTR	sys_getcpu			/* 6275 */ | 
| Ralf Baechle | 431dc80 | 2007-02-13 00:05:11 +0000 | [diff] [blame] | 399 | 	PTR	compat_sys_epoll_pwait | 
| Ralf Baechle | 08253b3 | 2007-03-06 17:04:49 +0000 | [diff] [blame] | 400 | 	PTR	sys_ioprio_set | 
 | 401 | 	PTR	sys_ioprio_get | 
| Atsushi Nemoto | 7a6d4f3 | 2007-05-29 23:29:40 +0900 | [diff] [blame] | 402 | 	PTR	compat_sys_utimensat | 
 | 403 | 	PTR	compat_sys_signalfd		/* 5280 */ | 
| Davide Libenzi | 4d672e7 | 2008-02-04 22:27:26 -0800 | [diff] [blame] | 404 | 	PTR	sys_ni_syscall | 
| Atsushi Nemoto | 7a6d4f3 | 2007-05-29 23:29:40 +0900 | [diff] [blame] | 405 | 	PTR	sys_eventfd | 
| Ralf Baechle | 4dc4677 | 2007-07-26 03:38:24 +0100 | [diff] [blame] | 406 | 	PTR	sys_fallocate | 
| Dmitri Vorobiev | 6783fe6 | 2008-02-19 00:02:37 +0300 | [diff] [blame] | 407 | 	PTR	sys_timerfd_create | 
| David Daney | c7d1673 | 2009-04-16 09:20:17 -0700 | [diff] [blame] | 408 | 	PTR	compat_sys_timerfd_gettime	/* 5285 */ | 
 | 409 | 	PTR	compat_sys_timerfd_settime | 
| Ralf Baechle | 3885b71 | 2008-07-31 11:16:43 +0100 | [diff] [blame] | 410 | 	PTR	sys_signalfd4 | 
 | 411 | 	PTR	sys_eventfd2 | 
 | 412 | 	PTR	sys_epoll_create1 | 
 | 413 | 	PTR	sys_dup3			/* 5290 */ | 
 | 414 | 	PTR	sys_pipe2 | 
 | 415 | 	PTR	sys_inotify_init1 | 
| Ralf Baechle | ddd9e91 | 2009-04-02 16:59:24 -0700 | [diff] [blame] | 416 | 	PTR	sys_preadv | 
 | 417 | 	PTR	sys_pwritev | 
| David Daney | 69f16c9 | 2009-06-26 09:53:57 -0700 | [diff] [blame] | 418 | 	PTR	compat_sys_rt_tgsigqueueinfo	/* 5295 */ | 
 | 419 | 	PTR	sys_perf_counter_open | 
| Ralf Baechle | 54822de | 2009-08-03 17:27:19 +0100 | [diff] [blame] | 420 | 	PTR	sys_accept4 | 
| Ralf Baechle | 08253b3 | 2007-03-06 17:04:49 +0000 | [diff] [blame] | 421 | 	.size	sysn32_call_table,.-sysn32_call_table |