Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15530173
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类: LINUX

2008-09-12 15:45:05

armlinux系统调用号和系统调用实现函数位置

系统调用序号:linux/include/asm-arm/unistd.h
系统调用函数:arch/arm/kernel/calls.S
对应了的文件:kernel/include/asm-generic/unistd.h

可以查找关键字SYSCALL_DEFINE
因为kernel/include/linux/syscalls.h中包含了系统调用的统一定义

#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
#define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
#define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
#define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
#define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
#define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
======================================================================================================================
/*
 *  linux/include/asm-arm/unistd.h
 *
 *  Copyright (C) 2001-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.
 *
 * Please forward _all_ changes to this file to rmk@arm.linux.org.uk,
 * no matter what the change is.  Thanks!
 */
#ifndef __ASM_ARM_UNISTD_H
#define __ASM_ARM_UNISTD_H

#define __NR_OABI_SYSCALL_BASE    0x900000

#if defined(__thumb__) || defined(__ARM_EABI__)
#define __NR_SYSCALL_BASE    0
#else
#define __NR_SYSCALL_BASE    __NR_OABI_SYSCALL_BASE
#endif

/*
 * This file contains the system call numbers.
 */

#define __NR_restart_syscall        (__NR_SYSCALL_BASE+  0)
#define __NR_exit            (__NR_SYSCALL_BASE+  1)
#define __NR_fork            (__NR_SYSCALL_BASE+  2)
#define __NR_read            (__NR_SYSCALL_BASE+  3)
#define __NR_write            (__NR_SYSCALL_BASE+  4)
#define __NR_open            (__NR_SYSCALL_BASE+  5)
#define __NR_close            (__NR_SYSCALL_BASE+  6)
                    /* 7 was sys_waitpid */
#define __NR_creat            (__NR_SYSCALL_BASE+  8)
#define __NR_link            (__NR_SYSCALL_BASE+  9)
#define __NR_unlink            (__NR_SYSCALL_BASE+ 10)
#define __NR_execve            (__NR_SYSCALL_BASE+ 11)
#define __NR_chdir            (__NR_SYSCALL_BASE+ 12)
#define __NR_time            (__NR_SYSCALL_BASE+ 13)
#define __NR_mknod            (__NR_SYSCALL_BASE+ 14)
#define __NR_chmod            (__NR_SYSCALL_BASE+ 15)
#define __NR_lchown            (__NR_SYSCALL_BASE+ 16)
                    /* 17 was sys_break */
                    /* 18 was sys_stat */
#define __NR_lseek            (__NR_SYSCALL_BASE+ 19)
#define __NR_getpid            (__NR_SYSCALL_BASE+ 20)
#define __NR_mount            (__NR_SYSCALL_BASE+ 21)
#define __NR_umount            (__NR_SYSCALL_BASE+ 22)
#define __NR_setuid            (__NR_SYSCALL_BASE+ 23)
#define __NR_getuid            (__NR_SYSCALL_BASE+ 24)
#define __NR_stime            (__NR_SYSCALL_BASE+ 25)
#define __NR_ptrace            (__NR_SYSCALL_BASE+ 26)
#define __NR_alarm            (__NR_SYSCALL_BASE+ 27)
                    /* 28 was sys_fstat */
#define __NR_pause            (__NR_SYSCALL_BASE+ 29)
#define __NR_utime            (__NR_SYSCALL_BASE+ 30)
                    /* 31 was sys_stty */
                    /* 32 was sys_gtty */
#define __NR_access            (__NR_SYSCALL_BASE+ 33)
#define __NR_nice            (__NR_SYSCALL_BASE+ 34)
                    /* 35 was sys_ftime */
#define __NR_sync            (__NR_SYSCALL_BASE+ 36)
#define __NR_kill            (__NR_SYSCALL_BASE+ 37)
#define __NR_rename            (__NR_SYSCALL_BASE+ 38)
#define __NR_mkdir            (__NR_SYSCALL_BASE+ 39)
#define __NR_rmdir            (__NR_SYSCALL_BASE+ 40)
#define __NR_dup            (__NR_SYSCALL_BASE+ 41)
#define __NR_pipe            (__NR_SYSCALL_BASE+ 42)
#define __NR_times            (__NR_SYSCALL_BASE+ 43)
                    /* 44 was sys_prof */
#define __NR_brk            (__NR_SYSCALL_BASE+ 45)
#define __NR_setgid            (__NR_SYSCALL_BASE+ 46)
#define __NR_getgid            (__NR_SYSCALL_BASE+ 47)
                    /* 48 was sys_signal */
#define __NR_geteuid            (__NR_SYSCALL_BASE+ 49)
#define __NR_getegid            (__NR_SYSCALL_BASE+ 50)
#define __NR_acct            (__NR_SYSCALL_BASE+ 51)
#define __NR_umount2            (__NR_SYSCALL_BASE+ 52)
                    /* 53 was sys_lock */
#define __NR_ioctl            (__NR_SYSCALL_BASE+ 54)
#define __NR_fcntl            (__NR_SYSCALL_BASE+ 55)
                    /* 56 was sys_mpx */
#define __NR_setpgid            (__NR_SYSCALL_BASE+ 57)
                    /* 58 was sys_ulimit */
                    /* 59 was sys_olduname */
#define __NR_umask            (__NR_SYSCALL_BASE+ 60)
#define __NR_chroot            (__NR_SYSCALL_BASE+ 61)
#define __NR_ustat            (__NR_SYSCALL_BASE+ 62)
#define __NR_dup2            (__NR_SYSCALL_BASE+ 63)
#define __NR_getppid            (__NR_SYSCALL_BASE+ 64)
#define __NR_getpgrp            (__NR_SYSCALL_BASE+ 65)
#define __NR_setsid            (__NR_SYSCALL_BASE+ 66)
#define __NR_sigaction            (__NR_SYSCALL_BASE+ 67)
                    /* 68 was sys_sgetmask */
                    /* 69 was sys_ssetmask */
#define __NR_setreuid            (__NR_SYSCALL_BASE+ 70)
#define __NR_setregid            (__NR_SYSCALL_BASE+ 71)
#define __NR_sigsuspend            (__NR_SYSCALL_BASE+ 72)
#define __NR_sigpending            (__NR_SYSCALL_BASE+ 73)
#define __NR_sethostname        (__NR_SYSCALL_BASE+ 74)
#define __NR_setrlimit            (__NR_SYSCALL_BASE+ 75)
#define __NR_getrlimit            (__NR_SYSCALL_BASE+ 76)    /* Back compat 2GB limited rlimit */
#define __NR_getrusage            (__NR_SYSCALL_BASE+ 77)
#define __NR_gettimeofday        (__NR_SYSCALL_BASE+ 78)
#define __NR_settimeofday        (__NR_SYSCALL_BASE+ 79)
#define __NR_getgroups            (__NR_SYSCALL_BASE+ 80)
#define __NR_setgroups            (__NR_SYSCALL_BASE+ 81)
#define __NR_select            (__NR_SYSCALL_BASE+ 82)
#define __NR_symlink            (__NR_SYSCALL_BASE+ 83)
                    /* 84 was sys_lstat */
#define __NR_readlink            (__NR_SYSCALL_BASE+ 85)
#define __NR_uselib            (__NR_SYSCALL_BASE+ 86)
#define __NR_swapon            (__NR_SYSCALL_BASE+ 87)
#define __NR_reboot            (__NR_SYSCALL_BASE+ 88)
#define __NR_readdir            (__NR_SYSCALL_BASE+ 89)
#define __NR_mmap            (__NR_SYSCALL_BASE+ 90)
#define __NR_munmap            (__NR_SYSCALL_BASE+ 91)
#define __NR_truncate            (__NR_SYSCALL_BASE+ 92)
#define __NR_ftruncate            (__NR_SYSCALL_BASE+ 93)
#define __NR_fchmod            (__NR_SYSCALL_BASE+ 94)
#define __NR_fchown            (__NR_SYSCALL_BASE+ 95)
#define __NR_getpriority        (__NR_SYSCALL_BASE+ 96)
#define __NR_setpriority        (__NR_SYSCALL_BASE+ 97)
                    /* 98 was sys_profil */
#define __NR_statfs            (__NR_SYSCALL_BASE+ 99)
#define __NR_fstatfs            (__NR_SYSCALL_BASE+100)
                    /* 101 was sys_ioperm */
#define __NR_socketcall            (__NR_SYSCALL_BASE+102)
#define __NR_syslog            (__NR_SYSCALL_BASE+103)
#define __NR_setitimer            (__NR_SYSCALL_BASE+104)
#define __NR_getitimer            (__NR_SYSCALL_BASE+105)
#define __NR_stat            (__NR_SYSCALL_BASE+106)
#define __NR_lstat            (__NR_SYSCALL_BASE+107)
#define __NR_fstat            (__NR_SYSCALL_BASE+108)
                    /* 109 was sys_uname */
                    /* 110 was sys_iopl */
#define __NR_vhangup            (__NR_SYSCALL_BASE+111)
                    /* 112 was sys_idle */
#define __NR_syscall            (__NR_SYSCALL_BASE+113) /* syscall to call a syscall! */
#define __NR_wait4            (__NR_SYSCALL_BASE+114)
#define __NR_swapoff            (__NR_SYSCALL_BASE+115)
#define __NR_sysinfo            (__NR_SYSCALL_BASE+116)
#define __NR_ipc            (__NR_SYSCALL_BASE+117)
#define __NR_fsync            (__NR_SYSCALL_BASE+118)
#define __NR_sigreturn            (__NR_SYSCALL_BASE+119)
#define __NR_clone            (__NR_SYSCALL_BASE+120)
#define __NR_setdomainname        (__NR_SYSCALL_BASE+121)
#define __NR_uname            (__NR_SYSCALL_BASE+122)
                    /* 123 was sys_modify_ldt */
#define __NR_adjtimex            (__NR_SYSCALL_BASE+124)
#define __NR_mprotect            (__NR_SYSCALL_BASE+125)
#define __NR_sigprocmask        (__NR_SYSCALL_BASE+126)
                    /* 127 was sys_create_module */
#define __NR_init_module        (__NR_SYSCALL_BASE+128)
#define __NR_delete_module        (__NR_SYSCALL_BASE+129)
                    /* 130 was sys_get_kernel_syms */
#define __NR_quotactl            (__NR_SYSCALL_BASE+131)
#define __NR_getpgid            (__NR_SYSCALL_BASE+132)
#define __NR_fchdir            (__NR_SYSCALL_BASE+133)
#define __NR_bdflush            (__NR_SYSCALL_BASE+134)
#define __NR_sysfs            (__NR_SYSCALL_BASE+135)
#define __NR_personality        (__NR_SYSCALL_BASE+136)
                    /* 137 was sys_afs_syscall */
#define __NR_setfsuid            (__NR_SYSCALL_BASE+138)
#define __NR_setfsgid            (__NR_SYSCALL_BASE+139)
#define __NR__llseek            (__NR_SYSCALL_BASE+140)
#define __NR_getdents            (__NR_SYSCALL_BASE+141)
#define __NR__newselect            (__NR_SYSCALL_BASE+142)
#define __NR_flock            (__NR_SYSCALL_BASE+143)
#define __NR_msync            (__NR_SYSCALL_BASE+144)
#define __NR_readv            (__NR_SYSCALL_BASE+145)
#define __NR_writev            (__NR_SYSCALL_BASE+146)
#define __NR_getsid            (__NR_SYSCALL_BASE+147)
#define __NR_fdatasync            (__NR_SYSCALL_BASE+148)
#define __NR__sysctl            (__NR_SYSCALL_BASE+149)
#define __NR_mlock            (__NR_SYSCALL_BASE+150)
#define __NR_munlock            (__NR_SYSCALL_BASE+151)
#define __NR_mlockall            (__NR_SYSCALL_BASE+152)
#define __NR_munlockall            (__NR_SYSCALL_BASE+153)
#define __NR_sched_setparam        (__NR_SYSCALL_BASE+154)
#define __NR_sched_getparam        (__NR_SYSCALL_BASE+155)
#define __NR_sched_setscheduler        (__NR_SYSCALL_BASE+156)
#define __NR_sched_getscheduler        (__NR_SYSCALL_BASE+157)
#define __NR_sched_yield        (__NR_SYSCALL_BASE+158)
#define __NR_sched_get_priority_max    (__NR_SYSCALL_BASE+159)
#define __NR_sched_get_priority_min    (__NR_SYSCALL_BASE+160)
#define __NR_sched_rr_get_interval    (__NR_SYSCALL_BASE+161)
#define __NR_nanosleep            (__NR_SYSCALL_BASE+162)
#define __NR_mremap            (__NR_SYSCALL_BASE+163)
#define __NR_setresuid            (__NR_SYSCALL_BASE+164)
#define __NR_getresuid            (__NR_SYSCALL_BASE+165)
                    /* 166 was sys_vm86 */
                    /* 167 was sys_query_module */
#define __NR_poll            (__NR_SYSCALL_BASE+168)
#define __NR_nfsservctl            (__NR_SYSCALL_BASE+169)
#define __NR_setresgid            (__NR_SYSCALL_BASE+170)
#define __NR_getresgid            (__NR_SYSCALL_BASE+171)
#define __NR_prctl            (__NR_SYSCALL_BASE+172)
#define __NR_rt_sigreturn        (__NR_SYSCALL_BASE+173)
#define __NR_rt_sigaction        (__NR_SYSCALL_BASE+174)
#define __NR_rt_sigprocmask        (__NR_SYSCALL_BASE+175)
#define __NR_rt_sigpending        (__NR_SYSCALL_BASE+176)
#define __NR_rt_sigtimedwait        (__NR_SYSCALL_BASE+177)
#define __NR_rt_sigqueueinfo        (__NR_SYSCALL_BASE+178)
#define __NR_rt_sigsuspend        (__NR_SYSCALL_BASE+179)
#define __NR_pread64            (__NR_SYSCALL_BASE+180)
#define __NR_pwrite64            (__NR_SYSCALL_BASE+181)
#define __NR_chown            (__NR_SYSCALL_BASE+182)
#define __NR_getcwd            (__NR_SYSCALL_BASE+183)
#define __NR_capget            (__NR_SYSCALL_BASE+184)
#define __NR_capset            (__NR_SYSCALL_BASE+185)
#define __NR_sigaltstack        (__NR_SYSCALL_BASE+186)
#define __NR_sendfile            (__NR_SYSCALL_BASE+187)
                    /* 188 reserved */
                    /* 189 reserved */
#define __NR_vfork            (__NR_SYSCALL_BASE+190)
#define __NR_ugetrlimit            (__NR_SYSCALL_BASE+191)    /* SuS compliant getrlimit */
#define __NR_mmap2            (__NR_SYSCALL_BASE+192)
#define __NR_truncate64            (__NR_SYSCALL_BASE+193)
#define __NR_ftruncate64        (__NR_SYSCALL_BASE+194)
#define __NR_stat64            (__NR_SYSCALL_BASE+195)
#define __NR_lstat64            (__NR_SYSCALL_BASE+196)
#define __NR_fstat64            (__NR_SYSCALL_BASE+197)
#define __NR_lchown32            (__NR_SYSCALL_BASE+198)
#define __NR_getuid32            (__NR_SYSCALL_BASE+199)
#define __NR_getgid32            (__NR_SYSCALL_BASE+200)
#define __NR_geteuid32            (__NR_SYSCALL_BASE+201)
#define __NR_getegid32            (__NR_SYSCALL_BASE+202)
#define __NR_setreuid32            (__NR_SYSCALL_BASE+203)
#define __NR_setregid32            (__NR_SYSCALL_BASE+204)
#define __NR_getgroups32        (__NR_SYSCALL_BASE+205)
#define __NR_setgroups32        (__NR_SYSCALL_BASE+206)
#define __NR_fchown32            (__NR_SYSCALL_BASE+207)
#define __NR_setresuid32        (__NR_SYSCALL_BASE+208)
#define __NR_getresuid32        (__NR_SYSCALL_BASE+209)
#define __NR_setresgid32        (__NR_SYSCALL_BASE+210)
#define __NR_getresgid32        (__NR_SYSCALL_BASE+211)
#define __NR_chown32            (__NR_SYSCALL_BASE+212)
#define __NR_setuid32            (__NR_SYSCALL_BASE+213)
#define __NR_setgid32            (__NR_SYSCALL_BASE+214)
#define __NR_setfsuid32            (__NR_SYSCALL_BASE+215)
#define __NR_setfsgid32            (__NR_SYSCALL_BASE+216)
#define __NR_getdents64            (__NR_SYSCALL_BASE+217)
#define __NR_pivot_root            (__NR_SYSCALL_BASE+218)
#define __NR_mincore            (__NR_SYSCALL_BASE+219)
#define __NR_madvise            (__NR_SYSCALL_BASE+220)
#define __NR_fcntl64            (__NR_SYSCALL_BASE+221)
                    /* 222 for tux */
                    /* 223 is unused */
#define __NR_gettid            (__NR_SYSCALL_BASE+224)
#define __NR_readahead            (__NR_SYSCALL_BASE+225)
#define __NR_setxattr            (__NR_SYSCALL_BASE+226)
#define __NR_lsetxattr            (__NR_SYSCALL_BASE+227)
#define __NR_fsetxattr            (__NR_SYSCALL_BASE+228)
#define __NR_getxattr            (__NR_SYSCALL_BASE+229)
#define __NR_lgetxattr            (__NR_SYSCALL_BASE+230)
#define __NR_fgetxattr            (__NR_SYSCALL_BASE+231)
#define __NR_listxattr            (__NR_SYSCALL_BASE+232)
#define __NR_llistxattr            (__NR_SYSCALL_BASE+233)
#define __NR_flistxattr            (__NR_SYSCALL_BASE+234)
#define __NR_removexattr        (__NR_SYSCALL_BASE+235)
#define __NR_lremovexattr        (__NR_SYSCALL_BASE+236)
#define __NR_fremovexattr        (__NR_SYSCALL_BASE+237)
#define __NR_tkill            (__NR_SYSCALL_BASE+238)
#define __NR_sendfile64            (__NR_SYSCALL_BASE+239)
#define __NR_futex            (__NR_SYSCALL_BASE+240)
#define __NR_sched_setaffinity        (__NR_SYSCALL_BASE+241)
#define __NR_sched_getaffinity        (__NR_SYSCALL_BASE+242)
#define __NR_io_setup            (__NR_SYSCALL_BASE+243)
#define __NR_io_destroy            (__NR_SYSCALL_BASE+244)
#define __NR_io_getevents        (__NR_SYSCALL_BASE+245)
#define __NR_io_submit            (__NR_SYSCALL_BASE+246)
#define __NR_io_cancel            (__NR_SYSCALL_BASE+247)
#define __NR_exit_group            (__NR_SYSCALL_BASE+248)
#define __NR_lookup_dcookie        (__NR_SYSCALL_BASE+249)
#define __NR_epoll_create        (__NR_SYSCALL_BASE+250)
#define __NR_epoll_ctl            (__NR_SYSCALL_BASE+251)
#define __NR_epoll_wait            (__NR_SYSCALL_BASE+252)
#define __NR_remap_file_pages        (__NR_SYSCALL_BASE+253)
                    /* 254 for set_thread_area */
                    /* 255 for get_thread_area */
#define __NR_set_tid_address        (__NR_SYSCALL_BASE+256)
#define __NR_timer_create        (__NR_SYSCALL_BASE+257)
#define __NR_timer_settime        (__NR_SYSCALL_BASE+258)
#define __NR_timer_gettime        (__NR_SYSCALL_BASE+259)
#define __NR_timer_getoverrun        (__NR_SYSCALL_BASE+260)
#define __NR_timer_delete        (__NR_SYSCALL_BASE+261)
#define __NR_clock_settime        (__NR_SYSCALL_BASE+262)
#define __NR_clock_gettime        (__NR_SYSCALL_BASE+263)
#define __NR_clock_getres        (__NR_SYSCALL_BASE+264)
#define __NR_clock_nanosleep        (__NR_SYSCALL_BASE+265)
#define __NR_statfs64            (__NR_SYSCALL_BASE+266)
#define __NR_fstatfs64            (__NR_SYSCALL_BASE+267)
#define __NR_tgkill            (__NR_SYSCALL_BASE+268)
#define __NR_utimes            (__NR_SYSCALL_BASE+269)
#define __NR_arm_fadvise64_64        (__NR_SYSCALL_BASE+270)
#define __NR_pciconfig_iobase        (__NR_SYSCALL_BASE+271)
#define __NR_pciconfig_read        (__NR_SYSCALL_BASE+272)
#define __NR_pciconfig_write        (__NR_SYSCALL_BASE+273)
#define __NR_mq_open            (__NR_SYSCALL_BASE+274)
#define __NR_mq_unlink            (__NR_SYSCALL_BASE+275)
#define __NR_mq_timedsend        (__NR_SYSCALL_BASE+276)
#define __NR_mq_timedreceive        (__NR_SYSCALL_BASE+277)
#define __NR_mq_notify            (__NR_SYSCALL_BASE+278)
#define __NR_mq_getsetattr        (__NR_SYSCALL_BASE+279)
#define __NR_waitid            (__NR_SYSCALL_BASE+280)
#define __NR_socket            (__NR_SYSCALL_BASE+281)
#define __NR_bind            (__NR_SYSCALL_BASE+282)
#define __NR_connect            (__NR_SYSCALL_BASE+283)
#define __NR_listen            (__NR_SYSCALL_BASE+284)
#define __NR_accept            (__NR_SYSCALL_BASE+285)
#define __NR_getsockname        (__NR_SYSCALL_BASE+286)
#define __NR_getpeername        (__NR_SYSCALL_BASE+287)
#define __NR_socketpair            (__NR_SYSCALL_BASE+288)
#define __NR_send            (__NR_SYSCALL_BASE+289)
#define __NR_sendto            (__NR_SYSCALL_BASE+290)
#define __NR_recv            (__NR_SYSCALL_BASE+291)
#define __NR_recvfrom            (__NR_SYSCALL_BASE+292)
#define __NR_shutdown            (__NR_SYSCALL_BASE+293)
#define __NR_setsockopt            (__NR_SYSCALL_BASE+294)
#define __NR_getsockopt            (__NR_SYSCALL_BASE+295)
#define __NR_sendmsg            (__NR_SYSCALL_BASE+296)
#define __NR_recvmsg            (__NR_SYSCALL_BASE+297)
#define __NR_semop            (__NR_SYSCALL_BASE+298)
#define __NR_semget            (__NR_SYSCALL_BASE+299)
#define __NR_semctl            (__NR_SYSCALL_BASE+300)
#define __NR_msgsnd            (__NR_SYSCALL_BASE+301)
#define __NR_msgrcv            (__NR_SYSCALL_BASE+302)
#define __NR_msgget            (__NR_SYSCALL_BASE+303)
#define __NR_msgctl            (__NR_SYSCALL_BASE+304)
#define __NR_shmat            (__NR_SYSCALL_BASE+305)
#define __NR_shmdt            (__NR_SYSCALL_BASE+306)
#define __NR_shmget            (__NR_SYSCALL_BASE+307)
#define __NR_shmctl            (__NR_SYSCALL_BASE+308)
#define __NR_add_key            (__NR_SYSCALL_BASE+309)
#define __NR_request_key        (__NR_SYSCALL_BASE+310)
#define __NR_keyctl            (__NR_SYSCALL_BASE+311)
#define __NR_semtimedop            (__NR_SYSCALL_BASE+312)
#define __NR_vserver            (__NR_SYSCALL_BASE+313)
#define __NR_ioprio_set            (__NR_SYSCALL_BASE+314)
#define __NR_ioprio_get            (__NR_SYSCALL_BASE+315)
#define __NR_inotify_init        (__NR_SYSCALL_BASE+316)
#define __NR_inotify_add_watch        (__NR_SYSCALL_BASE+317)
#define __NR_inotify_rm_watch        (__NR_SYSCALL_BASE+318)
#define __NR_mbind            (__NR_SYSCALL_BASE+319)
#define __NR_get_mempolicy        (__NR_SYSCALL_BASE+320)
#define __NR_set_mempolicy        (__NR_SYSCALL_BASE+321)
#define __NR_openat            (__NR_SYSCALL_BASE+322)
#define __NR_mkdirat            (__NR_SYSCALL_BASE+323)
#define __NR_mknodat            (__NR_SYSCALL_BASE+324)
#define __NR_fchownat            (__NR_SYSCALL_BASE+325)
#define __NR_futimesat            (__NR_SYSCALL_BASE+326)
#define __NR_fstatat64            (__NR_SYSCALL_BASE+327)
#define __NR_unlinkat            (__NR_SYSCALL_BASE+328)
#define __NR_renameat            (__NR_SYSCALL_BASE+329)
#define __NR_linkat            (__NR_SYSCALL_BASE+330)
#define __NR_symlinkat            (__NR_SYSCALL_BASE+331)
#define __NR_readlinkat            (__NR_SYSCALL_BASE+332)
#define __NR_fchmodat            (__NR_SYSCALL_BASE+333)
#define __NR_faccessat            (__NR_SYSCALL_BASE+334)
                    /* 335 for pselect6 */
                    /* 336 for ppoll */
#define __NR_unshare            (__NR_SYSCALL_BASE+337)
#define __NR_set_robust_list        (__NR_SYSCALL_BASE+338)
#define __NR_get_robust_list        (__NR_SYSCALL_BASE+339)
#define __NR_splice            (__NR_SYSCALL_BASE+340)
#define __NR_arm_sync_file_range    (__NR_SYSCALL_BASE+341)
#define __NR_sync_file_range2        __NR_arm_sync_file_range
#define __NR_tee            (__NR_SYSCALL_BASE+342)
#define __NR_vmsplice            (__NR_SYSCALL_BASE+343)
#define __NR_move_pages            (__NR_SYSCALL_BASE+344)
#define __NR_getcpu            (__NR_SYSCALL_BASE+345)
                    /* 346 for epoll_pwait */
#define __NR_kexec_load            (__NR_SYSCALL_BASE+347)
#define __NR_utimensat            (__NR_SYSCALL_BASE+348)
#define __NR_signalfd            (__NR_SYSCALL_BASE+349)
#define __NR_timerfd            (__NR_SYSCALL_BASE+350)
#define __NR_eventfd            (__NR_SYSCALL_BASE+351)
#define __NR_fallocate            (__NR_SYSCALL_BASE+352)

/*
 * The following SWIs are ARM private.
 */
#define __ARM_NR_BASE            (__NR_SYSCALL_BASE+0x0f0000)
#define __ARM_NR_breakpoint        (__ARM_NR_BASE+1)
#define __ARM_NR_cacheflush        (__ARM_NR_BASE+2)
#define __ARM_NR_usr26            (__ARM_NR_BASE+3)
#define __ARM_NR_usr32            (__ARM_NR_BASE+4)
#define __ARM_NR_set_tls        (__ARM_NR_BASE+5)

/*
 * The following syscalls are obsolete and no longer available for EABI.
 */
#if defined(__ARM_EABI__) && !defined(__KERNEL__)
#undef __NR_time
#undef __NR_umount
#undef __NR_stime
#undef __NR_alarm
#undef __NR_utime
#undef __NR_getrlimit
#undef __NR_select
#undef __NR_readdir
#undef __NR_mmap
#undef __NR_socketcall
#undef __NR_syscall
#undef __NR_ipc
#endif

#ifdef __KERNEL__

#define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_STAT64
#define __ARCH_WANT_SYS_GETHOSTNAME
#define __ARCH_WANT_SYS_PAUSE
#define __ARCH_WANT_SYS_GETPGRP
#define __ARCH_WANT_SYS_LLSEEK
#define __ARCH_WANT_SYS_NICE
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_SIGPROCMASK
#define __ARCH_WANT_SYS_RT_SIGACTION

#if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
#define __ARCH_WANT_SYS_TIME
#define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_ALARM
#define __ARCH_WANT_SYS_UTIME
#define __ARCH_WANT_SYS_OLD_GETRLIMIT
#define __ARCH_WANT_OLD_READDIR
#define __ARCH_WANT_SYS_SOCKETCALL
#endif

/*
 * "Conditional" syscalls
 *
 * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
 * but it doesn't work on all toolchains, so we just do it by hand
 */
#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")

/*
 * Unimplemented (or alternatively implemented) syscalls
 */
#define __IGNORE_fadvise64_64        1

#endif /* __KERNEL__ */
#endif /* __ASM_ARM_UNISTD_H */

======================================================================================================================

/*
 *  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)        /* sys_ioperm */
        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)        /* modify_ldt */
        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)        /* reserved for 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)        /* vm86 */
        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)        /* getpmsg */
        CALL(sys_ni_syscall)        /* putpmsg */
/* 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)
        CALL(sys_openat)
        CALL(sys_mkdirat)
        CALL(sys_mknodat)
/* 325 */    CALL(sys_fchownat)
        CALL(sys_futimesat)
        CALL(sys_fstatat64)
        CALL(sys_unlinkat)
        CALL(sys_renameat)
/* 330 */    CALL(sys_linkat)
        CALL(sys_symlinkat)
        CALL(sys_readlinkat)
        CALL(sys_fchmodat)
        CALL(sys_faccessat)
/* 335 */    CALL(sys_ni_syscall)        /* eventually pselect6 */
        CALL(sys_ni_syscall)        /* eventually ppoll */
        CALL(sys_unshare)
        CALL(sys_set_robust_list)
        CALL(sys_get_robust_list)
/* 340 */    CALL(sys_splice)
        CALL(sys_sync_file_range2)
        CALL(sys_tee)
        CALL(sys_vmsplice)
        CALL(sys_move_pages)
/* 345 */    CALL(sys_getcpu)
        CALL(sys_ni_syscall)        /* eventually epoll_pwait */
        CALL(sys_kexec_load)
        CALL(sys_utimensat)
        CALL(sys_signalfd)
/* 350 */    CALL(sys_timerfd)
        CALL(sys_eventfd)
        CALL(sys_fallocate)
#ifndef syscalls_counted
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
#define syscalls_counted
#endif
.rept syscalls_padding
        CALL(sys_ni_syscall)
.endr

阅读(2856) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~