2005-04-17 06:20:36 +08:00
|
|
|
/* System Call Table
|
|
|
|
*
|
|
|
|
* Copyright (C) 1999-2004 Matthew Wilcox <willy at parisc-linux.org>
|
|
|
|
* Copyright (C) 2000-2001 John Marvin <jsm at parisc-linux.org>
|
|
|
|
* Copyright (C) 2000 Alan Modra <amodra at parisc-linux.org>
|
|
|
|
* Copyright (C) 2000-2003 Paul Bame <bame at parisc-linux.org>
|
|
|
|
* Copyright (C) 2000 Philipp Rumpf <prumpf with tux.org>
|
|
|
|
* Copyright (C) 2000 Michael Ang <mang with subcarrier.org>
|
|
|
|
* Copyright (C) 2000 David Huggins-Daines <dhd with pobox.org>
|
|
|
|
* Copyright (C) 2000 Grant Grundler <grundler at parisc-linux.org>
|
|
|
|
* Copyright (C) 2001 Richard Hirst <rhirst with parisc-linux.org>
|
|
|
|
* Copyright (C) 2001-2002 Ryan Bradetich <rbrad at parisc-linux.org>
|
2007-01-28 21:58:52 +08:00
|
|
|
* Copyright (C) 2001-2007 Helge Deller <deller at parisc-linux.org>
|
2005-04-17 06:20:36 +08:00
|
|
|
* Copyright (C) 2000-2001 Thomas Bogendoerfer <tsbogend at parisc-linux.org>
|
|
|
|
* Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org>
|
2006-04-20 12:44:07 +08:00
|
|
|
* Copyright (C) 2005-2006 Kyle McMartin <kyle at parisc-linux.org>
|
2005-04-17 06:20:36 +08:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* 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, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*/
|
|
|
|
|
2005-10-22 10:46:48 +08:00
|
|
|
#if defined(CONFIG_64BIT) && !defined(SYSCALL_TABLE_64BIT)
|
2005-04-17 06:20:36 +08:00
|
|
|
/* Use ENTRY_SAME for 32-bit syscalls which are the same on wide and
|
|
|
|
* narrow palinux. Use ENTRY_DIFF for those where a 32-bit specific
|
|
|
|
* implementation is required on wide palinux. Use ENTRY_COMP where
|
2011-03-31 09:57:33 +08:00
|
|
|
* the compatibility layer has a useful 32-bit implementation.
|
2005-04-17 06:20:36 +08:00
|
|
|
*/
|
|
|
|
#define ENTRY_SAME(_name_) .dword sys_##_name_
|
|
|
|
#define ENTRY_DIFF(_name_) .dword sys32_##_name_
|
|
|
|
#define ENTRY_UHOH(_name_) .dword sys32_##unimplemented
|
|
|
|
#define ENTRY_OURS(_name_) .dword parisc_##_name_
|
|
|
|
#define ENTRY_COMP(_name_) .dword compat_sys_##_name_
|
2005-10-22 10:46:48 +08:00
|
|
|
#elif defined(CONFIG_64BIT) && defined(SYSCALL_TABLE_64BIT)
|
2005-04-17 06:20:36 +08:00
|
|
|
#define ENTRY_SAME(_name_) .dword sys_##_name_
|
|
|
|
#define ENTRY_DIFF(_name_) .dword sys_##_name_
|
|
|
|
#define ENTRY_UHOH(_name_) .dword sys_##_name_
|
|
|
|
#define ENTRY_OURS(_name_) .dword sys_##_name_
|
|
|
|
#define ENTRY_COMP(_name_) .dword sys_##_name_
|
|
|
|
#else
|
|
|
|
#define ENTRY_SAME(_name_) .word sys_##_name_
|
|
|
|
#define ENTRY_DIFF(_name_) .word sys_##_name_
|
|
|
|
#define ENTRY_UHOH(_name_) .word sys_##_name_
|
|
|
|
#define ENTRY_OURS(_name_) .word parisc_##_name_
|
|
|
|
#define ENTRY_COMP(_name_) .word sys_##_name_
|
|
|
|
#endif
|
|
|
|
|
|
|
|
ENTRY_SAME(restart_syscall) /* 0 */
|
|
|
|
ENTRY_SAME(exit)
|
|
|
|
ENTRY_SAME(fork_wrapper)
|
|
|
|
ENTRY_SAME(read)
|
|
|
|
ENTRY_SAME(write)
|
2012-12-04 02:15:30 +08:00
|
|
|
ENTRY_COMP(open) /* 5 */
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(close)
|
|
|
|
ENTRY_SAME(waitpid)
|
|
|
|
ENTRY_SAME(creat)
|
|
|
|
ENTRY_SAME(link)
|
|
|
|
ENTRY_SAME(unlink) /* 10 */
|
2012-10-04 20:34:57 +08:00
|
|
|
ENTRY_COMP(execve)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(chdir)
|
|
|
|
/* See comments in kernel/time.c!!! Maybe we don't need this? */
|
|
|
|
ENTRY_COMP(time)
|
|
|
|
ENTRY_SAME(mknod)
|
|
|
|
ENTRY_SAME(chmod) /* 15 */
|
|
|
|
ENTRY_SAME(lchown)
|
|
|
|
ENTRY_SAME(socket)
|
|
|
|
/* struct stat is MAYBE identical wide and narrow ?? */
|
|
|
|
ENTRY_COMP(newstat)
|
|
|
|
ENTRY_DIFF(lseek)
|
|
|
|
ENTRY_SAME(getpid) /* 20 */
|
|
|
|
/* the 'void * data' parameter may need re-packing in wide */
|
|
|
|
ENTRY_COMP(mount)
|
|
|
|
/* concerned about struct sockaddr in wide/narrow */
|
|
|
|
/* ---> I think sockaddr is OK unless the compiler packs the struct */
|
|
|
|
/* differently to align the char array */
|
|
|
|
ENTRY_SAME(bind)
|
|
|
|
ENTRY_SAME(setuid)
|
|
|
|
ENTRY_SAME(getuid)
|
|
|
|
ENTRY_COMP(stime) /* 25 */
|
2008-10-18 02:48:36 +08:00
|
|
|
ENTRY_COMP(ptrace)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(alarm)
|
|
|
|
/* see stat comment */
|
|
|
|
ENTRY_COMP(newfstat)
|
|
|
|
ENTRY_SAME(pause)
|
|
|
|
/* struct utimbuf uses time_t which might vary */
|
|
|
|
ENTRY_COMP(utime) /* 30 */
|
|
|
|
/* struct sockaddr... */
|
|
|
|
ENTRY_SAME(connect)
|
|
|
|
ENTRY_SAME(listen)
|
|
|
|
ENTRY_SAME(access)
|
|
|
|
ENTRY_SAME(nice)
|
|
|
|
/* struct sockaddr... */
|
|
|
|
ENTRY_SAME(accept) /* 35 */
|
|
|
|
ENTRY_SAME(sync)
|
|
|
|
ENTRY_SAME(kill)
|
|
|
|
ENTRY_SAME(rename)
|
|
|
|
ENTRY_SAME(mkdir)
|
|
|
|
ENTRY_SAME(rmdir) /* 40 */
|
|
|
|
ENTRY_SAME(dup)
|
|
|
|
ENTRY_SAME(pipe)
|
|
|
|
ENTRY_COMP(times)
|
|
|
|
/* struct sockaddr... */
|
|
|
|
ENTRY_SAME(getsockname)
|
|
|
|
/* it seems possible brk() could return a >4G pointer... */
|
|
|
|
ENTRY_SAME(brk) /* 45 */
|
|
|
|
ENTRY_SAME(setgid)
|
|
|
|
ENTRY_SAME(getgid)
|
|
|
|
ENTRY_SAME(signal)
|
|
|
|
ENTRY_SAME(geteuid)
|
|
|
|
ENTRY_SAME(getegid) /* 50 */
|
|
|
|
ENTRY_SAME(acct)
|
|
|
|
ENTRY_SAME(umount)
|
|
|
|
/* struct sockaddr... */
|
|
|
|
ENTRY_SAME(getpeername)
|
|
|
|
ENTRY_COMP(ioctl)
|
|
|
|
ENTRY_COMP(fcntl) /* 55 */
|
|
|
|
ENTRY_SAME(socketpair)
|
|
|
|
ENTRY_SAME(setpgid)
|
|
|
|
ENTRY_SAME(send)
|
2010-03-11 07:21:19 +08:00
|
|
|
ENTRY_SAME(newuname)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(umask) /* 60 */
|
|
|
|
ENTRY_SAME(chroot)
|
2008-11-28 17:09:09 +08:00
|
|
|
ENTRY_COMP(ustat)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(dup2)
|
|
|
|
ENTRY_SAME(getppid)
|
|
|
|
ENTRY_SAME(getpgrp) /* 65 */
|
|
|
|
ENTRY_SAME(setsid)
|
|
|
|
ENTRY_SAME(pivot_root)
|
|
|
|
/* I don't like this */
|
|
|
|
ENTRY_UHOH(sgetmask)
|
|
|
|
ENTRY_UHOH(ssetmask)
|
|
|
|
ENTRY_SAME(setreuid) /* 70 */
|
|
|
|
ENTRY_SAME(setregid)
|
|
|
|
ENTRY_SAME(mincore)
|
|
|
|
ENTRY_COMP(sigpending)
|
|
|
|
ENTRY_SAME(sethostname)
|
|
|
|
/* Following 3 have linux-common-code structs containing longs -( */
|
|
|
|
ENTRY_COMP(setrlimit) /* 75 */
|
|
|
|
ENTRY_COMP(getrlimit)
|
|
|
|
ENTRY_COMP(getrusage)
|
|
|
|
/* struct timeval and timezone are maybe?? consistent wide and narrow */
|
2008-10-16 13:02:06 +08:00
|
|
|
ENTRY_COMP(gettimeofday)
|
|
|
|
ENTRY_COMP(settimeofday)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(getgroups) /* 80 */
|
|
|
|
ENTRY_SAME(setgroups)
|
|
|
|
/* struct socketaddr... */
|
|
|
|
ENTRY_SAME(sendto)
|
|
|
|
ENTRY_SAME(symlink)
|
|
|
|
/* see stat comment */
|
|
|
|
ENTRY_COMP(newlstat)
|
|
|
|
ENTRY_SAME(readlink) /* 85 */
|
|
|
|
ENTRY_SAME(ni_syscall) /* was uselib */
|
|
|
|
ENTRY_SAME(swapon)
|
|
|
|
ENTRY_SAME(reboot)
|
|
|
|
ENTRY_SAME(mmap2)
|
|
|
|
ENTRY_SAME(mmap) /* 90 */
|
|
|
|
ENTRY_SAME(munmap)
|
|
|
|
ENTRY_SAME(truncate)
|
|
|
|
ENTRY_SAME(ftruncate)
|
|
|
|
ENTRY_SAME(fchmod)
|
|
|
|
ENTRY_SAME(fchown) /* 95 */
|
|
|
|
ENTRY_SAME(getpriority)
|
|
|
|
ENTRY_SAME(setpriority)
|
|
|
|
ENTRY_SAME(recv)
|
|
|
|
ENTRY_COMP(statfs)
|
|
|
|
ENTRY_COMP(fstatfs) /* 100 */
|
|
|
|
ENTRY_SAME(stat64)
|
|
|
|
ENTRY_SAME(ni_syscall) /* was socketcall */
|
|
|
|
ENTRY_SAME(syslog)
|
|
|
|
/* even though manpage says struct timeval contains longs, ours has
|
|
|
|
* time_t and suseconds_t -- both of which are safe wide/narrow */
|
|
|
|
ENTRY_COMP(setitimer)
|
|
|
|
ENTRY_COMP(getitimer) /* 105 */
|
|
|
|
ENTRY_SAME(capget)
|
|
|
|
ENTRY_SAME(capset)
|
|
|
|
ENTRY_OURS(pread64)
|
|
|
|
ENTRY_OURS(pwrite64)
|
|
|
|
ENTRY_SAME(getcwd) /* 110 */
|
|
|
|
ENTRY_SAME(vhangup)
|
|
|
|
ENTRY_SAME(fstat64)
|
|
|
|
ENTRY_SAME(vfork_wrapper)
|
|
|
|
/* struct rusage contains longs... */
|
|
|
|
ENTRY_COMP(wait4)
|
|
|
|
ENTRY_SAME(swapoff) /* 115 */
|
2007-02-10 17:46:00 +08:00
|
|
|
ENTRY_COMP(sysinfo)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(shutdown)
|
|
|
|
ENTRY_SAME(fsync)
|
|
|
|
ENTRY_SAME(madvise)
|
|
|
|
ENTRY_SAME(clone_wrapper) /* 120 */
|
|
|
|
ENTRY_SAME(setdomainname)
|
|
|
|
ENTRY_DIFF(sendfile)
|
|
|
|
/* struct sockaddr... */
|
|
|
|
ENTRY_SAME(recvfrom)
|
|
|
|
/* struct timex contains longs */
|
2006-03-26 17:37:29 +08:00
|
|
|
ENTRY_COMP(adjtimex)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(mprotect) /* 125 */
|
|
|
|
/* old_sigset_t forced to 32 bits. Beware glibc sigset_t */
|
|
|
|
ENTRY_COMP(sigprocmask)
|
|
|
|
ENTRY_SAME(ni_syscall) /* create_module */
|
|
|
|
ENTRY_SAME(init_module)
|
|
|
|
ENTRY_SAME(delete_module)
|
|
|
|
ENTRY_SAME(ni_syscall) /* 130: get_kernel_syms */
|
|
|
|
/* time_t inside struct dqblk */
|
|
|
|
ENTRY_SAME(quotactl)
|
|
|
|
ENTRY_SAME(getpgid)
|
|
|
|
ENTRY_SAME(fchdir)
|
|
|
|
ENTRY_SAME(bdflush)
|
|
|
|
ENTRY_SAME(sysfs) /* 135 */
|
2006-08-27 23:12:13 +08:00
|
|
|
ENTRY_OURS(personality)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(ni_syscall) /* for afs_syscall */
|
|
|
|
ENTRY_SAME(setfsuid)
|
|
|
|
ENTRY_SAME(setfsgid)
|
|
|
|
/* I think this might work */
|
|
|
|
ENTRY_SAME(llseek) /* 140 */
|
2007-06-29 15:38:10 +08:00
|
|
|
ENTRY_COMP(getdents)
|
2005-04-17 06:20:36 +08:00
|
|
|
/* it is POSSIBLE that select will be OK because even though fd_set
|
|
|
|
* contains longs, the macros and sizes are clever. */
|
|
|
|
ENTRY_COMP(select)
|
|
|
|
ENTRY_SAME(flock)
|
|
|
|
ENTRY_SAME(msync)
|
|
|
|
/* struct iovec contains pointers */
|
|
|
|
ENTRY_COMP(readv) /* 145 */
|
|
|
|
ENTRY_COMP(writev)
|
|
|
|
ENTRY_SAME(getsid)
|
|
|
|
ENTRY_SAME(fdatasync)
|
|
|
|
/* struct __sysctl_args is a mess */
|
2009-04-03 15:49:26 +08:00
|
|
|
ENTRY_COMP(sysctl)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(mlock) /* 150 */
|
|
|
|
ENTRY_SAME(munlock)
|
|
|
|
ENTRY_SAME(mlockall)
|
|
|
|
ENTRY_SAME(munlockall)
|
|
|
|
/* struct sched_param is ok for now */
|
|
|
|
ENTRY_SAME(sched_setparam)
|
|
|
|
ENTRY_SAME(sched_getparam) /* 155 */
|
|
|
|
ENTRY_SAME(sched_setscheduler)
|
|
|
|
ENTRY_SAME(sched_getscheduler)
|
|
|
|
ENTRY_SAME(sched_yield)
|
|
|
|
ENTRY_SAME(sched_get_priority_max)
|
|
|
|
ENTRY_SAME(sched_get_priority_min) /* 160 */
|
|
|
|
/* These 2 would've worked if someone had defined struct timespec
|
|
|
|
* carefully, like timeval for example (which is about the same).
|
|
|
|
* Unfortunately it contains a long :-( */
|
|
|
|
ENTRY_DIFF(sched_rr_get_interval)
|
|
|
|
ENTRY_COMP(nanosleep)
|
|
|
|
ENTRY_SAME(mremap)
|
|
|
|
ENTRY_SAME(setresuid)
|
|
|
|
ENTRY_SAME(getresuid) /* 165 */
|
|
|
|
ENTRY_DIFF(sigaltstack_wrapper)
|
|
|
|
ENTRY_SAME(ni_syscall) /* query_module */
|
|
|
|
ENTRY_SAME(poll)
|
|
|
|
/* structs contain pointers and an in_addr... */
|
2011-08-29 08:38:57 +08:00
|
|
|
ENTRY_SAME(ni_syscall) /* was nfsservctl */
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(setresgid) /* 170 */
|
|
|
|
ENTRY_SAME(getresgid)
|
|
|
|
ENTRY_SAME(prctl)
|
|
|
|
/* signals need a careful review */
|
|
|
|
ENTRY_SAME(rt_sigreturn_wrapper)
|
|
|
|
ENTRY_DIFF(rt_sigaction)
|
|
|
|
ENTRY_DIFF(rt_sigprocmask) /* 175 */
|
|
|
|
ENTRY_DIFF(rt_sigpending)
|
|
|
|
ENTRY_COMP(rt_sigtimedwait)
|
|
|
|
/* even though the struct siginfo_t is different, it appears like
|
|
|
|
* all the paths use values which should be same wide and narrow.
|
|
|
|
* Also the struct is padded to 128 bytes which means we don't have
|
|
|
|
* to worry about faulting trying to copy in a larger 64-bit
|
|
|
|
* struct from a 32-bit user-space app.
|
|
|
|
*/
|
2007-02-09 08:38:54 +08:00
|
|
|
ENTRY_COMP(rt_sigqueueinfo)
|
2007-01-09 05:28:06 +08:00
|
|
|
ENTRY_COMP(rt_sigsuspend)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(chown) /* 180 */
|
|
|
|
/* setsockopt() used by iptables: SO_SET_REPLACE/SO_SET_ADD_COUNTERS */
|
|
|
|
ENTRY_COMP(setsockopt)
|
2006-02-20 02:02:50 +08:00
|
|
|
ENTRY_COMP(getsockopt)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_COMP(sendmsg)
|
|
|
|
ENTRY_COMP(recvmsg)
|
|
|
|
ENTRY_SAME(semop) /* 185 */
|
|
|
|
ENTRY_SAME(semget)
|
|
|
|
ENTRY_DIFF(semctl)
|
|
|
|
ENTRY_DIFF(msgsnd)
|
|
|
|
ENTRY_DIFF(msgrcv)
|
|
|
|
ENTRY_SAME(msgget) /* 190 */
|
|
|
|
ENTRY_SAME(msgctl)
|
2005-05-01 23:59:12 +08:00
|
|
|
ENTRY_SAME(shmat)
|
2005-04-17 06:20:36 +08:00
|
|
|
ENTRY_SAME(shmdt)
|
|
|
|
ENTRY_SAME(shmget)
|
|
|
|
ENTRY_SAME(shmctl) /* 195 */
|
|
|
|
ENTRY_SAME(ni_syscall) /* streams1 */
|
|
|
|
ENTRY_SAME(ni_syscall) /* streams2 */
|
|
|
|
ENTRY_SAME(lstat64)
|
|
|
|
ENTRY_OURS(truncate64)
|
|
|
|
ENTRY_OURS(ftruncate64) /* 200 */
|
|
|
|
ENTRY_SAME(getdents64)
|
|
|
|
ENTRY_COMP(fcntl64)
|
|
|
|
ENTRY_SAME(ni_syscall) /* attrctl -- dead */
|
|
|
|
ENTRY_SAME(ni_syscall) /* acl_get -- dead */
|
|
|
|
ENTRY_SAME(ni_syscall) /* 205 (acl_set -- dead) */
|
|
|
|
ENTRY_SAME(gettid)
|
|
|
|
ENTRY_OURS(readahead)
|
|
|
|
ENTRY_SAME(tkill)
|
|
|
|
ENTRY_SAME(sendfile64)
|
|
|
|
ENTRY_COMP(futex) /* 210 */
|
|
|
|
ENTRY_COMP(sched_setaffinity)
|
|
|
|
ENTRY_COMP(sched_getaffinity)
|
|
|
|
ENTRY_SAME(ni_syscall) /* set_thread_area */
|
|
|
|
ENTRY_SAME(ni_syscall) /* get_thread_area */
|
|
|
|
ENTRY_SAME(io_setup) /* 215 */
|
|
|
|
ENTRY_SAME(io_destroy)
|
|
|
|
ENTRY_SAME(io_getevents)
|
|
|
|
ENTRY_SAME(io_submit)
|
|
|
|
ENTRY_SAME(io_cancel)
|
|
|
|
ENTRY_SAME(alloc_hugepages) /* 220 */
|
|
|
|
ENTRY_SAME(free_hugepages)
|
|
|
|
ENTRY_SAME(exit_group)
|
|
|
|
ENTRY_DIFF(lookup_dcookie)
|
|
|
|
ENTRY_SAME(epoll_create)
|
|
|
|
ENTRY_SAME(epoll_ctl) /* 225 */
|
|
|
|
ENTRY_SAME(epoll_wait)
|
|
|
|
ENTRY_SAME(remap_file_pages)
|
|
|
|
ENTRY_SAME(semtimedop)
|
|
|
|
ENTRY_SAME(mq_open)
|
|
|
|
ENTRY_SAME(mq_unlink) /* 230 */
|
|
|
|
ENTRY_SAME(mq_timedsend)
|
|
|
|
ENTRY_SAME(mq_timedreceive)
|
|
|
|
ENTRY_SAME(mq_notify)
|
|
|
|
ENTRY_SAME(mq_getsetattr)
|
|
|
|
ENTRY_COMP(waitid) /* 235 */
|
|
|
|
ENTRY_OURS(fadvise64_64)
|
|
|
|
ENTRY_SAME(set_tid_address)
|
|
|
|
ENTRY_SAME(setxattr)
|
|
|
|
ENTRY_SAME(lsetxattr)
|
|
|
|
ENTRY_SAME(fsetxattr) /* 240 */
|
|
|
|
ENTRY_SAME(getxattr)
|
|
|
|
ENTRY_SAME(lgetxattr)
|
|
|
|
ENTRY_SAME(fgetxattr)
|
|
|
|
ENTRY_SAME(listxattr)
|
|
|
|
ENTRY_SAME(llistxattr) /* 245 */
|
|
|
|
ENTRY_SAME(flistxattr)
|
|
|
|
ENTRY_SAME(removexattr)
|
|
|
|
ENTRY_SAME(lremovexattr)
|
|
|
|
ENTRY_SAME(fremovexattr)
|
|
|
|
ENTRY_COMP(timer_create) /* 250 */
|
|
|
|
ENTRY_COMP(timer_settime)
|
|
|
|
ENTRY_COMP(timer_gettime)
|
|
|
|
ENTRY_SAME(timer_getoverrun)
|
|
|
|
ENTRY_SAME(timer_delete)
|
|
|
|
ENTRY_COMP(clock_settime) /* 255 */
|
|
|
|
ENTRY_COMP(clock_gettime)
|
|
|
|
ENTRY_COMP(clock_getres)
|
|
|
|
ENTRY_COMP(clock_nanosleep)
|
|
|
|
ENTRY_SAME(tgkill)
|
|
|
|
ENTRY_COMP(mbind) /* 260 */
|
|
|
|
ENTRY_COMP(get_mempolicy)
|
|
|
|
ENTRY_COMP(set_mempolicy)
|
2005-10-22 10:45:57 +08:00
|
|
|
ENTRY_SAME(ni_syscall) /* 263: reserved for vserver */
|
|
|
|
ENTRY_SAME(add_key)
|
|
|
|
ENTRY_SAME(request_key) /* 265 */
|
|
|
|
ENTRY_SAME(keyctl)
|
|
|
|
ENTRY_SAME(ioprio_set)
|
|
|
|
ENTRY_SAME(ioprio_get)
|
2006-01-30 11:25:49 +08:00
|
|
|
ENTRY_SAME(inotify_init)
|
|
|
|
ENTRY_SAME(inotify_add_watch) /* 270 */
|
|
|
|
ENTRY_SAME(inotify_rm_watch)
|
|
|
|
ENTRY_SAME(migrate_pages)
|
2007-01-09 05:28:06 +08:00
|
|
|
ENTRY_COMP(pselect6)
|
|
|
|
ENTRY_COMP(ppoll)
|
2006-01-30 11:25:49 +08:00
|
|
|
ENTRY_COMP(openat) /* 275 */
|
|
|
|
ENTRY_SAME(mkdirat)
|
|
|
|
ENTRY_SAME(mknodat)
|
|
|
|
ENTRY_SAME(fchownat)
|
|
|
|
ENTRY_COMP(futimesat)
|
2006-02-14 11:44:22 +08:00
|
|
|
ENTRY_SAME(fstatat64) /* 280 */
|
2006-01-30 11:25:49 +08:00
|
|
|
ENTRY_SAME(unlinkat)
|
|
|
|
ENTRY_SAME(renameat)
|
|
|
|
ENTRY_SAME(linkat)
|
|
|
|
ENTRY_SAME(symlinkat)
|
|
|
|
ENTRY_SAME(readlinkat) /* 285 */
|
|
|
|
ENTRY_SAME(fchmodat)
|
|
|
|
ENTRY_SAME(faccessat)
|
2006-04-20 12:44:07 +08:00
|
|
|
ENTRY_SAME(unshare)
|
|
|
|
ENTRY_COMP(set_robust_list)
|
|
|
|
ENTRY_COMP(get_robust_list) /* 290 */
|
|
|
|
ENTRY_SAME(splice)
|
|
|
|
ENTRY_OURS(sync_file_range)
|
|
|
|
ENTRY_SAME(tee)
|
2006-12-23 07:12:02 +08:00
|
|
|
ENTRY_COMP(vmsplice)
|
|
|
|
ENTRY_COMP(move_pages) /* 295 */
|
|
|
|
ENTRY_SAME(getcpu)
|
|
|
|
ENTRY_SAME(epoll_pwait)
|
2007-02-21 23:32:57 +08:00
|
|
|
ENTRY_COMP(statfs64)
|
|
|
|
ENTRY_COMP(fstatfs64)
|
2007-03-17 23:17:31 +08:00
|
|
|
ENTRY_COMP(kexec_load) /* 300 */
|
2007-05-28 03:15:49 +08:00
|
|
|
ENTRY_COMP(utimensat)
|
|
|
|
ENTRY_COMP(signalfd)
|
2008-02-19 05:57:26 +08:00
|
|
|
ENTRY_SAME(ni_syscall) /* was timerfd */
|
2007-05-28 03:15:49 +08:00
|
|
|
ENTRY_SAME(eventfd)
|
2007-09-29 01:25:59 +08:00
|
|
|
ENTRY_COMP(fallocate) /* 305 */
|
2008-02-19 06:00:18 +08:00
|
|
|
ENTRY_SAME(timerfd_create)
|
|
|
|
ENTRY_COMP(timerfd_settime)
|
|
|
|
ENTRY_COMP(timerfd_gettime)
|
2008-08-10 02:38:18 +08:00
|
|
|
ENTRY_COMP(signalfd4)
|
|
|
|
ENTRY_SAME(eventfd2) /* 310 */
|
|
|
|
ENTRY_SAME(epoll_create1)
|
|
|
|
ENTRY_SAME(dup3)
|
|
|
|
ENTRY_SAME(pipe2)
|
|
|
|
ENTRY_SAME(inotify_init1)
|
2009-06-23 23:40:37 +08:00
|
|
|
ENTRY_COMP(preadv) /* 315 */
|
2009-04-27 20:29:12 +08:00
|
|
|
ENTRY_COMP(pwritev)
|
2009-06-23 23:40:37 +08:00
|
|
|
ENTRY_COMP(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 18:02:48 +08:00
|
|
|
ENTRY_SAME(perf_event_open)
|
2009-12-23 06:50:33 +08:00
|
|
|
ENTRY_COMP(recvmmsg)
|
2009-12-27 01:19:17 +08:00
|
|
|
ENTRY_SAME(accept4) /* 320 */
|
2010-10-14 08:35:56 +08:00
|
|
|
ENTRY_SAME(prlimit64)
|
2011-04-15 23:55:44 +08:00
|
|
|
ENTRY_SAME(fanotify_init)
|
|
|
|
ENTRY_COMP(fanotify_mark)
|
2011-04-15 23:55:45 +08:00
|
|
|
ENTRY_COMP(clock_adjtime)
|
2011-04-15 23:55:46 +08:00
|
|
|
ENTRY_SAME(name_to_handle_at) /* 325 */
|
|
|
|
ENTRY_COMP(open_by_handle_at)
|
2011-04-15 23:55:47 +08:00
|
|
|
ENTRY_SAME(syncfs)
|
2011-05-28 10:28:27 +08:00
|
|
|
ENTRY_SAME(setns)
|
2011-07-29 22:37:02 +08:00
|
|
|
ENTRY_COMP(sendmmsg)
|
2007-05-28 03:15:49 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
/* Nothing yet */
|
|
|
|
|
2007-03-17 23:15:01 +08:00
|
|
|
#undef ENTRY_SAME
|
|
|
|
#undef ENTRY_DIFF
|
|
|
|
#undef ENTRY_UHOH
|
|
|
|
#undef ENTRY_COMP
|
|
|
|
#undef ENTRY_OURS
|