| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /* | 
					
						
							|  |  |  |  * This file is subject to the terms and conditions of the GNU General Public | 
					
						
							|  |  |  |  * License.  See the file "COPYING" in the main directory of this archive | 
					
						
							|  |  |  |  * for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 1995, 96, 97, 98, 99, 2000, 01, 02 by Ralf Baechle | 
					
						
							|  |  |  |  * Copyright (C) 1999, 2000 Silicon Graphics, Inc. | 
					
						
							|  |  |  |  * Copyright (C) 2001 MIPS Technologies, Inc. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #include <linux/errno.h> | 
					
						
							|  |  |  | #include <asm/asm.h> | 
					
						
							|  |  |  | #include <asm/asmmacro.h> | 
					
						
							| 
									
										
										
										
											2006-07-07 14:07:18 +01:00
										 |  |  | #include <asm/irqflags.h> | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #include <asm/mipsregs.h> | 
					
						
							|  |  |  | #include <asm/regdef.h> | 
					
						
							|  |  |  | #include <asm/stackframe.h> | 
					
						
							| 
									
										
										
										
											2005-09-09 22:32:31 +02:00
										 |  |  | #include <asm/asm-offsets.h> | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #include <asm/sysmips.h> | 
					
						
							|  |  |  | #include <asm/thread_info.h> | 
					
						
							|  |  |  | #include <asm/unistd.h> | 
					
						
							|  |  |  | #include <asm/war.h> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef CONFIG_BINFMT_ELF32 | 
					
						
							|  |  |  | /* Neither O32 nor N32, so define handle_sys here */ | 
					
						
							|  |  |  | #define handle_sys64 handle_sys | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | 	.align	5
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | NESTED(handle_sys64, PT_SIZE, sp) | 
					
						
							|  |  |  | #if !defined(CONFIG_MIPS32_O32) && !defined(CONFIG_MIPS32_N32) | 
					
						
							|  |  |  | 	/* | 
					
						
							|  |  |  | 	 * When 32-bit compatibility is configured scall_o32.S | 
					
						
							|  |  |  | 	 * already did this. | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	.set	noat
 | 
					
						
							|  |  |  | 	SAVE_SOME | 
					
						
							| 
									
										
										
										
											2006-09-26 23:43:40 +09:00
										 |  |  | 	TRACE_IRQS_ON_RELOAD | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	STI | 
					
						
							|  |  |  | 	.set	at
 | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	dsubu	t0, v0, __NR_64_Linux	# check syscall number | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | 	sltiu	t0, t0, __NR_64_Linux_syscalls + 1 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #if !defined(CONFIG_MIPS32_O32) && !defined(CONFIG_MIPS32_N32) | 
					
						
							|  |  |  | 	ld	t1, PT_EPC(sp)		# skip syscall on return | 
					
						
							|  |  |  | 	daddiu	t1, 4			# skip to next instruction | 
					
						
							|  |  |  | 	sd	t1, PT_EPC(sp) | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | 	beqz	t0, illegal_syscall | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	dsll	t0, v0, 3		# offset into table | 
					
						
							|  |  |  | 	ld	t2, (sys_call_table - (__NR_64_Linux * 8))(t0) | 
					
						
							|  |  |  | 					# syscall routine | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	sd	a3, PT_R26(sp)		# save a3 for syscall restarting | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-29 01:02:18 +02:00
										 |  |  | 	li	t1, _TIF_WORK_SYSCALL_ENTRY | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	LONG_L	t0, TI_FLAGS($28)	# syscall tracing enabled? | 
					
						
							|  |  |  | 	and	t0, t1, t0 | 
					
						
							|  |  |  | 	bnez	t0, syscall_trace_entry | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	jalr	t2			# Do The Real Thing (TM) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	li	t0, -EMAXERRNO - 1	# error? | 
					
						
							|  |  |  | 	sltu	t0, t0, v0 | 
					
						
							|  |  |  | 	sd	t0, PT_R7(sp)		# set error flag | 
					
						
							|  |  |  | 	beqz	t0, 1f | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-28 18:50:37 +01:00
										 |  |  | 	ld	t1, PT_R2(sp)		# syscall number | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	dnegu	v0			# error | 
					
						
							| 
									
										
										
										
											2010-09-28 18:50:37 +01:00
										 |  |  | 	sd	t1, PT_R0(sp)		# save it for syscall restarting | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 1:	sd	v0, PT_R2(sp)		# result | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | n64_syscall_exit: | 
					
						
							| 
									
										
										
										
											2012-05-05 16:11:35 -04:00
										 |  |  | 	j	syscall_exit_partial | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* ------------------------------------------------------------------------ */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syscall_trace_entry: | 
					
						
							|  |  |  | 	SAVE_STATIC | 
					
						
							|  |  |  | 	move	s0, t2 | 
					
						
							|  |  |  | 	move	a0, sp | 
					
						
							| 
									
										
										
										
											2011-05-19 09:21:29 +01:00
										 |  |  | 	jal	syscall_trace_enter | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-11-30 16:24:57 +00:00
										 |  |  | 	move	t0, s0 | 
					
						
							|  |  |  | 	RESTORE_STATIC | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	ld	a0, PT_R4(sp)		# Restore argument registers | 
					
						
							|  |  |  | 	ld	a1, PT_R5(sp) | 
					
						
							|  |  |  | 	ld	a2, PT_R6(sp) | 
					
						
							|  |  |  | 	ld	a3, PT_R7(sp) | 
					
						
							|  |  |  | 	ld	a4, PT_R8(sp) | 
					
						
							|  |  |  | 	ld	a5, PT_R9(sp) | 
					
						
							| 
									
										
										
										
											2005-11-30 16:24:57 +00:00
										 |  |  | 	jalr	t0 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	li	t0, -EMAXERRNO - 1	# error? | 
					
						
							|  |  |  | 	sltu	t0, t0, v0 | 
					
						
							|  |  |  | 	sd	t0, PT_R7(sp)		# set error flag | 
					
						
							|  |  |  | 	beqz	t0, 1f | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-28 18:50:37 +01:00
										 |  |  | 	ld	t1, PT_R2(sp)		# syscall number | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	dnegu	v0			# error | 
					
						
							| 
									
										
										
										
											2010-09-28 18:50:37 +01:00
										 |  |  | 	sd	t1, PT_R0(sp)		# save it for syscall restarting | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 1:	sd	v0, PT_R2(sp)		# result | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	j	syscall_exit | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | illegal_syscall: | 
					
						
							|  |  |  | 	/* This also isn't a 64-bit syscall, throw an error.  */ | 
					
						
							| 
									
										
										
										
											2008-10-25 01:17:22 +09:00
										 |  |  | 	li	v0, ENOSYS			# error | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	sd	v0, PT_R2(sp) | 
					
						
							|  |  |  | 	li	t0, 1				# set error flag | 
					
						
							|  |  |  | 	sd	t0, PT_R7(sp) | 
					
						
							|  |  |  | 	j	n64_syscall_exit | 
					
						
							|  |  |  | 	END(handle_sys64) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.align	3
 | 
					
						
							| 
									
										
										
										
											2012-07-12 14:06:46 +02:00
										 |  |  | 	.type	sys_call_table, @object
 | 
					
						
							|  |  |  | EXPORT(sys_call_table) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	PTR	sys_read			/* 5000 */ | 
					
						
							|  |  |  | 	PTR	sys_write | 
					
						
							|  |  |  | 	PTR	sys_open | 
					
						
							|  |  |  | 	PTR	sys_close | 
					
						
							|  |  |  | 	PTR	sys_newstat | 
					
						
							|  |  |  | 	PTR	sys_newfstat			/* 5005 */ | 
					
						
							|  |  |  | 	PTR	sys_newlstat | 
					
						
							|  |  |  | 	PTR	sys_poll | 
					
						
							|  |  |  | 	PTR	sys_lseek | 
					
						
							| 
									
										
										
										
											2009-02-08 16:00:26 +00:00
										 |  |  | 	PTR	sys_mips_mmap | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	PTR	sys_mprotect			/* 5010 */ | 
					
						
							|  |  |  | 	PTR	sys_munmap | 
					
						
							|  |  |  | 	PTR	sys_brk | 
					
						
							|  |  |  | 	PTR	sys_rt_sigaction | 
					
						
							|  |  |  | 	PTR	sys_rt_sigprocmask | 
					
						
							|  |  |  | 	PTR	sys_ioctl			/* 5015 */ | 
					
						
							|  |  |  | 	PTR	sys_pread64 | 
					
						
							|  |  |  | 	PTR	sys_pwrite64 | 
					
						
							|  |  |  | 	PTR	sys_readv | 
					
						
							|  |  |  | 	PTR	sys_writev | 
					
						
							|  |  |  | 	PTR	sys_access			/* 5020 */ | 
					
						
							| 
									
										
										
										
											2008-07-20 13:16:46 +01:00
										 |  |  | 	PTR	sysm_pipe | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	PTR	sys_select | 
					
						
							|  |  |  | 	PTR	sys_sched_yield | 
					
						
							|  |  |  | 	PTR	sys_mremap | 
					
						
							|  |  |  | 	PTR	sys_msync			/* 5025 */ | 
					
						
							|  |  |  | 	PTR	sys_mincore | 
					
						
							|  |  |  | 	PTR	sys_madvise | 
					
						
							|  |  |  | 	PTR	sys_shmget | 
					
						
							|  |  |  | 	PTR	sys_shmat | 
					
						
							|  |  |  | 	PTR	sys_shmctl			/* 5030 */ | 
					
						
							|  |  |  | 	PTR	sys_dup | 
					
						
							|  |  |  | 	PTR	sys_dup2 | 
					
						
							|  |  |  | 	PTR	sys_pause | 
					
						
							|  |  |  | 	PTR	sys_nanosleep | 
					
						
							|  |  |  | 	PTR	sys_getitimer			/* 5035 */ | 
					
						
							|  |  |  | 	PTR	sys_setitimer | 
					
						
							|  |  |  | 	PTR	sys_alarm | 
					
						
							|  |  |  | 	PTR	sys_getpid | 
					
						
							|  |  |  | 	PTR	sys_sendfile64 | 
					
						
							|  |  |  | 	PTR	sys_socket			/* 5040 */ | 
					
						
							|  |  |  | 	PTR	sys_connect | 
					
						
							|  |  |  | 	PTR	sys_accept | 
					
						
							|  |  |  | 	PTR	sys_sendto | 
					
						
							|  |  |  | 	PTR	sys_recvfrom | 
					
						
							|  |  |  | 	PTR	sys_sendmsg			/* 5045 */ | 
					
						
							|  |  |  | 	PTR	sys_recvmsg | 
					
						
							|  |  |  | 	PTR	sys_shutdown | 
					
						
							|  |  |  | 	PTR	sys_bind | 
					
						
							|  |  |  | 	PTR	sys_listen | 
					
						
							|  |  |  | 	PTR	sys_getsockname			/* 5050 */ | 
					
						
							|  |  |  | 	PTR	sys_getpeername | 
					
						
							|  |  |  | 	PTR	sys_socketpair | 
					
						
							|  |  |  | 	PTR	sys_setsockopt | 
					
						
							|  |  |  | 	PTR	sys_getsockopt | 
					
						
							| 
									
										
										
										
											2012-12-27 12:11:46 -05:00
										 |  |  | 	PTR	__sys_clone			/* 5055 */ | 
					
						
							|  |  |  | 	PTR	__sys_fork | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	PTR	sys_execve | 
					
						
							|  |  |  | 	PTR	sys_exit | 
					
						
							|  |  |  | 	PTR	sys_wait4 | 
					
						
							|  |  |  | 	PTR	sys_kill			/* 5060 */ | 
					
						
							|  |  |  | 	PTR	sys_newuname | 
					
						
							|  |  |  | 	PTR	sys_semget | 
					
						
							|  |  |  | 	PTR	sys_semop | 
					
						
							|  |  |  | 	PTR	sys_semctl | 
					
						
							|  |  |  | 	PTR	sys_shmdt			/* 5065 */ | 
					
						
							|  |  |  | 	PTR	sys_msgget | 
					
						
							|  |  |  | 	PTR	sys_msgsnd | 
					
						
							|  |  |  | 	PTR	sys_msgrcv | 
					
						
							|  |  |  | 	PTR	sys_msgctl | 
					
						
							|  |  |  | 	PTR	sys_fcntl			/* 5070 */ | 
					
						
							|  |  |  | 	PTR	sys_flock | 
					
						
							|  |  |  | 	PTR	sys_fsync | 
					
						
							|  |  |  | 	PTR	sys_fdatasync | 
					
						
							|  |  |  | 	PTR	sys_truncate | 
					
						
							|  |  |  | 	PTR	sys_ftruncate			/* 5075 */ | 
					
						
							|  |  |  | 	PTR	sys_getdents | 
					
						
							|  |  |  | 	PTR	sys_getcwd | 
					
						
							|  |  |  | 	PTR	sys_chdir | 
					
						
							|  |  |  | 	PTR	sys_fchdir | 
					
						
							|  |  |  | 	PTR	sys_rename			/* 5080 */ | 
					
						
							|  |  |  | 	PTR	sys_mkdir | 
					
						
							|  |  |  | 	PTR	sys_rmdir | 
					
						
							|  |  |  | 	PTR	sys_creat | 
					
						
							|  |  |  | 	PTR	sys_link | 
					
						
							|  |  |  | 	PTR	sys_unlink			/* 5085 */ | 
					
						
							|  |  |  | 	PTR	sys_symlink | 
					
						
							|  |  |  | 	PTR	sys_readlink | 
					
						
							|  |  |  | 	PTR	sys_chmod | 
					
						
							|  |  |  | 	PTR	sys_fchmod | 
					
						
							|  |  |  | 	PTR	sys_chown			/* 5090 */ | 
					
						
							|  |  |  | 	PTR	sys_fchown | 
					
						
							|  |  |  | 	PTR	sys_lchown | 
					
						
							|  |  |  | 	PTR	sys_umask | 
					
						
							|  |  |  | 	PTR	sys_gettimeofday | 
					
						
							|  |  |  | 	PTR	sys_getrlimit			/* 5095 */ | 
					
						
							|  |  |  | 	PTR	sys_getrusage | 
					
						
							|  |  |  | 	PTR	sys_sysinfo | 
					
						
							|  |  |  | 	PTR	sys_times | 
					
						
							|  |  |  | 	PTR	sys_ptrace | 
					
						
							|  |  |  | 	PTR	sys_getuid			/* 5100 */ | 
					
						
							|  |  |  | 	PTR	sys_syslog | 
					
						
							|  |  |  | 	PTR	sys_getgid | 
					
						
							|  |  |  | 	PTR	sys_setuid | 
					
						
							|  |  |  | 	PTR	sys_setgid | 
					
						
							|  |  |  | 	PTR	sys_geteuid			/* 5105 */ | 
					
						
							|  |  |  | 	PTR	sys_getegid | 
					
						
							|  |  |  | 	PTR	sys_setpgid | 
					
						
							|  |  |  | 	PTR	sys_getppid | 
					
						
							|  |  |  | 	PTR	sys_getpgrp | 
					
						
							|  |  |  | 	PTR	sys_setsid			/* 5110 */ | 
					
						
							|  |  |  | 	PTR	sys_setreuid | 
					
						
							|  |  |  | 	PTR	sys_setregid | 
					
						
							|  |  |  | 	PTR	sys_getgroups | 
					
						
							|  |  |  | 	PTR	sys_setgroups | 
					
						
							|  |  |  | 	PTR	sys_setresuid			/* 5115 */ | 
					
						
							|  |  |  | 	PTR	sys_getresuid | 
					
						
							|  |  |  | 	PTR	sys_setresgid | 
					
						
							|  |  |  | 	PTR	sys_getresgid | 
					
						
							|  |  |  | 	PTR	sys_getpgid | 
					
						
							|  |  |  | 	PTR	sys_setfsuid			/* 5120 */ | 
					
						
							|  |  |  | 	PTR	sys_setfsgid | 
					
						
							|  |  |  | 	PTR	sys_getsid | 
					
						
							|  |  |  | 	PTR	sys_capget | 
					
						
							|  |  |  | 	PTR	sys_capset | 
					
						
							|  |  |  | 	PTR	sys_rt_sigpending		/* 5125 */ | 
					
						
							|  |  |  | 	PTR	sys_rt_sigtimedwait | 
					
						
							|  |  |  | 	PTR	sys_rt_sigqueueinfo | 
					
						
							|  |  |  | 	PTR	sys_rt_sigsuspend | 
					
						
							|  |  |  | 	PTR	sys_sigaltstack | 
					
						
							|  |  |  | 	PTR	sys_utime			/* 5130 */ | 
					
						
							|  |  |  | 	PTR	sys_mknod | 
					
						
							|  |  |  | 	PTR	sys_personality | 
					
						
							|  |  |  | 	PTR	sys_ustat | 
					
						
							|  |  |  | 	PTR	sys_statfs | 
					
						
							|  |  |  | 	PTR	sys_fstatfs			/* 5135 */ | 
					
						
							|  |  |  | 	PTR	sys_sysfs | 
					
						
							|  |  |  | 	PTR	sys_getpriority | 
					
						
							|  |  |  | 	PTR	sys_setpriority | 
					
						
							|  |  |  | 	PTR	sys_sched_setparam | 
					
						
							|  |  |  | 	PTR	sys_sched_getparam		/* 5140 */ | 
					
						
							|  |  |  | 	PTR	sys_sched_setscheduler | 
					
						
							|  |  |  | 	PTR	sys_sched_getscheduler | 
					
						
							|  |  |  | 	PTR	sys_sched_get_priority_max | 
					
						
							|  |  |  | 	PTR	sys_sched_get_priority_min | 
					
						
							|  |  |  | 	PTR	sys_sched_rr_get_interval	/* 5145 */ | 
					
						
							|  |  |  | 	PTR	sys_mlock | 
					
						
							|  |  |  | 	PTR	sys_munlock | 
					
						
							|  |  |  | 	PTR	sys_mlockall | 
					
						
							|  |  |  | 	PTR	sys_munlockall | 
					
						
							|  |  |  | 	PTR	sys_vhangup			/* 5150 */ | 
					
						
							|  |  |  | 	PTR	sys_pivot_root | 
					
						
							|  |  |  | 	PTR	sys_sysctl | 
					
						
							|  |  |  | 	PTR	sys_prctl | 
					
						
							|  |  |  | 	PTR	sys_adjtimex | 
					
						
							|  |  |  | 	PTR	sys_setrlimit			/* 5155 */ | 
					
						
							|  |  |  | 	PTR	sys_chroot | 
					
						
							|  |  |  | 	PTR	sys_sync | 
					
						
							|  |  |  | 	PTR	sys_acct | 
					
						
							|  |  |  | 	PTR	sys_settimeofday | 
					
						
							|  |  |  | 	PTR	sys_mount			/* 5160 */ | 
					
						
							|  |  |  | 	PTR	sys_umount | 
					
						
							|  |  |  | 	PTR	sys_swapon | 
					
						
							|  |  |  | 	PTR	sys_swapoff | 
					
						
							|  |  |  | 	PTR	sys_reboot | 
					
						
							|  |  |  | 	PTR	sys_sethostname			/* 5165 */ | 
					
						
							|  |  |  | 	PTR	sys_setdomainname | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* was create_module */ | 
					
						
							|  |  |  | 	PTR	sys_init_module | 
					
						
							|  |  |  | 	PTR	sys_delete_module | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* 5170, was get_kernel_syms */ | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* was query_module */ | 
					
						
							|  |  |  | 	PTR	sys_quotactl | 
					
						
							| 
									
										
										
										
											2011-08-26 18:03:11 -04:00
										 |  |  | 	PTR	sys_ni_syscall			/* was nfsservctl */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	PTR	sys_ni_syscall			/* res. for getpmsg */ | 
					
						
							| 
									
										
										
										
											2013-01-22 12:59:30 +01:00
										 |  |  | 	PTR	sys_ni_syscall			/* 5175	 for putpmsg */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	PTR	sys_ni_syscall			/* res. for afs_syscall */ | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* res. for security */ | 
					
						
							|  |  |  | 	PTR	sys_gettid | 
					
						
							|  |  |  | 	PTR	sys_readahead | 
					
						
							|  |  |  | 	PTR	sys_setxattr			/* 5180 */ | 
					
						
							|  |  |  | 	PTR	sys_lsetxattr | 
					
						
							|  |  |  | 	PTR	sys_fsetxattr | 
					
						
							|  |  |  | 	PTR	sys_getxattr | 
					
						
							|  |  |  | 	PTR	sys_lgetxattr | 
					
						
							|  |  |  | 	PTR	sys_fgetxattr			/* 5185 */ | 
					
						
							|  |  |  | 	PTR	sys_listxattr | 
					
						
							|  |  |  | 	PTR	sys_llistxattr | 
					
						
							|  |  |  | 	PTR	sys_flistxattr | 
					
						
							|  |  |  | 	PTR	sys_removexattr | 
					
						
							|  |  |  | 	PTR	sys_lremovexattr		/* 5190 */ | 
					
						
							|  |  |  | 	PTR	sys_fremovexattr | 
					
						
							|  |  |  | 	PTR	sys_tkill | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall | 
					
						
							|  |  |  | 	PTR	sys_futex | 
					
						
							|  |  |  | 	PTR	sys_sched_setaffinity		/* 5195 */ | 
					
						
							|  |  |  | 	PTR	sys_sched_getaffinity | 
					
						
							|  |  |  | 	PTR	sys_cacheflush | 
					
						
							|  |  |  | 	PTR	sys_cachectl | 
					
						
							|  |  |  | 	PTR	sys_sysmips | 
					
						
							|  |  |  | 	PTR	sys_io_setup			/* 5200 */ | 
					
						
							|  |  |  | 	PTR	sys_io_destroy | 
					
						
							|  |  |  | 	PTR	sys_io_getevents | 
					
						
							|  |  |  | 	PTR	sys_io_submit | 
					
						
							|  |  |  | 	PTR	sys_io_cancel | 
					
						
							|  |  |  | 	PTR	sys_exit_group			/* 5205 */ | 
					
						
							|  |  |  | 	PTR	sys_lookup_dcookie | 
					
						
							|  |  |  | 	PTR	sys_epoll_create | 
					
						
							|  |  |  | 	PTR	sys_epoll_ctl | 
					
						
							|  |  |  | 	PTR	sys_epoll_wait | 
					
						
							|  |  |  | 	PTR	sys_remap_file_pages		/* 5210 */ | 
					
						
							|  |  |  | 	PTR	sys_rt_sigreturn | 
					
						
							|  |  |  | 	PTR	sys_set_tid_address | 
					
						
							|  |  |  | 	PTR	sys_restart_syscall | 
					
						
							|  |  |  | 	PTR	sys_semtimedop | 
					
						
							|  |  |  | 	PTR	sys_fadvise64_64		/* 5215 */ | 
					
						
							|  |  |  | 	PTR	sys_timer_create | 
					
						
							|  |  |  | 	PTR	sys_timer_settime | 
					
						
							|  |  |  | 	PTR	sys_timer_gettime | 
					
						
							|  |  |  | 	PTR	sys_timer_getoverrun | 
					
						
							|  |  |  | 	PTR	sys_timer_delete		/* 5220 */ | 
					
						
							|  |  |  | 	PTR	sys_clock_settime | 
					
						
							|  |  |  | 	PTR	sys_clock_gettime | 
					
						
							|  |  |  | 	PTR	sys_clock_getres | 
					
						
							|  |  |  | 	PTR	sys_clock_nanosleep | 
					
						
							|  |  |  | 	PTR	sys_tgkill			/* 5225 */ | 
					
						
							|  |  |  | 	PTR	sys_utimes | 
					
						
							|  |  |  | 	PTR	sys_mbind | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* sys_get_mempolicy */ | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* sys_set_mempolicy */ | 
					
						
							|  |  |  | 	PTR	sys_mq_open			/* 5230 */ | 
					
						
							|  |  |  | 	PTR	sys_mq_unlink | 
					
						
							|  |  |  | 	PTR	sys_mq_timedsend | 
					
						
							|  |  |  | 	PTR	sys_mq_timedreceive | 
					
						
							|  |  |  | 	PTR	sys_mq_notify | 
					
						
							|  |  |  | 	PTR	sys_mq_getsetattr		/* 5235 */ | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* sys_vserver */ | 
					
						
							|  |  |  | 	PTR	sys_waitid | 
					
						
							|  |  |  | 	PTR	sys_ni_syscall			/* available, was setaltroot */ | 
					
						
							|  |  |  | 	PTR	sys_add_key | 
					
						
							|  |  |  | 	PTR	sys_request_key			/* 5240 */ | 
					
						
							|  |  |  | 	PTR	sys_keyctl | 
					
						
							| 
									
										
										
										
											2005-04-13 17:43:59 +00:00
										 |  |  | 	PTR	sys_set_thread_area | 
					
						
							| 
									
										
										
										
											2005-07-13 11:48:45 +00:00
										 |  |  | 	PTR	sys_inotify_init | 
					
						
							|  |  |  | 	PTR	sys_inotify_add_watch | 
					
						
							|  |  |  | 	PTR	sys_inotify_rm_watch		/* 5245 */ | 
					
						
							| 
									
										
										
										
											2006-02-08 13:38:50 +00:00
										 |  |  | 	PTR	sys_migrate_pages | 
					
						
							|  |  |  | 	PTR	sys_openat | 
					
						
							|  |  |  | 	PTR	sys_mkdirat | 
					
						
							|  |  |  | 	PTR	sys_mknodat | 
					
						
							|  |  |  | 	PTR	sys_fchownat			/* 5250 */ | 
					
						
							|  |  |  | 	PTR	sys_futimesat | 
					
						
							|  |  |  | 	PTR	sys_newfstatat | 
					
						
							|  |  |  | 	PTR	sys_unlinkat | 
					
						
							|  |  |  | 	PTR	sys_renameat | 
					
						
							|  |  |  | 	PTR	sys_linkat			/* 5255 */ | 
					
						
							|  |  |  | 	PTR	sys_symlinkat | 
					
						
							|  |  |  | 	PTR	sys_readlinkat | 
					
						
							|  |  |  | 	PTR	sys_fchmodat | 
					
						
							|  |  |  | 	PTR	sys_faccessat | 
					
						
							|  |  |  | 	PTR	sys_pselect6			/* 5260 */ | 
					
						
							|  |  |  | 	PTR	sys_ppoll | 
					
						
							|  |  |  | 	PTR	sys_unshare | 
					
						
							| 
									
										
										
										
											2006-03-31 09:27:20 +01:00
										 |  |  | 	PTR	sys_splice | 
					
						
							| 
									
										
										
										
											2006-04-01 07:49:21 +01:00
										 |  |  | 	PTR	sys_sync_file_range | 
					
						
							| 
									
										
										
										
											2006-04-15 11:16:19 +02:00
										 |  |  | 	PTR	sys_tee				/* 5265 */ | 
					
						
							| 
									
										
										
										
											2006-07-02 16:31:14 +01:00
										 |  |  | 	PTR	sys_vmsplice | 
					
						
							|  |  |  | 	PTR	sys_move_pages | 
					
						
							| 
									
										
										
										
											2006-09-06 22:42:02 +09:00
										 |  |  | 	PTR	sys_set_robust_list | 
					
						
							|  |  |  | 	PTR	sys_get_robust_list | 
					
						
							| 
									
										
										
										
											2006-10-18 15:14:55 +02:00
										 |  |  | 	PTR	sys_kexec_load			/* 5270 */ | 
					
						
							| 
									
										
										
										
											2006-10-29 21:07:40 +00:00
										 |  |  | 	PTR	sys_getcpu | 
					
						
							| 
									
										
										
										
											2007-02-24 21:15:11 +00:00
										 |  |  | 	PTR	sys_epoll_pwait | 
					
						
							| 
									
										
										
										
											2007-03-06 17:04:49 +00:00
										 |  |  | 	PTR	sys_ioprio_set | 
					
						
							|  |  |  | 	PTR	sys_ioprio_get | 
					
						
							| 
									
										
										
										
											2007-05-29 23:29:40 +09:00
										 |  |  | 	PTR	sys_utimensat			/* 5275 */ | 
					
						
							|  |  |  | 	PTR	sys_signalfd | 
					
						
							| 
									
										
										
										
											2011-04-13 20:50:46 +02:00
										 |  |  | 	PTR	sys_ni_syscall			/* was timerfd */ | 
					
						
							| 
									
										
										
										
											2007-05-29 23:29:40 +09:00
										 |  |  | 	PTR	sys_eventfd | 
					
						
							| 
									
										
										
										
											2007-07-26 03:38:24 +01:00
										 |  |  | 	PTR	sys_fallocate | 
					
						
							| 
									
										
										
										
											2008-02-19 00:02:37 +03:00
										 |  |  | 	PTR	sys_timerfd_create		/* 5280 */ | 
					
						
							|  |  |  | 	PTR	sys_timerfd_gettime | 
					
						
							|  |  |  | 	PTR	sys_timerfd_settime | 
					
						
							| 
									
										
										
										
											2008-07-31 11:16:43 +01:00
										 |  |  | 	PTR	sys_signalfd4 | 
					
						
							|  |  |  | 	PTR	sys_eventfd2 | 
					
						
							|  |  |  | 	PTR	sys_epoll_create1		/* 5285 */ | 
					
						
							|  |  |  | 	PTR	sys_dup3 | 
					
						
							|  |  |  | 	PTR	sys_pipe2 | 
					
						
							|  |  |  | 	PTR	sys_inotify_init1 | 
					
						
							| 
									
										
										
										
											2009-04-02 16:59:24 -07:00
										 |  |  | 	PTR	sys_preadv | 
					
						
							| 
									
										
										
										
											2010-09-20 15:00:19 +01:00
										 |  |  | 	PTR	sys_pwritev			/* 5290 */ | 
					
						
							| 
									
										
										
										
											2009-06-26 09:53:57 -07:00
										 |  |  | 	PTR	sys_rt_tgsigqueueinfo | 
					
						
							| 
									
										
											  
											
												perf: Do the big rename: Performance Counters -> Performance Events
Bye-bye Performance Counters, welcome Performance Events!
In the past few months the perfcounters subsystem has grown out its
initial role of counting hardware events, and has become (and is
becoming) a much broader generic event enumeration, reporting, logging,
monitoring, analysis facility.
Naming its core object 'perf_counter' and naming the subsystem
'perfcounters' has become more and more of a misnomer. With pending
code like hw-breakpoints support the 'counter' name is less and
less appropriate.
All in one, we've decided to rename the subsystem to 'performance
events' and to propagate this rename through all fields, variables
and API names. (in an ABI compatible fashion)
The word 'event' is also a bit shorter than 'counter' - which makes
it slightly more convenient to write/handle as well.
Thanks goes to Stephane Eranian who first observed this misnomer and
suggested a rename.
User-space tooling and ABI compatibility is not affected - this patch
should be function-invariant. (Also, defconfigs were not touched to
keep the size down.)
This patch has been generated via the following script:
  FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
  sed -i \
    -e 's/PERF_EVENT_/PERF_RECORD_/g' \
    -e 's/PERF_COUNTER/PERF_EVENT/g' \
    -e 's/perf_counter/perf_event/g' \
    -e 's/nb_counters/nb_events/g' \
    -e 's/swcounter/swevent/g' \
    -e 's/tpcounter_event/tp_event/g' \
    $FILES
  for N in $(find . -name perf_counter.[ch]); do
    M=$(echo $N | sed 's/perf_counter/perf_event/g')
    mv $N $M
  done
  FILES=$(find . -name perf_event.*)
  sed -i \
    -e 's/COUNTER_MASK/REG_MASK/g' \
    -e 's/COUNTER/EVENT/g' \
    -e 's/\<event\>/event_id/g' \
    -e 's/counter/event/g' \
    -e 's/Counter/Event/g' \
    $FILES
... to keep it as correct as possible. This script can also be
used by anyone who has pending perfcounters patches - it converts
a Linux kernel tree over to the new naming. We tried to time this
change to the point in time where the amount of pending patches
is the smallest: the end of the merge window.
Namespace clashes were fixed up in a preparatory patch - and some
stylistic fallout will be fixed up in a subsequent patch.
( NOTE: 'counters' are still the proper terminology when we deal
  with hardware registers - and these sed scripts are a bit
  over-eager in renaming them. I've undone some of that, but
  in case there's something left where 'counter' would be
  better than 'event' we can undo that on an individual basis
  instead of touching an otherwise nicely automated patch. )
Suggested-by: Stephane Eranian <eranian@google.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Paul Mackerras <paulus@samba.org>
Reviewed-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <linux-arch@vger.kernel.org>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
											
										 
											2009-09-21 12:02:48 +02:00
										 |  |  | 	PTR	sys_perf_event_open | 
					
						
							| 
									
										
										
										
											2009-08-03 17:27:19 +01:00
										 |  |  | 	PTR	sys_accept4 | 
					
						
							| 
									
										
										
										
											2010-08-23 14:10:37 -07:00
										 |  |  | 	PTR	sys_recvmmsg | 
					
						
							| 
									
										
										
										
											2010-09-20 15:00:19 +01:00
										 |  |  | 	PTR	sys_fanotify_init		/* 5295 */ | 
					
						
							| 
									
										
										
										
											2010-08-23 14:10:37 -07:00
										 |  |  | 	PTR	sys_fanotify_mark | 
					
						
							|  |  |  | 	PTR	sys_prlimit64 | 
					
						
							| 
									
										
										
										
											2011-03-18 10:37:23 -07:00
										 |  |  | 	PTR	sys_name_to_handle_at | 
					
						
							|  |  |  | 	PTR	sys_open_by_handle_at | 
					
						
							|  |  |  | 	PTR	sys_clock_adjtime		/* 5300 */ | 
					
						
							| 
									
										
										
										
											2011-03-25 18:45:20 +01:00
										 |  |  | 	PTR	sys_syncfs | 
					
						
							| 
									
										
										
										
											2011-05-28 13:22:58 +01:00
										 |  |  | 	PTR	sys_sendmmsg | 
					
						
							| 
									
										
										
										
											2011-05-27 19:28:27 -07:00
										 |  |  | 	PTR	sys_setns | 
					
						
							| 
									
										
										
										
											2011-11-08 14:54:55 -08:00
										 |  |  | 	PTR	sys_process_vm_readv | 
					
						
							|  |  |  | 	PTR	sys_process_vm_writev		/* 5305 */ | 
					
						
							| 
									
										
										
										
											2012-09-14 22:47:15 +02:00
										 |  |  | 	PTR	sys_kcmp | 
					
						
							| 
									
										
										
										
											2012-12-28 17:02:56 +01:00
										 |  |  | 	PTR	sys_finit_module | 
					
						
							| 
									
										
										
										
											2013-05-21 13:37:06 +00:00
										 |  |  | 	PTR	sys_getdents64 | 
					
						
							| 
									
										
										
										
											2007-03-06 17:04:49 +00:00
										 |  |  | 	.size	sys_call_table,.-sys_call_table |