diff options
| author | Benjamin LaHaise <bcrl@redhat.com> | 2002-10-10 05:33:37 -0400 |
|---|---|---|
| committer | Benjamin LaHaise <bcrl@redhat.com> | 2002-10-10 05:33:37 -0400 |
| commit | 994b3fb017e7ea4a1124b79a257fdf69dbbea16f (patch) | |
| tree | 692e5e965b1dbbd63e111296a427a727284e10c6 /arch/alpha/kernel | |
| parent | ecb796f5bc603e978b41e868f2f234a249ab288c (diff) | |
| parent | 469d2810663a7084344107cd702dabeeb7e261ed (diff) | |
Merge redhat.com:/md0/linus-2.5 into redhat.com:/md0/aio-2.5
Diffstat (limited to 'arch/alpha/kernel')
| -rw-r--r-- | arch/alpha/kernel/Makefile | 5 | ||||
| -rw-r--r-- | arch/alpha/kernel/alpha_ksyms.c | 1 | ||||
| -rw-r--r-- | arch/alpha/kernel/entry.S | 425 | ||||
| -rw-r--r-- | arch/alpha/kernel/osf_sys.c | 230 | ||||
| -rw-r--r-- | arch/alpha/kernel/process.c | 23 | ||||
| -rw-r--r-- | arch/alpha/kernel/setup.c | 14 | ||||
| -rw-r--r-- | arch/alpha/kernel/systbls.S | 433 |
7 files changed, 588 insertions, 543 deletions
diff --git a/arch/alpha/kernel/Makefile b/arch/alpha/kernel/Makefile index c0d786677f47..da7c971ed9ca 100644 --- a/arch/alpha/kernel/Makefile +++ b/arch/alpha/kernel/Makefile @@ -8,8 +8,9 @@ EXTRA_AFLAGS := $(CFLAGS) export-objs := alpha_ksyms.o -obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o irq_alpha.o \ - signal.o setup.o ptrace.o time.o semaphore.o alpha_ksyms.o +obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \ + irq_alpha.o signal.o setup.o ptrace.o time.o semaphore.o \ + alpha_ksyms.o systbls.o # # FIXME! diff --git a/arch/alpha/kernel/alpha_ksyms.c b/arch/alpha/kernel/alpha_ksyms.c index f9797ec48684..f897d9116aae 100644 --- a/arch/alpha/kernel/alpha_ksyms.c +++ b/arch/alpha/kernel/alpha_ksyms.c @@ -161,7 +161,6 @@ EXPORT_SYMBOL(sys_read); EXPORT_SYMBOL(sys_lseek); EXPORT_SYMBOL(__kernel_execve); EXPORT_SYMBOL(sys_setsid); -EXPORT_SYMBOL(sys_sync); EXPORT_SYMBOL(sys_wait4); /* Networking helper routines. */ diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S index 0e931707a28f..0ff07ce13175 100644 --- a/arch/alpha/kernel/entry.S +++ b/arch/alpha/kernel/entry.S @@ -9,8 +9,7 @@ #include <asm/cache.h> #include <asm/asm_offsets.h> #include <asm/thread_info.h> - -#define NR_SYSCALLS 381 +#include <asm/unistd.h> /* * stack offsets @@ -677,6 +676,7 @@ ret_success: .end entSys .align 3 +.globl sys_sigreturn .ent sys_sigreturn sys_sigreturn: mov $30,$17 @@ -688,6 +688,7 @@ sys_sigreturn: .end sys_sigreturn .align 3 +.globl sys_rt_sigreturn .ent sys_rt_sigreturn sys_rt_sigreturn: mov $30,$17 @@ -699,6 +700,7 @@ sys_rt_sigreturn: .end sys_rt_sigreturn .align 3 +.globl sys_sigsuspend .ent sys_sigsuspend sys_sigsuspend: mov $30,$17 @@ -713,6 +715,7 @@ sys_sigsuspend: .end sys_sigsuspend .align 3 +.globl sys_rt_sigsuspend .ent sys_rt_sigsuspend sys_rt_sigsuspend: mov $30,$18 @@ -725,421 +728,3 @@ sys_rt_sigsuspend: lda $30,SWITCH_STACK_SIZE+16($30) ret $31,($26),1 .end sys_rt_sigsuspend - - .data - .align 3 - .globl sys_call_table -sys_call_table: - .quad alpha_ni_syscall /* 0 */ - .quad sys_exit - .quad sys_fork - .quad sys_read - .quad sys_write - .quad alpha_ni_syscall /* 5 */ - .quad sys_close - .quad osf_wait4 - .quad alpha_ni_syscall - .quad sys_link - .quad sys_unlink /* 10 */ - .quad alpha_ni_syscall - .quad sys_chdir - .quad sys_fchdir - .quad sys_mknod - .quad sys_chmod /* 15 */ - .quad sys_chown - .quad osf_brk - .quad alpha_ni_syscall - .quad sys_lseek - .quad sys_getxpid /* 20 */ - .quad osf_mount - .quad sys_umount - .quad sys_setuid - .quad sys_getxuid - .quad alpha_ni_syscall /* 25 */ - .quad sys_ptrace - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 30 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad sys_access - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 35 */ - .quad sys_sync - .quad sys_kill - .quad alpha_ni_syscall - .quad sys_setpgid - .quad alpha_ni_syscall /* 40 */ - .quad sys_dup - .quad sys_pipe - .quad osf_set_program_attributes - .quad alpha_ni_syscall - .quad sys_open /* 45 */ - .quad alpha_ni_syscall - .quad sys_getxgid - .quad osf_sigprocmask - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 50 */ - .quad sys_acct - .quad sys_sigpending - .quad alpha_ni_syscall - .quad sys_ioctl - .quad alpha_ni_syscall /* 55 */ - .quad alpha_ni_syscall - .quad sys_symlink - .quad sys_readlink - .quad sys_execve - .quad sys_umask /* 60 */ - .quad sys_chroot - .quad alpha_ni_syscall - .quad sys_getpgrp - .quad sys_getpagesize - .quad alpha_ni_syscall /* 65 */ - .quad sys_vfork - .quad sys_newstat - .quad sys_newlstat - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 70 */ - .quad osf_mmap - .quad alpha_ni_syscall - .quad sys_munmap - .quad sys_mprotect - .quad sys_madvise /* 75 */ - .quad sys_vhangup - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad sys_getgroups - /* map BSD's setpgrp to sys_setpgid for binary compatibility: */ - .quad sys_setgroups /* 80 */ - .quad alpha_ni_syscall - .quad sys_setpgid - .quad osf_setitimer - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 85 */ - .quad osf_getitimer - .quad sys_gethostname - .quad sys_sethostname - .quad sys_getdtablesize - .quad sys_dup2 /* 90 */ - .quad sys_newfstat - .quad sys_fcntl - .quad osf_select - .quad sys_poll - .quad sys_fsync /* 95 */ - .quad sys_setpriority - .quad sys_socket - .quad sys_connect - .quad sys_accept - .quad osf_getpriority /* 100 */ - .quad sys_send - .quad sys_recv - .quad sys_sigreturn - .quad sys_bind - .quad sys_setsockopt /* 105 */ - .quad sys_listen - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 110 */ - .quad sys_sigsuspend - .quad osf_sigstack - .quad sys_recvmsg - .quad sys_sendmsg - .quad alpha_ni_syscall /* 115 */ - .quad osf_gettimeofday - .quad osf_getrusage - .quad sys_getsockopt - .quad alpha_ni_syscall -#ifdef CONFIG_OSF4_COMPAT - .quad osf_readv /* 120 */ - .quad osf_writev -#else - .quad sys_readv /* 120 */ - .quad sys_writev -#endif - .quad osf_settimeofday - .quad sys_fchown - .quad sys_fchmod - .quad sys_recvfrom /* 125 */ - .quad sys_setreuid - .quad sys_setregid - .quad sys_rename - .quad sys_truncate - .quad sys_ftruncate /* 130 */ - .quad sys_flock - .quad sys_setgid - .quad sys_sendto - .quad sys_shutdown - .quad sys_socketpair /* 135 */ - .quad sys_mkdir - .quad sys_rmdir - .quad osf_utimes - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 140 */ - .quad sys_getpeername - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad sys_getrlimit - .quad sys_setrlimit /* 145 */ - .quad alpha_ni_syscall - .quad sys_setsid - .quad sys_quotactl - .quad alpha_ni_syscall - .quad sys_getsockname /* 150 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 155 */ - .quad osf_sigaction - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad osf_getdirentries - .quad osf_statfs /* 160 */ - .quad osf_fstatfs - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad osf_getdomainname /* 165 */ - .quad sys_setdomainname - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 170 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 175 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 180 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 185 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 190 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 195 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad osf_swapon - .quad sys_msgctl /* 200 */ - .quad sys_msgget - .quad sys_msgrcv - .quad sys_msgsnd - .quad sys_semctl - .quad sys_semget /* 205 */ - .quad sys_semop - .quad osf_utsname - .quad sys_lchown - .quad osf_shmat - .quad sys_shmctl /* 210 */ - .quad sys_shmdt - .quad sys_shmget - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 215 */ - .quad alpha_ni_syscall - .quad sys_msync - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 220 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 225 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 230 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad sys_getpgid - .quad sys_getsid - .quad sys_sigaltstack /* 235 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 240 */ - .quad osf_sysinfo - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad osf_proplist_syscall - .quad alpha_ni_syscall /* 245 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 250 */ - .quad osf_usleep_thread - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad sys_sysfs - .quad alpha_ni_syscall /* 255 */ - .quad osf_getsysinfo - .quad osf_setsysinfo - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 260 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 265 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 270 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 275 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 280 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 285 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 290 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall /* 295 */ - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall - .quad alpha_ni_syscall -/* linux-specific system calls start at 300 */ - .quad sys_bdflush /* 300 */ - .quad sys_sethae - .quad sys_mount - .quad sys_old_adjtimex - .quad sys_swapoff - .quad sys_getdents /* 305 */ - .quad alpha_create_module - .quad sys_init_module - .quad sys_delete_module - .quad sys_get_kernel_syms - .quad sys_syslog /* 310 */ - .quad sys_reboot - .quad sys_clone - .quad sys_uselib - .quad sys_mlock - .quad sys_munlock /* 315 */ - .quad sys_mlockall - .quad sys_munlockall - .quad sys_sysinfo - .quad sys_sysctl - .quad sys_ni_syscall /* 320 */ - .quad sys_oldumount - .quad sys_swapon - .quad sys_times - .quad sys_personality - .quad sys_setfsuid /* 325 */ - .quad sys_setfsgid - .quad sys_ustat - .quad sys_statfs - .quad sys_fstatfs - .quad sys_sched_setparam /* 330 */ - .quad sys_sched_getparam - .quad sys_sched_setscheduler - .quad sys_sched_getscheduler - .quad sys_sched_yield - .quad sys_sched_get_priority_max /* 335 */ - .quad sys_sched_get_priority_min - .quad sys_sched_rr_get_interval - .quad sys_ni_syscall /* sys_afs_syscall */ - .quad sys_newuname - .quad sys_nanosleep /* 340 */ - .quad sys_mremap - .quad sys_nfsservctl - .quad sys_setresuid - .quad sys_getresuid - .quad sys_pciconfig_read /* 345 */ - .quad sys_pciconfig_write - .quad sys_query_module - .quad sys_prctl - .quad sys_pread64 - .quad sys_pwrite64 /* 350 */ - .quad sys_rt_sigreturn - .quad sys_rt_sigaction - .quad sys_rt_sigprocmask - .quad sys_rt_sigpending - .quad sys_rt_sigtimedwait /* 355 */ - .quad sys_rt_sigqueueinfo - .quad sys_rt_sigsuspend - .quad sys_select - .quad sys_gettimeofday - .quad sys_settimeofday /* 360 */ - .quad sys_getitimer - .quad sys_setitimer - .quad sys_utimes - .quad sys_getrusage - .quad sys_wait4 /* 365 */ - .quad sys_adjtimex - .quad sys_getcwd - .quad sys_capget - .quad sys_capset - .quad sys_sendfile /* 370 */ - .quad sys_setresgid - .quad sys_getresgid - .quad sys_ni_syscall /* sys_dipc */ - .quad sys_pivot_root - .quad sys_mincore /* 375 */ - .quad sys_pciconfig_iobase - .quad sys_getdents64 - .quad sys_gettid - .quad sys_readahead - .quad sys_ni_syscall /* 380, sys_security */ - .quad sys_tkill - .quad sys_setxattr - .quad sys_lsetxattr - .quad sys_fsetxattr - .quad sys_getxattr - .quad sys_lgetxattr - .quad sys_fgetxattr - .quad sys_listxattr - .quad sys_llistxattr - .quad sys_flistxattr /* 390 */ - .quad sys_removexattr - .quad sys_lremovexattr - .quad sys_fremovexattr - .quad sys_futex - .quad sys_sched_setaffinity - .quad sys_sched_getaffinity - .quad sys_ni_syscall /* 397, tux */ - .quad sys_io_setup - .quad sys_io_destroy - .quad sys_io_getevents /* 400 */ - .quad sys_io_submit - .quad sys_io_cancel - .quad sys_ni_syscall /* 403, sys_alloc_hugepages */ - .quad sys_ni_syscall /* 404, sys_free_hugepages */ - .quad sys_exit_group diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 0e66b34b1d80..1ba5f94035c2 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -44,8 +44,9 @@ #include <asm/processor.h> extern int do_pipe(int *); - extern asmlinkage unsigned long sys_brk(unsigned long); +extern int sys_getpriority(int, int); +extern asmlinkage unsigned long sys_create_module(char *, unsigned long); /* * Brk needs to return an error. Still support Linux's brk(0) query idiom, @@ -53,7 +54,8 @@ extern asmlinkage unsigned long sys_brk(unsigned long); * identical to OSF as we don't return 0 on success, but doing otherwise * would require changes to libc. Hopefully this is good enough. */ -asmlinkage unsigned long osf_brk(unsigned long brk) +asmlinkage unsigned long +osf_brk(unsigned long brk) { unsigned long retval = sys_brk(brk); if (brk && brk != retval) @@ -64,9 +66,9 @@ asmlinkage unsigned long osf_brk(unsigned long brk) /* * This is pure guess-work.. */ -asmlinkage int osf_set_program_attributes( - unsigned long text_start, unsigned long text_len, - unsigned long bss_start, unsigned long bss_len) +asmlinkage int +osf_set_program_attributes(unsigned long text_start, unsigned long text_len, + unsigned long bss_start, unsigned long bss_len) { struct mm_struct *mm; @@ -106,8 +108,9 @@ struct osf_dirent_callback { int error; }; -static int osf_filldir(void *__buf, const char *name, int namlen, loff_t offset, - ino_t ino, unsigned int d_type) +static int +osf_filldir(void *__buf, const char *name, int namlen, loff_t offset, + ino_t ino, unsigned int d_type) { struct osf_dirent *dirent; struct osf_dirent_callback *buf = (struct osf_dirent_callback *) __buf; @@ -134,8 +137,9 @@ static int osf_filldir(void *__buf, const char *name, int namlen, loff_t offset, return 0; } -asmlinkage int osf_getdirentries(unsigned int fd, struct osf_dirent *dirent, - unsigned int count, long *basep) +asmlinkage int +osf_getdirentries(unsigned int fd, struct osf_dirent *dirent, + unsigned int count, long *basep) { int error; struct file *file; @@ -159,9 +163,9 @@ asmlinkage int osf_getdirentries(unsigned int fd, struct osf_dirent *dirent, if (count != buf.count) error = count - buf.count; -out_putf: + out_putf: fput(file); -out: + out: return error; } @@ -172,8 +176,9 @@ out: * Alpha syscall convention has no problem returning negative * values: */ -asmlinkage int osf_getpriority(int which, int who, int a2, int a3, int a4, - int a5, struct pt_regs regs) +asmlinkage int +osf_getpriority(int which, int who, + int a2, int a3, int a4, int a5, struct pt_regs regs) { extern int sys_getpriority(int, int); int prio; @@ -194,24 +199,24 @@ asmlinkage int osf_getpriority(int which, int who, int a2, int a3, int a4, /* * No need to acquire the kernel lock, we're local.. */ -asmlinkage unsigned long sys_getxuid(int a0, int a1, int a2, int a3, int a4, - int a5, struct pt_regs regs) +asmlinkage unsigned long +sys_getxuid(int a0, int a1, int a2, int a3, int a4, int a5, struct pt_regs regs) { struct task_struct * tsk = current; (®s)->r20 = tsk->euid; return tsk->uid; } -asmlinkage unsigned long sys_getxgid(int a0, int a1, int a2, int a3, int a4, - int a5, struct pt_regs regs) +asmlinkage unsigned long +sys_getxgid(int a0, int a1, int a2, int a3, int a4, int a5, struct pt_regs regs) { struct task_struct * tsk = current; (®s)->r20 = tsk->egid; return tsk->gid; } -asmlinkage unsigned long sys_getxpid(int a0, int a1, int a2, int a3, int a4, - int a5, struct pt_regs regs) +asmlinkage unsigned long +sys_getxpid(int a0, int a1, int a2, int a3, int a4, int a5, struct pt_regs regs) { struct task_struct *tsk = current; @@ -226,9 +231,9 @@ asmlinkage unsigned long sys_getxpid(int a0, int a1, int a2, int a3, int a4, return tsk->tgid; } -asmlinkage unsigned long osf_mmap(unsigned long addr, unsigned long len, - unsigned long prot, unsigned long flags, unsigned long fd, - unsigned long off) +asmlinkage unsigned long +osf_mmap(unsigned long addr, unsigned long len, unsigned long prot, + unsigned long flags, unsigned long fd, unsigned long off) { struct file *file = NULL; unsigned long ret = -EBADF; @@ -249,7 +254,7 @@ asmlinkage unsigned long osf_mmap(unsigned long addr, unsigned long len, up_write(¤t->mm->mmap_sem); if (file) fput(file); -out: + out: return ret; } @@ -271,7 +276,9 @@ struct osf_statfs { __kernel_fsid_t f_fsid; } *osf_stat; -static int linux_to_osf_statfs(struct statfs *linux_stat, struct osf_statfs *osf_stat, unsigned long bufsiz) +static int +linux_to_osf_statfs(struct statfs *linux_stat, struct osf_statfs *osf_stat, + unsigned long bufsiz) { struct osf_statfs tmp_stat; @@ -291,7 +298,9 @@ static int linux_to_osf_statfs(struct statfs *linux_stat, struct osf_statfs *osf return copy_to_user(osf_stat, &tmp_stat, bufsiz) ? -EFAULT : 0; } -static int do_osf_statfs(struct dentry * dentry, struct osf_statfs *buffer, unsigned long bufsiz) +static int +do_osf_statfs(struct dentry * dentry, struct osf_statfs *buffer, + unsigned long bufsiz) { struct statfs linux_stat; int error = vfs_statfs(dentry->d_inode->i_sb, &linux_stat); @@ -300,7 +309,8 @@ static int do_osf_statfs(struct dentry * dentry, struct osf_statfs *buffer, unsi return error; } -asmlinkage int osf_statfs(char *path, struct osf_statfs *buffer, unsigned long bufsiz) +asmlinkage int +osf_statfs(char *path, struct osf_statfs *buffer, unsigned long bufsiz) { struct nameidata nd; int retval; @@ -313,7 +323,8 @@ asmlinkage int osf_statfs(char *path, struct osf_statfs *buffer, unsigned long b return retval; } -asmlinkage int osf_fstatfs(unsigned long fd, struct osf_statfs *buffer, unsigned long bufsiz) +asmlinkage int +osf_fstatfs(unsigned long fd, struct osf_statfs *buffer, unsigned long bufsiz) { struct file *file; int retval; @@ -342,10 +353,9 @@ struct cdfs_args { char *devname; int flags; uid_t exroot; -/* - * This has lots more here, which Linux handles with the option block - * but I'm too lazy to do the translation into ASCII. - */ + + /* This has lots more here, which Linux handles with the option block + but I'm too lazy to do the translation into ASCII. */ }; struct procfs_args { @@ -362,7 +372,8 @@ struct procfs_args { * Just how long ago was it written? OTOH our UFS driver may be still * unhappy with OSF UFS. [CHECKME] */ -static int osf_ufs_mount(char *dirname, struct ufs_args *args, int flags) +static int +osf_ufs_mount(char *dirname, struct ufs_args *args, int flags) { int retval; struct cdfs_args tmp; @@ -377,11 +388,12 @@ static int osf_ufs_mount(char *dirname, struct ufs_args *args, int flags) goto out; retval = do_mount(devname, dirname, "ext2", flags, NULL); putname(devname); -out: + out: return retval; } -static int osf_cdfs_mount(char *dirname, struct cdfs_args *args, int flags) +static int +osf_cdfs_mount(char *dirname, struct cdfs_args *args, int flags) { int retval; struct cdfs_args tmp; @@ -396,11 +408,12 @@ static int osf_cdfs_mount(char *dirname, struct cdfs_args *args, int flags) goto out; retval = do_mount(devname, dirname, "iso9660", flags, NULL); putname(devname); -out: + out: return retval; } -static int osf_procfs_mount(char *dirname, struct procfs_args *args, int flags) +static int +osf_procfs_mount(char *dirname, struct procfs_args *args, int flags) { struct procfs_args tmp; @@ -410,7 +423,8 @@ static int osf_procfs_mount(char *dirname, struct procfs_args *args, int flags) return do_mount("", dirname, "proc", flags, NULL); } -asmlinkage int osf_mount(unsigned long typenr, char *path, int flag, void *data) +asmlinkage int +osf_mount(unsigned long typenr, char *path, int flag, void *data) { int retval = -EINVAL; char *name; @@ -435,12 +449,13 @@ asmlinkage int osf_mount(unsigned long typenr, char *path, int flag, void *data) printk("osf_mount(%ld, %x)\n", typenr, flag); } putname(name); -out: + out: unlock_kernel(); return retval; } -asmlinkage int osf_utsname(char *name) +asmlinkage int +osf_utsname(char *name) { int error; @@ -458,12 +473,13 @@ asmlinkage int osf_utsname(char *name) goto out; error = 0; -out: + out: up_read(&uts_sem); return error; } -asmlinkage int osf_swapon(const char *path, int flags, int lowat, int hiwat) +asmlinkage int +osf_swapon(const char *path, int flags, int lowat, int hiwat) { int ret; @@ -474,35 +490,36 @@ asmlinkage int osf_swapon(const char *path, int flags, int lowat, int hiwat) return ret; } -asmlinkage unsigned long sys_getpagesize(void) +asmlinkage unsigned long +sys_getpagesize(void) { return PAGE_SIZE; } -asmlinkage unsigned long sys_getdtablesize(void) +asmlinkage unsigned long +sys_getdtablesize(void) { return NR_OPEN; } -asmlinkage int sys_pipe(int a0, int a1, int a2, int a3, int a4, int a5, - struct pt_regs regs) +asmlinkage int +sys_pipe(int a0, int a1, int a2, int a3, int a4, int a5, struct pt_regs regs) { - int fd[2]; - int error; + int fd[2], error; error = do_pipe(fd); - if (error) - goto out; - (®s)->r20 = fd[1]; - error = fd[0]; -out: + if (!error) { + regs.r20 = fd[1]; + error = fd[0]; + } return error; } /* * For compatibility with OSF/1 only. Use utsname(2) instead. */ -asmlinkage int osf_getdomainname(char *name, int namelen) +asmlinkage int +osf_getdomainname(char *name, int namelen) { unsigned len; int i, error; @@ -522,12 +539,12 @@ asmlinkage int osf_getdomainname(char *name, int namelen) break; } up_read(&uts_sem); -out: + out: return error; } - -asmlinkage long osf_shmat(int shmid, void *shmaddr, int shmflg) +asmlinkage long +osf_shmat(int shmid, void *shmaddr, int shmflg) { unsigned long raddr; long err; @@ -541,7 +558,7 @@ asmlinkage long osf_shmat(int shmid, void *shmaddr, int shmflg) * non-negative longs! */ err = raddr; -out: + out: unlock_kernel(); return err; } @@ -612,7 +629,8 @@ enum pl_code { PL_DEL = 5, PL_FDEL = 6 }; -asmlinkage long osf_proplist_syscall(enum pl_code code, union pl_args *args) +asmlinkage long +osf_proplist_syscall(enum pl_code code, union pl_args *args) { long error; int *min_buf_size_ptr; @@ -655,7 +673,8 @@ asmlinkage long osf_proplist_syscall(enum pl_code code, union pl_args *args) return error; } -asmlinkage int osf_sigstack(struct sigstack *uss, struct sigstack *uoss) +asmlinkage int +osf_sigstack(struct sigstack *uss, struct sigstack *uoss) { unsigned long usp = rdusp(); unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size; @@ -691,7 +710,7 @@ asmlinkage int osf_sigstack(struct sigstack *uss, struct sigstack *uoss) } error = 0; -out: + out: return error; } @@ -702,32 +721,28 @@ out: * create_module() because it's one of the few system calls * that return kernel addresses (which are negative). */ -asmlinkage unsigned long alpha_create_module(char *module_name, unsigned long size, - int a3, int a4, int a5, int a6, - struct pt_regs regs) + +asmlinkage unsigned long +alpha_create_module(char *module_name, unsigned long size, + int a3, int a4, int a5, int a6, struct pt_regs regs) { - asmlinkage unsigned long sys_create_module(char *, unsigned long); long retval; lock_kernel(); retval = sys_create_module(module_name, size); - /* - * we get either a module address or an error number, - * and we know the error number is a small negative - * number, while the address is always negative but - * much larger. - */ - if (retval + 1000 > 0) - goto out; - /* tell entry.S:syscall_error that this is NOT an error: */ - regs.r0 = 0; -out: - unlock_kernel(); + /* We get either a module address or an error number, and we know + the error number is a small negative number, while the address + is always negative but much larger. */ + if (retval + 1000 < 0) + regs.r0 = 0; + + unlock_kernel(); return retval; } -asmlinkage long osf_sysinfo(int command, char *buf, long count) +asmlinkage long +osf_sysinfo(int command, char *buf, long count) { static char * sysinfo_table[] = { system_utsname.sysname, @@ -761,13 +776,13 @@ asmlinkage long osf_sysinfo(int command, char *buf, long count) else err = 0; up_read(&uts_sem); -out: + out: return err; } -asmlinkage unsigned long osf_getsysinfo(unsigned long op, void *buffer, - unsigned long nbytes, - int *start, void *arg) +asmlinkage unsigned long +osf_getsysinfo(unsigned long op, void *buffer, unsigned long nbytes, + int *start, void *arg) { unsigned long w; struct percpu_struct *cpu; @@ -823,9 +838,9 @@ asmlinkage unsigned long osf_getsysinfo(unsigned long op, void *buffer, return -EOPNOTSUPP; } -asmlinkage unsigned long osf_setsysinfo(unsigned long op, void *buffer, - unsigned long nbytes, - int *start, void *arg) +asmlinkage unsigned long +osf_setsysinfo(unsigned long op, void *buffer, unsigned long nbytes, + int *start, void *arg) { switch (op) { case SSI_IEEE_FP_CONTROL: { @@ -925,21 +940,24 @@ struct itimerval32 struct timeval32 it_value; }; -static inline long get_tv32(struct timeval *o, struct timeval32 *i) +static inline long +get_tv32(struct timeval *o, struct timeval32 *i) { return (!access_ok(VERIFY_READ, i, sizeof(*i)) || (__get_user(o->tv_sec, &i->tv_sec) | __get_user(o->tv_usec, &i->tv_usec))); } -static inline long put_tv32(struct timeval32 *o, struct timeval *i) +static inline long +put_tv32(struct timeval32 *o, struct timeval *i) { return (!access_ok(VERIFY_WRITE, o, sizeof(*o)) || (__put_user(i->tv_sec, &o->tv_sec) | __put_user(i->tv_usec, &o->tv_usec))); } -static inline long get_it32(struct itimerval *o, struct itimerval32 *i) +static inline long +get_it32(struct itimerval *o, struct itimerval32 *i) { return (!access_ok(VERIFY_READ, i, sizeof(*i)) || (__get_user(o->it_interval.tv_sec, &i->it_interval.tv_sec) | @@ -948,7 +966,8 @@ static inline long get_it32(struct itimerval *o, struct itimerval32 *i) __get_user(o->it_value.tv_usec, &i->it_value.tv_usec))); } -static inline long put_it32(struct itimerval32 *o, struct itimerval *i) +static inline long +put_it32(struct itimerval32 *o, struct itimerval *i) { return (!access_ok(VERIFY_WRITE, o, sizeof(*o)) || (__put_user(i->it_interval.tv_sec, &o->it_interval.tv_sec) | @@ -964,7 +983,8 @@ jiffies_to_timeval32(unsigned long jiffies, struct timeval32 *value) value->tv_sec = jiffies / HZ; } -asmlinkage int osf_gettimeofday(struct timeval32 *tv, struct timezone *tz) +asmlinkage int +osf_gettimeofday(struct timeval32 *tv, struct timezone *tz) { if (tv) { struct timeval ktv; @@ -979,7 +999,8 @@ asmlinkage int osf_gettimeofday(struct timeval32 *tv, struct timezone *tz) return 0; } -asmlinkage int osf_settimeofday(struct timeval32 *tv, struct timezone *tz) +asmlinkage int +osf_settimeofday(struct timeval32 *tv, struct timezone *tz) { struct timeval ktv; struct timezone ktz; @@ -996,7 +1017,8 @@ asmlinkage int osf_settimeofday(struct timeval32 *tv, struct timezone *tz) return do_sys_settimeofday(tv ? &ktv : NULL, tz ? &ktz : NULL); } -asmlinkage int osf_getitimer(int which, struct itimerval32 *it) +asmlinkage int +osf_getitimer(int which, struct itimerval32 *it) { struct itimerval kit; int error; @@ -1008,8 +1030,8 @@ asmlinkage int osf_getitimer(int which, struct itimerval32 *it) return error; } -asmlinkage int osf_setitimer(int which, struct itimerval32 *in, - struct itimerval32 *out) +asmlinkage int +osf_setitimer(int which, struct itimerval32 *in, struct itimerval32 *out) { struct itimerval kin, kout; int error; @@ -1031,7 +1053,8 @@ asmlinkage int osf_setitimer(int which, struct itimerval32 *in, } -asmlinkage int osf_utimes(const char *filename, struct timeval32 *tvs) +asmlinkage int +osf_utimes(const char *filename, struct timeval32 *tvs) { char *kfilename; struct timeval ktvs[2]; @@ -1136,9 +1159,9 @@ osf_select(int n, fd_set *inp, fd_set *outp, fd_set *exp, set_fd_set(n, outp->fds_bits, fds.res_out); set_fd_set(n, exp->fds_bits, fds.res_ex); -out: + out: kfree(bits); -out_nofds: + out_nofds: return ret; } @@ -1161,7 +1184,8 @@ struct rusage32 { long ru_nivcsw; /* involuntary " */ }; -asmlinkage int osf_getrusage(int who, struct rusage32 *ru) +asmlinkage int +osf_getrusage(int who, struct rusage32 *ru) { struct rusage32 r; @@ -1198,8 +1222,8 @@ asmlinkage int osf_getrusage(int who, struct rusage32 *ru) return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0; } -asmlinkage int osf_wait4(pid_t pid, int *ustatus, int options, - struct rusage32 *ur) +asmlinkage int +osf_wait4(pid_t pid, int *ustatus, int options, struct rusage32 *ur) { if (!ur) { return sys_wait4(pid, ustatus, options, NULL); @@ -1245,7 +1269,8 @@ asmlinkage int osf_wait4(pid_t pid, int *ustatus, int options, * seems to be a timeval pointer, and I suspect the second * one is the time remaining.. Ho humm.. No documentation. */ -asmlinkage int osf_usleep_thread(struct timeval32 *sleep, struct timeval32 *remain) +asmlinkage int +osf_usleep_thread(struct timeval32 *sleep, struct timeval32 *remain) { struct timeval tmp; unsigned long ticks; @@ -1268,7 +1293,7 @@ asmlinkage int osf_usleep_thread(struct timeval32 *sleep, struct timeval32 *rema } return 0; -fault: + fault: return -EFAULT; } @@ -1302,7 +1327,8 @@ struct timex32 { int :32; int :32; int :32; int :32; }; -asmlinkage int sys_old_adjtimex(struct timex32 *txc_p) +asmlinkage int +sys_old_adjtimex(struct timex32 *txc_p) { struct timex txc; int ret; diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index b0cd16ef9493..e3a608e79a6b 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c @@ -191,26 +191,13 @@ machine_power_off(void) common_shutdown(LINUX_REBOOT_CMD_POWER_OFF, NULL); } +/* Used by sysrq-p, among others. I don't believe r9-r15 are ever + saved in the context it's used. */ + void -show_regs(struct pt_regs * regs) +show_regs(struct pt_regs *regs) { - printk("\n"); - printk("Pid: %d, comm: %20s\n", current->pid, current->comm); - printk("ps: %04lx pc: [<%016lx>] CPU %d %s\n", - regs->ps, regs->pc, smp_processor_id(), print_tainted()); - printk("rp: [<%016lx>] sp: %p\n", regs->r26, regs+1); - printk(" r0: %016lx r1: %016lx r2: %016lx r3: %016lx\n", - regs->r0, regs->r1, regs->r2, regs->r3); - printk(" r4: %016lx r5: %016lx r6: %016lx r7: %016lx\n", - regs->r4, regs->r5, regs->r6, regs->r7); - printk(" r8: %016lx r16: %016lx r17: %016lx r18: %016lx\n", - regs->r8, regs->r16, regs->r17, regs->r18); - printk("r19: %016lx r20: %016lx r21: %016lx r22: %016lx\n", - regs->r19, regs->r20, regs->r21, regs->r22); - printk("r23: %016lx r24: %016lx r25: %016lx r26: %016lx\n", - regs->r23, regs->r24, regs->r25, regs->r26); - printk("r27: %016lx r28: %016lx r29: %016lx hae: %016lx\n", - regs->r27, regs->r28, regs->gp, regs->hae); + dik_show_regs(regs, 0); } /* diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c index 42517ea1254d..bec5ea08989f 100644 --- a/arch/alpha/kernel/setup.c +++ b/arch/alpha/kernel/setup.c @@ -37,6 +37,11 @@ #include <linux/blk.h> #endif +#ifdef CONFIG_MAGIC_SYSRQ +#include <linux/sysrq.h> +#include <linux/reboot.h> +#endif + #include <linux/notifier.h> extern struct notifier_block *panic_notifier_list; static int alpha_panic_event(struct notifier_block *, unsigned long, void *); @@ -539,6 +544,15 @@ setup_arch(char **cmdline_p) register_srm_console(); } +#ifdef CONFIG_MAGIC_SYSRQ + /* If we're using SRM, make sysrq-b halt back to the prom, + not auto-reboot. */ + if (alpha_using_srm) { + struct sysrq_key_op *op = __sysrq_get_key_op('b'); + op->handler = (void *) machine_halt; + } +#endif + /* * Indentify and reconfigure for the current system. */ diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S new file mode 100644 index 000000000000..59a91186ace6 --- /dev/null +++ b/arch/alpha/kernel/systbls.S @@ -0,0 +1,433 @@ +/* + * arch/alpha/kernel/systbls.S + * + * The system call table. + */ + +#include <asm/unistd.h> + + .data + .align 3 + .globl sys_call_table +sys_call_table: + .quad alpha_ni_syscall /* 0 */ + .quad sys_exit + .quad sys_fork + .quad sys_read + .quad sys_write + .quad alpha_ni_syscall /* 5 */ + .quad sys_close + .quad osf_wait4 + .quad alpha_ni_syscall + .quad sys_link + .quad sys_unlink /* 10 */ + .quad alpha_ni_syscall + .quad sys_chdir + .quad sys_fchdir + .quad sys_mknod + .quad sys_chmod /* 15 */ + .quad sys_chown + .quad osf_brk + .quad alpha_ni_syscall + .quad sys_lseek + .quad sys_getxpid /* 20 */ + .quad osf_mount + .quad sys_umount + .quad sys_setuid + .quad sys_getxuid + .quad alpha_ni_syscall /* 25 */ + .quad sys_ptrace + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 30 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad sys_access + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 35 */ + .quad sys_sync + .quad sys_kill + .quad alpha_ni_syscall + .quad sys_setpgid + .quad alpha_ni_syscall /* 40 */ + .quad sys_dup + .quad sys_pipe + .quad osf_set_program_attributes + .quad alpha_ni_syscall + .quad sys_open /* 45 */ + .quad alpha_ni_syscall + .quad sys_getxgid + .quad osf_sigprocmask + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 50 */ + .quad sys_acct + .quad sys_sigpending + .quad alpha_ni_syscall + .quad sys_ioctl + .quad alpha_ni_syscall /* 55 */ + .quad alpha_ni_syscall + .quad sys_symlink + .quad sys_readlink + .quad sys_execve + .quad sys_umask /* 60 */ + .quad sys_chroot + .quad alpha_ni_syscall + .quad sys_getpgrp + .quad sys_getpagesize + .quad alpha_ni_syscall /* 65 */ + .quad sys_vfork + .quad sys_newstat + .quad sys_newlstat + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 70 */ + .quad osf_mmap + .quad alpha_ni_syscall + .quad sys_munmap + .quad sys_mprotect + .quad sys_madvise /* 75 */ + .quad sys_vhangup + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad sys_getgroups + /* map BSD's setpgrp to sys_setpgid for binary compatibility: */ + .quad sys_setgroups /* 80 */ + .quad alpha_ni_syscall + .quad sys_setpgid + .quad osf_setitimer + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 85 */ + .quad osf_getitimer + .quad sys_gethostname + .quad sys_sethostname + .quad sys_getdtablesize + .quad sys_dup2 /* 90 */ + .quad sys_newfstat + .quad sys_fcntl + .quad osf_select + .quad sys_poll + .quad sys_fsync /* 95 */ + .quad sys_setpriority + .quad sys_socket + .quad sys_connect + .quad sys_accept + .quad osf_getpriority /* 100 */ + .quad sys_send + .quad sys_recv + .quad sys_sigreturn + .quad sys_bind + .quad sys_setsockopt /* 105 */ + .quad sys_listen + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 110 */ + .quad sys_sigsuspend + .quad osf_sigstack + .quad sys_recvmsg + .quad sys_sendmsg + .quad alpha_ni_syscall /* 115 */ + .quad osf_gettimeofday + .quad osf_getrusage + .quad sys_getsockopt + .quad alpha_ni_syscall +#ifdef CONFIG_OSF4_COMPAT + .quad osf_readv /* 120 */ + .quad osf_writev +#else + .quad sys_readv /* 120 */ + .quad sys_writev +#endif + .quad osf_settimeofday + .quad sys_fchown + .quad sys_fchmod + .quad sys_recvfrom /* 125 */ + .quad sys_setreuid + .quad sys_setregid + .quad sys_rename + .quad sys_truncate + .quad sys_ftruncate /* 130 */ + .quad sys_flock + .quad sys_setgid + .quad sys_sendto + .quad sys_shutdown + .quad sys_socketpair /* 135 */ + .quad sys_mkdir + .quad sys_rmdir + .quad osf_utimes + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 140 */ + .quad sys_getpeername + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad sys_getrlimit + .quad sys_setrlimit /* 145 */ + .quad alpha_ni_syscall + .quad sys_setsid + .quad sys_quotactl + .quad alpha_ni_syscall + .quad sys_getsockname /* 150 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 155 */ + .quad osf_sigaction + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad osf_getdirentries + .quad osf_statfs /* 160 */ + .quad osf_fstatfs + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad osf_getdomainname /* 165 */ + .quad sys_setdomainname + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 170 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 175 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 180 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 185 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 190 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 195 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad osf_swapon + .quad sys_msgctl /* 200 */ + .quad sys_msgget + .quad sys_msgrcv + .quad sys_msgsnd + .quad sys_semctl + .quad sys_semget /* 205 */ + .quad sys_semop + .quad osf_utsname + .quad sys_lchown + .quad osf_shmat + .quad sys_shmctl /* 210 */ + .quad sys_shmdt + .quad sys_shmget + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 215 */ + .quad alpha_ni_syscall + .quad sys_msync + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 220 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 225 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 230 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad sys_getpgid + .quad sys_getsid + .quad sys_sigaltstack /* 235 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 240 */ + .quad osf_sysinfo + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad osf_proplist_syscall + .quad alpha_ni_syscall /* 245 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 250 */ + .quad osf_usleep_thread + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad sys_sysfs + .quad alpha_ni_syscall /* 255 */ + .quad osf_getsysinfo + .quad osf_setsysinfo + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 260 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 265 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 270 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 275 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 280 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 285 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 290 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 295 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall +/* linux-specific system calls start at 300 */ + .quad sys_bdflush /* 300 */ + .quad sys_sethae + .quad sys_mount + .quad sys_old_adjtimex + .quad sys_swapoff + .quad sys_getdents /* 305 */ + .quad alpha_create_module + .quad sys_init_module + .quad sys_delete_module + .quad sys_get_kernel_syms + .quad sys_syslog /* 310 */ + .quad sys_reboot + .quad sys_clone + .quad sys_uselib + .quad sys_mlock + .quad sys_munlock /* 315 */ + .quad sys_mlockall + .quad sys_munlockall + .quad sys_sysinfo + .quad sys_sysctl + .quad sys_ni_syscall /* 320 */ + .quad sys_oldumount + .quad sys_swapon + .quad sys_times + .quad sys_personality + .quad sys_setfsuid /* 325 */ + .quad sys_setfsgid + .quad sys_ustat + .quad sys_statfs + .quad sys_fstatfs + .quad sys_sched_setparam /* 330 */ + .quad sys_sched_getparam + .quad sys_sched_setscheduler + .quad sys_sched_getscheduler + .quad sys_sched_yield + .quad sys_sched_get_priority_max /* 335 */ + .quad sys_sched_get_priority_min + .quad sys_sched_rr_get_interval + .quad sys_ni_syscall /* sys_afs_syscall */ + .quad sys_newuname + .quad sys_nanosleep /* 340 */ + .quad sys_mremap + .quad sys_nfsservctl + .quad sys_setresuid + .quad sys_getresuid + .quad sys_pciconfig_read /* 345 */ + .quad sys_pciconfig_write + .quad sys_query_module + .quad sys_prctl + .quad sys_pread64 + .quad sys_pwrite64 /* 350 */ + .quad sys_rt_sigreturn + .quad sys_rt_sigaction + .quad sys_rt_sigprocmask + .quad sys_rt_sigpending + .quad sys_rt_sigtimedwait /* 355 */ + .quad sys_rt_sigqueueinfo + .quad sys_rt_sigsuspend + .quad sys_select + .quad sys_gettimeofday + .quad sys_settimeofday /* 360 */ + .quad sys_getitimer + .quad sys_setitimer + .quad sys_utimes + .quad sys_getrusage + .quad sys_wait4 /* 365 */ + .quad sys_adjtimex + .quad sys_getcwd + .quad sys_capget + .quad sys_capset + .quad sys_sendfile /* 370 */ + .quad sys_setresgid + .quad sys_getresgid + .quad sys_ni_syscall /* sys_dipc */ + .quad sys_pivot_root + .quad sys_mincore /* 375 */ + .quad sys_pciconfig_iobase + .quad sys_getdents64 + .quad sys_gettid + .quad sys_readahead + .quad sys_ni_syscall /* 380, sys_security */ + .quad sys_tkill + .quad sys_setxattr + .quad sys_lsetxattr + .quad sys_fsetxattr + .quad sys_getxattr /* 385 */ + .quad sys_lgetxattr + .quad sys_fgetxattr + .quad sys_listxattr + .quad sys_llistxattr + .quad sys_flistxattr /* 390 */ + .quad sys_removexattr + .quad sys_lremovexattr + .quad sys_fremovexattr + .quad sys_futex + .quad sys_sched_setaffinity /* 395 */ + .quad sys_sched_getaffinity + .quad sys_ni_syscall /* 397, tux */ + .quad sys_io_setup + .quad sys_io_destroy + .quad sys_io_getevents /* 400 */ + .quad sys_io_submit + .quad sys_io_cancel + .quad sys_ni_syscall /* 403, sys_alloc_hugepages */ + .quad sys_ni_syscall /* 404, sys_free_hugepages */ + .quad sys_exit_group + + .size sys_call_table, . - sys_call_table + .type sys_call_table, @object + +/* Remember to update everything, kids. */ +.ifne (. - sys_call_table) - (NR_SYSCALLS * 8) +.err +.endif |
