34f521fd55
Patch from George G. Davis As pointed out be Matthew Klahn <MKLAHN@motorola.com>, some sys_ipc() call options require six args, e.g. SEMTIMEDOP. This patch adds an ARM sys_ipc_wrapper to save the sys_ipc() 'fifth' arg on the stack. Signed-off-by: George G. Davis <gdavis@mvista.com> arch/arm/kernel/calls.S | 2 +- arch/arm/kernel/entry-common.S | 5 +++++ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
345 lines
8.7 KiB
ArmAsm
345 lines
8.7 KiB
ArmAsm
/*
|
|
* 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 twice in entry-common.S
|
|
*/
|
|
#ifndef NR_syscalls
|
|
#define NR_syscalls 328
|
|
#else
|
|
|
|
__syscall_start:
|
|
/* 0 */ .long sys_restart_syscall
|
|
.long sys_exit
|
|
.long sys_fork_wrapper
|
|
.long sys_read
|
|
.long sys_write
|
|
/* 5 */ .long sys_open
|
|
.long sys_close
|
|
.long sys_ni_syscall /* was sys_waitpid */
|
|
.long sys_creat
|
|
.long sys_link
|
|
/* 10 */ .long sys_unlink
|
|
.long sys_execve_wrapper
|
|
.long sys_chdir
|
|
.long sys_time /* used by libc4 */
|
|
.long sys_mknod
|
|
/* 15 */ .long sys_chmod
|
|
.long sys_lchown16
|
|
.long sys_ni_syscall /* was sys_break */
|
|
.long sys_ni_syscall /* was sys_stat */
|
|
.long sys_lseek
|
|
/* 20 */ .long sys_getpid
|
|
.long sys_mount
|
|
.long sys_oldumount /* used by libc4 */
|
|
.long sys_setuid16
|
|
.long sys_getuid16
|
|
/* 25 */ .long sys_stime
|
|
.long sys_ptrace
|
|
.long sys_alarm /* used by libc4 */
|
|
.long sys_ni_syscall /* was sys_fstat */
|
|
.long sys_pause
|
|
/* 30 */ .long sys_utime /* used by libc4 */
|
|
.long sys_ni_syscall /* was sys_stty */
|
|
.long sys_ni_syscall /* was sys_getty */
|
|
.long sys_access
|
|
.long sys_nice
|
|
/* 35 */ .long sys_ni_syscall /* was sys_ftime */
|
|
.long sys_sync
|
|
.long sys_kill
|
|
.long sys_rename
|
|
.long sys_mkdir
|
|
/* 40 */ .long sys_rmdir
|
|
.long sys_dup
|
|
.long sys_pipe
|
|
.long sys_times
|
|
.long sys_ni_syscall /* was sys_prof */
|
|
/* 45 */ .long sys_brk
|
|
.long sys_setgid16
|
|
.long sys_getgid16
|
|
.long sys_ni_syscall /* was sys_signal */
|
|
.long sys_geteuid16
|
|
/* 50 */ .long sys_getegid16
|
|
.long sys_acct
|
|
.long sys_umount
|
|
.long sys_ni_syscall /* was sys_lock */
|
|
.long sys_ioctl
|
|
/* 55 */ .long sys_fcntl
|
|
.long sys_ni_syscall /* was sys_mpx */
|
|
.long sys_setpgid
|
|
.long sys_ni_syscall /* was sys_ulimit */
|
|
.long sys_ni_syscall /* was sys_olduname */
|
|
/* 60 */ .long sys_umask
|
|
.long sys_chroot
|
|
.long sys_ustat
|
|
.long sys_dup2
|
|
.long sys_getppid
|
|
/* 65 */ .long sys_getpgrp
|
|
.long sys_setsid
|
|
.long sys_sigaction
|
|
.long sys_ni_syscall /* was sys_sgetmask */
|
|
.long sys_ni_syscall /* was sys_ssetmask */
|
|
/* 70 */ .long sys_setreuid16
|
|
.long sys_setregid16
|
|
.long sys_sigsuspend_wrapper
|
|
.long sys_sigpending
|
|
.long sys_sethostname
|
|
/* 75 */ .long sys_setrlimit
|
|
.long sys_old_getrlimit /* used by libc4 */
|
|
.long sys_getrusage
|
|
.long sys_gettimeofday
|
|
.long sys_settimeofday
|
|
/* 80 */ .long sys_getgroups16
|
|
.long sys_setgroups16
|
|
.long old_select /* used by libc4 */
|
|
.long sys_symlink
|
|
.long sys_ni_syscall /* was sys_lstat */
|
|
/* 85 */ .long sys_readlink
|
|
.long sys_uselib
|
|
.long sys_swapon
|
|
.long sys_reboot
|
|
.long old_readdir /* used by libc4 */
|
|
/* 90 */ .long old_mmap /* used by libc4 */
|
|
.long sys_munmap
|
|
.long sys_truncate
|
|
.long sys_ftruncate
|
|
.long sys_fchmod
|
|
/* 95 */ .long sys_fchown16
|
|
.long sys_getpriority
|
|
.long sys_setpriority
|
|
.long sys_ni_syscall /* was sys_profil */
|
|
.long sys_statfs
|
|
/* 100 */ .long sys_fstatfs
|
|
.long sys_ni_syscall
|
|
.long sys_socketcall
|
|
.long sys_syslog
|
|
.long sys_setitimer
|
|
/* 105 */ .long sys_getitimer
|
|
.long sys_newstat
|
|
.long sys_newlstat
|
|
.long sys_newfstat
|
|
.long sys_ni_syscall /* was sys_uname */
|
|
/* 110 */ .long sys_ni_syscall /* was sys_iopl */
|
|
.long sys_vhangup
|
|
.long sys_ni_syscall
|
|
.long sys_syscall /* call a syscall */
|
|
.long sys_wait4
|
|
/* 115 */ .long sys_swapoff
|
|
.long sys_sysinfo
|
|
.long sys_ipc_wrapper
|
|
.long sys_fsync
|
|
.long sys_sigreturn_wrapper
|
|
/* 120 */ .long sys_clone_wrapper
|
|
.long sys_setdomainname
|
|
.long sys_newuname
|
|
.long sys_ni_syscall
|
|
.long sys_adjtimex
|
|
/* 125 */ .long sys_mprotect
|
|
.long sys_sigprocmask
|
|
.long sys_ni_syscall /* was sys_create_module */
|
|
.long sys_init_module
|
|
.long sys_delete_module
|
|
/* 130 */ .long sys_ni_syscall /* was sys_get_kernel_syms */
|
|
.long sys_quotactl
|
|
.long sys_getpgid
|
|
.long sys_fchdir
|
|
.long sys_bdflush
|
|
/* 135 */ .long sys_sysfs
|
|
.long sys_personality
|
|
.long sys_ni_syscall /* .long _sys_afs_syscall */
|
|
.long sys_setfsuid16
|
|
.long sys_setfsgid16
|
|
/* 140 */ .long sys_llseek
|
|
.long sys_getdents
|
|
.long sys_select
|
|
.long sys_flock
|
|
.long sys_msync
|
|
/* 145 */ .long sys_readv
|
|
.long sys_writev
|
|
.long sys_getsid
|
|
.long sys_fdatasync
|
|
.long sys_sysctl
|
|
/* 150 */ .long sys_mlock
|
|
.long sys_munlock
|
|
.long sys_mlockall
|
|
.long sys_munlockall
|
|
.long sys_sched_setparam
|
|
/* 155 */ .long sys_sched_getparam
|
|
.long sys_sched_setscheduler
|
|
.long sys_sched_getscheduler
|
|
.long sys_sched_yield
|
|
.long sys_sched_get_priority_max
|
|
/* 160 */ .long sys_sched_get_priority_min
|
|
.long sys_sched_rr_get_interval
|
|
.long sys_nanosleep
|
|
.long sys_arm_mremap
|
|
.long sys_setresuid16
|
|
/* 165 */ .long sys_getresuid16
|
|
.long sys_ni_syscall
|
|
.long sys_ni_syscall /* was sys_query_module */
|
|
.long sys_poll
|
|
.long sys_nfsservctl
|
|
/* 170 */ .long sys_setresgid16
|
|
.long sys_getresgid16
|
|
.long sys_prctl
|
|
.long sys_rt_sigreturn_wrapper
|
|
.long sys_rt_sigaction
|
|
/* 175 */ .long sys_rt_sigprocmask
|
|
.long sys_rt_sigpending
|
|
.long sys_rt_sigtimedwait
|
|
.long sys_rt_sigqueueinfo
|
|
.long sys_rt_sigsuspend_wrapper
|
|
/* 180 */ .long sys_pread64
|
|
.long sys_pwrite64
|
|
.long sys_chown16
|
|
.long sys_getcwd
|
|
.long sys_capget
|
|
/* 185 */ .long sys_capset
|
|
.long sys_sigaltstack_wrapper
|
|
.long sys_sendfile
|
|
.long sys_ni_syscall
|
|
.long sys_ni_syscall
|
|
/* 190 */ .long sys_vfork_wrapper
|
|
.long sys_getrlimit
|
|
.long sys_mmap2
|
|
.long sys_truncate64
|
|
.long sys_ftruncate64
|
|
/* 195 */ .long sys_stat64
|
|
.long sys_lstat64
|
|
.long sys_fstat64
|
|
.long sys_lchown
|
|
.long sys_getuid
|
|
/* 200 */ .long sys_getgid
|
|
.long sys_geteuid
|
|
.long sys_getegid
|
|
.long sys_setreuid
|
|
.long sys_setregid
|
|
/* 205 */ .long sys_getgroups
|
|
.long sys_setgroups
|
|
.long sys_fchown
|
|
.long sys_setresuid
|
|
.long sys_getresuid
|
|
/* 210 */ .long sys_setresgid
|
|
.long sys_getresgid
|
|
.long sys_chown
|
|
.long sys_setuid
|
|
.long sys_setgid
|
|
/* 215 */ .long sys_setfsuid
|
|
.long sys_setfsgid
|
|
.long sys_getdents64
|
|
.long sys_pivot_root
|
|
.long sys_mincore
|
|
/* 220 */ .long sys_madvise
|
|
.long sys_fcntl64
|
|
.long sys_ni_syscall /* TUX */
|
|
.long sys_ni_syscall
|
|
.long sys_gettid
|
|
/* 225 */ .long sys_readahead
|
|
.long sys_setxattr
|
|
.long sys_lsetxattr
|
|
.long sys_fsetxattr
|
|
.long sys_getxattr
|
|
/* 230 */ .long sys_lgetxattr
|
|
.long sys_fgetxattr
|
|
.long sys_listxattr
|
|
.long sys_llistxattr
|
|
.long sys_flistxattr
|
|
/* 235 */ .long sys_removexattr
|
|
.long sys_lremovexattr
|
|
.long sys_fremovexattr
|
|
.long sys_tkill
|
|
.long sys_sendfile64
|
|
/* 240 */ .long sys_futex_wrapper
|
|
.long sys_sched_setaffinity
|
|
.long sys_sched_getaffinity
|
|
.long sys_io_setup
|
|
.long sys_io_destroy
|
|
/* 245 */ .long sys_io_getevents
|
|
.long sys_io_submit
|
|
.long sys_io_cancel
|
|
.long sys_exit_group
|
|
.long sys_lookup_dcookie
|
|
/* 250 */ .long sys_epoll_create
|
|
.long sys_epoll_ctl
|
|
.long sys_epoll_wait
|
|
.long sys_remap_file_pages
|
|
.long sys_ni_syscall /* sys_set_thread_area */
|
|
/* 255 */ .long sys_ni_syscall /* sys_get_thread_area */
|
|
.long sys_set_tid_address
|
|
.long sys_timer_create
|
|
.long sys_timer_settime
|
|
.long sys_timer_gettime
|
|
/* 260 */ .long sys_timer_getoverrun
|
|
.long sys_timer_delete
|
|
.long sys_clock_settime
|
|
.long sys_clock_gettime
|
|
.long sys_clock_getres
|
|
/* 265 */ .long sys_clock_nanosleep
|
|
.long sys_statfs64
|
|
.long sys_fstatfs64
|
|
.long sys_tgkill
|
|
.long sys_utimes
|
|
/* 270 */ .long sys_arm_fadvise64_64_wrapper
|
|
.long sys_pciconfig_iobase
|
|
.long sys_pciconfig_read
|
|
.long sys_pciconfig_write
|
|
.long sys_mq_open
|
|
/* 275 */ .long sys_mq_unlink
|
|
.long sys_mq_timedsend
|
|
.long sys_mq_timedreceive
|
|
.long sys_mq_notify
|
|
.long sys_mq_getsetattr
|
|
/* 280 */ .long sys_waitid
|
|
.long sys_socket
|
|
.long sys_bind
|
|
.long sys_connect
|
|
.long sys_listen
|
|
/* 285 */ .long sys_accept
|
|
.long sys_getsockname
|
|
.long sys_getpeername
|
|
.long sys_socketpair
|
|
.long sys_send
|
|
/* 290 */ .long sys_sendto
|
|
.long sys_recv
|
|
.long sys_recvfrom
|
|
.long sys_shutdown
|
|
.long sys_setsockopt
|
|
/* 295 */ .long sys_getsockopt
|
|
.long sys_sendmsg
|
|
.long sys_recvmsg
|
|
.long sys_semop
|
|
.long sys_semget
|
|
/* 300 */ .long sys_semctl
|
|
.long sys_msgsnd
|
|
.long sys_msgrcv
|
|
.long sys_msgget
|
|
.long sys_msgctl
|
|
/* 305 */ .long sys_shmat
|
|
.long sys_shmdt
|
|
.long sys_shmget
|
|
.long sys_shmctl
|
|
.long sys_add_key
|
|
/* 310 */ .long sys_request_key
|
|
.long sys_keyctl
|
|
.long sys_semtimedop
|
|
/* vserver */ .long sys_ni_syscall
|
|
.long sys_ioprio_set
|
|
/* 315 */ .long sys_ioprio_get
|
|
.long sys_inotify_init
|
|
.long sys_inotify_add_watch
|
|
.long sys_inotify_rm_watch
|
|
.long sys_mbind_wrapper
|
|
/* 320 */ .long sys_get_mempolicy
|
|
.long sys_set_mempolicy
|
|
__syscall_end:
|
|
|
|
.rept NR_syscalls - (__syscall_end - __syscall_start) / 4
|
|
.long sys_ni_syscall
|
|
.endr
|
|
#endif
|