alpha: use syscall wrappers
Convert OSF syscalls and add alpha specific SYSCALL_ALIAS() macro. Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Richard Henderson <rth@twiddle.net> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
299b4eaa30
commit
e5d9a90c36
|
@ -8,6 +8,7 @@ config ALPHA
|
||||||
select HAVE_AOUT
|
select HAVE_AOUT
|
||||||
select HAVE_IDE
|
select HAVE_IDE
|
||||||
select HAVE_OPROFILE
|
select HAVE_OPROFILE
|
||||||
|
select HAVE_SYSCALL_WRAPPERS
|
||||||
help
|
help
|
||||||
The Alpha is a 64-bit general-purpose processor designed and
|
The Alpha is a 64-bit general-purpose processor designed and
|
||||||
marketed by the Digital Equipment Corporation of blessed memory,
|
marketed by the Digital Equipment Corporation of blessed memory,
|
||||||
|
|
|
@ -933,7 +933,7 @@ sys_execve:
|
||||||
osf_sigprocmask:
|
osf_sigprocmask:
|
||||||
.prologue 0
|
.prologue 0
|
||||||
mov $sp, $18
|
mov $sp, $18
|
||||||
jmp $31, do_osf_sigprocmask
|
jmp $31, sys_osf_sigprocmask
|
||||||
.end osf_sigprocmask
|
.end osf_sigprocmask
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
|
|
|
@ -54,8 +54,7 @@ extern int do_pipe(int *);
|
||||||
* identical to OSF as we don't return 0 on success, but doing otherwise
|
* identical to OSF as we don't return 0 on success, but doing otherwise
|
||||||
* would require changes to libc. Hopefully this is good enough.
|
* would require changes to libc. Hopefully this is good enough.
|
||||||
*/
|
*/
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE1(osf_brk, unsigned long, brk)
|
||||||
osf_brk(unsigned long brk)
|
|
||||||
{
|
{
|
||||||
unsigned long retval = sys_brk(brk);
|
unsigned long retval = sys_brk(brk);
|
||||||
if (brk && brk != retval)
|
if (brk && brk != retval)
|
||||||
|
@ -66,9 +65,9 @@ osf_brk(unsigned long brk)
|
||||||
/*
|
/*
|
||||||
* This is pure guess-work..
|
* This is pure guess-work..
|
||||||
*/
|
*/
|
||||||
asmlinkage int
|
SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
|
||||||
osf_set_program_attributes(unsigned long text_start, unsigned long text_len,
|
unsigned long, text_len, unsigned long, bss_start,
|
||||||
unsigned long bss_start, unsigned long bss_len)
|
unsigned long, bss_len)
|
||||||
{
|
{
|
||||||
struct mm_struct *mm;
|
struct mm_struct *mm;
|
||||||
|
|
||||||
|
@ -146,9 +145,9 @@ Efault:
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
|
||||||
osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent,
|
struct osf_dirent __user *, dirent, unsigned int, count,
|
||||||
unsigned int count, long __user *basep)
|
long __user *, basep)
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
struct file *file;
|
struct file *file;
|
||||||
|
@ -177,9 +176,9 @@ osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent,
|
||||||
|
|
||||||
#undef NAME_OFFSET
|
#undef NAME_OFFSET
|
||||||
|
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len,
|
||||||
osf_mmap(unsigned long addr, unsigned long len, unsigned long prot,
|
unsigned long, prot, unsigned long, flags, unsigned long, fd,
|
||||||
unsigned long flags, unsigned long fd, unsigned long off)
|
unsigned long, off)
|
||||||
{
|
{
|
||||||
struct file *file = NULL;
|
struct file *file = NULL;
|
||||||
unsigned long ret = -EBADF;
|
unsigned long ret = -EBADF;
|
||||||
|
@ -254,8 +253,8 @@ do_osf_statfs(struct dentry * dentry, struct osf_statfs __user *buffer,
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE3(osf_statfs, char __user *, pathname,
|
||||||
osf_statfs(char __user *pathname, struct osf_statfs __user *buffer, unsigned long bufsiz)
|
struct osf_statfs __user *, buffer, unsigned long, bufsiz)
|
||||||
{
|
{
|
||||||
struct path path;
|
struct path path;
|
||||||
int retval;
|
int retval;
|
||||||
|
@ -268,8 +267,8 @@ osf_statfs(char __user *pathname, struct osf_statfs __user *buffer, unsigned lon
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd,
|
||||||
osf_fstatfs(unsigned long fd, struct osf_statfs __user *buffer, unsigned long bufsiz)
|
struct osf_statfs __user *, buffer, unsigned long, bufsiz)
|
||||||
{
|
{
|
||||||
struct file *file;
|
struct file *file;
|
||||||
int retval;
|
int retval;
|
||||||
|
@ -368,8 +367,8 @@ osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags)
|
||||||
return do_mount("", dirname, "proc", flags, NULL);
|
return do_mount("", dirname, "proc", flags, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,
|
||||||
osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data)
|
int, flag, void __user *, data)
|
||||||
{
|
{
|
||||||
int retval = -EINVAL;
|
int retval = -EINVAL;
|
||||||
char *name;
|
char *name;
|
||||||
|
@ -399,8 +398,7 @@ osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE1(osf_utsname, char __user *, name)
|
||||||
osf_utsname(char __user *name)
|
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
|
@ -423,14 +421,12 @@ osf_utsname(char __user *name)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE0(getpagesize)
|
||||||
sys_getpagesize(void)
|
|
||||||
{
|
{
|
||||||
return PAGE_SIZE;
|
return PAGE_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE0(getdtablesize)
|
||||||
sys_getdtablesize(void)
|
|
||||||
{
|
{
|
||||||
return sysctl_nr_open;
|
return sysctl_nr_open;
|
||||||
}
|
}
|
||||||
|
@ -438,8 +434,7 @@ sys_getdtablesize(void)
|
||||||
/*
|
/*
|
||||||
* For compatibility with OSF/1 only. Use utsname(2) instead.
|
* For compatibility with OSF/1 only. Use utsname(2) instead.
|
||||||
*/
|
*/
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
|
||||||
osf_getdomainname(char __user *name, int namelen)
|
|
||||||
{
|
{
|
||||||
unsigned len;
|
unsigned len;
|
||||||
int i;
|
int i;
|
||||||
|
@ -527,8 +522,8 @@ enum pl_code {
|
||||||
PL_DEL = 5, PL_FDEL = 6
|
PL_DEL = 5, PL_FDEL = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
asmlinkage long
|
SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
|
||||||
osf_proplist_syscall(enum pl_code code, union pl_args __user *args)
|
union pl_args __user *, args)
|
||||||
{
|
{
|
||||||
long error;
|
long error;
|
||||||
int __user *min_buf_size_ptr;
|
int __user *min_buf_size_ptr;
|
||||||
|
@ -567,8 +562,8 @@ osf_proplist_syscall(enum pl_code code, union pl_args __user *args)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_sigstack, struct sigstack __user *, uss,
|
||||||
osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss)
|
struct sigstack __user *, uoss)
|
||||||
{
|
{
|
||||||
unsigned long usp = rdusp();
|
unsigned long usp = rdusp();
|
||||||
unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size;
|
unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size;
|
||||||
|
@ -608,8 +603,7 @@ osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long
|
SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
|
||||||
osf_sysinfo(int command, char __user *buf, long count)
|
|
||||||
{
|
{
|
||||||
char *sysinfo_table[] = {
|
char *sysinfo_table[] = {
|
||||||
utsname()->sysname,
|
utsname()->sysname,
|
||||||
|
@ -647,9 +641,8 @@ osf_sysinfo(int command, char __user *buf, long count)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer,
|
||||||
osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
|
unsigned long, nbytes, int __user *, start, void __user *, arg)
|
||||||
int __user *start, void __user *arg)
|
|
||||||
{
|
{
|
||||||
unsigned long w;
|
unsigned long w;
|
||||||
struct percpu_struct *cpu;
|
struct percpu_struct *cpu;
|
||||||
|
@ -705,9 +698,8 @@ osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer,
|
||||||
osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
|
unsigned long, nbytes, int __user *, start, void __user *, arg)
|
||||||
int __user *start, void __user *arg)
|
|
||||||
{
|
{
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case SSI_IEEE_FP_CONTROL: {
|
case SSI_IEEE_FP_CONTROL: {
|
||||||
|
@ -880,8 +872,8 @@ jiffies_to_timeval32(unsigned long jiffies, struct timeval32 *value)
|
||||||
value->tv_sec = jiffies / HZ;
|
value->tv_sec = jiffies / HZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv,
|
||||||
osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
|
struct timezone __user *, tz)
|
||||||
{
|
{
|
||||||
if (tv) {
|
if (tv) {
|
||||||
struct timeval ktv;
|
struct timeval ktv;
|
||||||
|
@ -896,8 +888,8 @@ osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
|
||||||
osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
|
struct timezone __user *, tz)
|
||||||
{
|
{
|
||||||
struct timespec kts;
|
struct timespec kts;
|
||||||
struct timezone ktz;
|
struct timezone ktz;
|
||||||
|
@ -916,8 +908,7 @@ osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
|
||||||
return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
|
return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_getitimer, int, which, struct itimerval32 __user *, it)
|
||||||
osf_getitimer(int which, struct itimerval32 __user *it)
|
|
||||||
{
|
{
|
||||||
struct itimerval kit;
|
struct itimerval kit;
|
||||||
int error;
|
int error;
|
||||||
|
@ -929,8 +920,8 @@ osf_getitimer(int which, struct itimerval32 __user *it)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in,
|
||||||
osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __user *out)
|
struct itimerval32 __user *, out)
|
||||||
{
|
{
|
||||||
struct itimerval kin, kout;
|
struct itimerval kin, kout;
|
||||||
int error;
|
int error;
|
||||||
|
@ -952,8 +943,8 @@ osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __use
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_utimes, char __user *, filename,
|
||||||
osf_utimes(char __user *filename, struct timeval32 __user *tvs)
|
struct timeval32 __user *, tvs)
|
||||||
{
|
{
|
||||||
struct timespec tv[2];
|
struct timespec tv[2];
|
||||||
|
|
||||||
|
@ -979,9 +970,8 @@ osf_utimes(char __user *filename, struct timeval32 __user *tvs)
|
||||||
#define MAX_SELECT_SECONDS \
|
#define MAX_SELECT_SECONDS \
|
||||||
((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1)
|
((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1)
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE5(osf_select, int, n, fd_set __user *, inp, fd_set __user *, outp,
|
||||||
osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp,
|
fd_set __user *, exp, struct timeval32 __user *, tvp)
|
||||||
struct timeval32 __user *tvp)
|
|
||||||
{
|
{
|
||||||
struct timespec end_time, *to = NULL;
|
struct timespec end_time, *to = NULL;
|
||||||
if (tvp) {
|
if (tvp) {
|
||||||
|
@ -1026,8 +1016,7 @@ struct rusage32 {
|
||||||
long ru_nivcsw; /* involuntary " */
|
long ru_nivcsw; /* involuntary " */
|
||||||
};
|
};
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_getrusage, int, who, struct rusage32 __user *, ru)
|
||||||
osf_getrusage(int who, struct rusage32 __user *ru)
|
|
||||||
{
|
{
|
||||||
struct rusage32 r;
|
struct rusage32 r;
|
||||||
|
|
||||||
|
@ -1053,9 +1042,8 @@ osf_getrusage(int who, struct rusage32 __user *ru)
|
||||||
return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
|
return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long
|
SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options,
|
||||||
osf_wait4(pid_t pid, int __user *ustatus, int options,
|
struct rusage32 __user *, ur)
|
||||||
struct rusage32 __user *ur)
|
|
||||||
{
|
{
|
||||||
struct rusage r;
|
struct rusage r;
|
||||||
long ret, err;
|
long ret, err;
|
||||||
|
@ -1101,8 +1089,8 @@ osf_wait4(pid_t pid, int __user *ustatus, int options,
|
||||||
* seems to be a timeval pointer, and I suspect the second
|
* seems to be a timeval pointer, and I suspect the second
|
||||||
* one is the time remaining.. Ho humm.. No documentation.
|
* one is the time remaining.. Ho humm.. No documentation.
|
||||||
*/
|
*/
|
||||||
asmlinkage int
|
SYSCALL_DEFINE2(osf_usleep_thread, struct timeval32 __user *, sleep,
|
||||||
osf_usleep_thread(struct timeval32 __user *sleep, struct timeval32 __user *remain)
|
struct timeval32 __user *, remain)
|
||||||
{
|
{
|
||||||
struct timeval tmp;
|
struct timeval tmp;
|
||||||
unsigned long ticks;
|
unsigned long ticks;
|
||||||
|
@ -1155,8 +1143,7 @@ struct timex32 {
|
||||||
int :32; int :32; int :32; int :32;
|
int :32; int :32; int :32; int :32;
|
||||||
};
|
};
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p)
|
||||||
sys_old_adjtimex(struct timex32 __user *txc_p)
|
|
||||||
{
|
{
|
||||||
struct timex txc;
|
struct timex txc;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1267,8 +1254,8 @@ osf_fix_iov_len(const struct iovec __user *iov, unsigned long count)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage ssize_t
|
SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
|
||||||
osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long count)
|
const struct iovec __user *, vector, unsigned long, count)
|
||||||
{
|
{
|
||||||
if (unlikely(personality(current->personality) == PER_OSF4))
|
if (unlikely(personality(current->personality) == PER_OSF4))
|
||||||
if (osf_fix_iov_len(vector, count))
|
if (osf_fix_iov_len(vector, count))
|
||||||
|
@ -1276,8 +1263,8 @@ osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long co
|
||||||
return sys_readv(fd, vector, count);
|
return sys_readv(fd, vector, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage ssize_t
|
SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
|
||||||
osf_writev(unsigned long fd, const struct iovec __user * vector, unsigned long count)
|
const struct iovec __user *, vector, unsigned long, count)
|
||||||
{
|
{
|
||||||
if (unlikely(personality(current->personality) == PER_OSF4))
|
if (unlikely(personality(current->personality) == PER_OSF4))
|
||||||
if (osf_fix_iov_len(vector, count))
|
if (osf_fix_iov_len(vector, count))
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include <linux/tty.h>
|
#include <linux/tty.h>
|
||||||
#include <linux/binfmts.h>
|
#include <linux/binfmts.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
|
#include <linux/syscalls.h>
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/sigcontext.h>
|
#include <asm/sigcontext.h>
|
||||||
|
@ -51,8 +52,8 @@ static void do_signal(struct pt_regs *, struct switch_stack *,
|
||||||
* Note that we don't need to acquire the kernel lock for SMP
|
* Note that we don't need to acquire the kernel lock for SMP
|
||||||
* operation, as all of this is local to this thread.
|
* operation, as all of this is local to this thread.
|
||||||
*/
|
*/
|
||||||
asmlinkage unsigned long
|
SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
|
||||||
do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs)
|
struct pt_regs *, regs)
|
||||||
{
|
{
|
||||||
unsigned long oldmask = -EINVAL;
|
unsigned long oldmask = -EINVAL;
|
||||||
|
|
||||||
|
@ -81,9 +82,9 @@ do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs)
|
||||||
return oldmask;
|
return oldmask;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int
|
SYSCALL_DEFINE3(osf_sigaction, int, sig,
|
||||||
osf_sigaction(int sig, const struct osf_sigaction __user *act,
|
const struct osf_sigaction __user *, act,
|
||||||
struct osf_sigaction __user *oact)
|
struct osf_sigaction __user *, oact)
|
||||||
{
|
{
|
||||||
struct k_sigaction new_ka, old_ka;
|
struct k_sigaction new_ka, old_ka;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -112,10 +113,9 @@ osf_sigaction(int sig, const struct osf_sigaction __user *act,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage long
|
SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
|
||||||
sys_rt_sigaction(int sig, const struct sigaction __user *act,
|
struct sigaction __user *, oact,
|
||||||
struct sigaction __user *oact,
|
size_t, sigsetsize, void __user *, restorer)
|
||||||
size_t sigsetsize, void __user *restorer)
|
|
||||||
{
|
{
|
||||||
struct k_sigaction new_ka, old_ka;
|
struct k_sigaction new_ka, old_ka;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
|
@ -17,7 +17,7 @@ sys_call_table:
|
||||||
.quad sys_write
|
.quad sys_write
|
||||||
.quad alpha_ni_syscall /* 5 */
|
.quad alpha_ni_syscall /* 5 */
|
||||||
.quad sys_close
|
.quad sys_close
|
||||||
.quad osf_wait4
|
.quad sys_osf_wait4
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad sys_link
|
.quad sys_link
|
||||||
.quad sys_unlink /* 10 */
|
.quad sys_unlink /* 10 */
|
||||||
|
@ -27,11 +27,11 @@ sys_call_table:
|
||||||
.quad sys_mknod
|
.quad sys_mknod
|
||||||
.quad sys_chmod /* 15 */
|
.quad sys_chmod /* 15 */
|
||||||
.quad sys_chown
|
.quad sys_chown
|
||||||
.quad osf_brk
|
.quad sys_osf_brk
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad sys_lseek
|
.quad sys_lseek
|
||||||
.quad sys_getxpid /* 20 */
|
.quad sys_getxpid /* 20 */
|
||||||
.quad osf_mount
|
.quad sys_osf_mount
|
||||||
.quad sys_umount
|
.quad sys_umount
|
||||||
.quad sys_setuid
|
.quad sys_setuid
|
||||||
.quad sys_getxuid
|
.quad sys_getxuid
|
||||||
|
@ -53,7 +53,7 @@ sys_call_table:
|
||||||
.quad alpha_ni_syscall /* 40 */
|
.quad alpha_ni_syscall /* 40 */
|
||||||
.quad sys_dup
|
.quad sys_dup
|
||||||
.quad sys_alpha_pipe
|
.quad sys_alpha_pipe
|
||||||
.quad osf_set_program_attributes
|
.quad sys_osf_set_program_attributes
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad sys_open /* 45 */
|
.quad sys_open /* 45 */
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
|
@ -81,7 +81,7 @@ sys_call_table:
|
||||||
.quad sys_newlstat
|
.quad sys_newlstat
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 70 */
|
.quad alpha_ni_syscall /* 70 */
|
||||||
.quad osf_mmap
|
.quad sys_osf_mmap
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad sys_munmap
|
.quad sys_munmap
|
||||||
.quad sys_mprotect
|
.quad sys_mprotect
|
||||||
|
@ -94,17 +94,17 @@ sys_call_table:
|
||||||
.quad sys_setgroups /* 80 */
|
.quad sys_setgroups /* 80 */
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad sys_setpgid
|
.quad sys_setpgid
|
||||||
.quad osf_setitimer
|
.quad sys_osf_setitimer
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 85 */
|
.quad alpha_ni_syscall /* 85 */
|
||||||
.quad osf_getitimer
|
.quad sys_osf_getitimer
|
||||||
.quad sys_gethostname
|
.quad sys_gethostname
|
||||||
.quad sys_sethostname
|
.quad sys_sethostname
|
||||||
.quad sys_getdtablesize
|
.quad sys_getdtablesize
|
||||||
.quad sys_dup2 /* 90 */
|
.quad sys_dup2 /* 90 */
|
||||||
.quad sys_newfstat
|
.quad sys_newfstat
|
||||||
.quad sys_fcntl
|
.quad sys_fcntl
|
||||||
.quad osf_select
|
.quad sys_osf_select
|
||||||
.quad sys_poll
|
.quad sys_poll
|
||||||
.quad sys_fsync /* 95 */
|
.quad sys_fsync /* 95 */
|
||||||
.quad sys_setpriority
|
.quad sys_setpriority
|
||||||
|
@ -123,22 +123,22 @@ sys_call_table:
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 110 */
|
.quad alpha_ni_syscall /* 110 */
|
||||||
.quad sys_sigsuspend
|
.quad sys_sigsuspend
|
||||||
.quad osf_sigstack
|
.quad sys_osf_sigstack
|
||||||
.quad sys_recvmsg
|
.quad sys_recvmsg
|
||||||
.quad sys_sendmsg
|
.quad sys_sendmsg
|
||||||
.quad alpha_ni_syscall /* 115 */
|
.quad alpha_ni_syscall /* 115 */
|
||||||
.quad osf_gettimeofday
|
.quad sys_osf_gettimeofday
|
||||||
.quad osf_getrusage
|
.quad sys_osf_getrusage
|
||||||
.quad sys_getsockopt
|
.quad sys_getsockopt
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
#ifdef CONFIG_OSF4_COMPAT
|
#ifdef CONFIG_OSF4_COMPAT
|
||||||
.quad osf_readv /* 120 */
|
.quad sys_osf_readv /* 120 */
|
||||||
.quad osf_writev
|
.quad sys_osf_writev
|
||||||
#else
|
#else
|
||||||
.quad sys_readv /* 120 */
|
.quad sys_readv /* 120 */
|
||||||
.quad sys_writev
|
.quad sys_writev
|
||||||
#endif
|
#endif
|
||||||
.quad osf_settimeofday
|
.quad sys_osf_settimeofday
|
||||||
.quad sys_fchown
|
.quad sys_fchown
|
||||||
.quad sys_fchmod
|
.quad sys_fchmod
|
||||||
.quad sys_recvfrom /* 125 */
|
.quad sys_recvfrom /* 125 */
|
||||||
|
@ -154,7 +154,7 @@ sys_call_table:
|
||||||
.quad sys_socketpair /* 135 */
|
.quad sys_socketpair /* 135 */
|
||||||
.quad sys_mkdir
|
.quad sys_mkdir
|
||||||
.quad sys_rmdir
|
.quad sys_rmdir
|
||||||
.quad osf_utimes
|
.quad sys_osf_utimes
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 140 */
|
.quad alpha_ni_syscall /* 140 */
|
||||||
.quad sys_getpeername
|
.quad sys_getpeername
|
||||||
|
@ -172,16 +172,16 @@ sys_call_table:
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 155 */
|
.quad alpha_ni_syscall /* 155 */
|
||||||
.quad osf_sigaction
|
.quad sys_osf_sigaction
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad osf_getdirentries
|
.quad sys_osf_getdirentries
|
||||||
.quad osf_statfs /* 160 */
|
.quad sys_osf_statfs /* 160 */
|
||||||
.quad osf_fstatfs
|
.quad sys_osf_fstatfs
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad osf_getdomainname /* 165 */
|
.quad sys_osf_getdomainname /* 165 */
|
||||||
.quad sys_setdomainname
|
.quad sys_setdomainname
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
|
@ -224,7 +224,7 @@ sys_call_table:
|
||||||
.quad sys_semctl
|
.quad sys_semctl
|
||||||
.quad sys_semget /* 205 */
|
.quad sys_semget /* 205 */
|
||||||
.quad sys_semop
|
.quad sys_semop
|
||||||
.quad osf_utsname
|
.quad sys_osf_utsname
|
||||||
.quad sys_lchown
|
.quad sys_lchown
|
||||||
.quad sys_shmat
|
.quad sys_shmat
|
||||||
.quad sys_shmctl /* 210 */
|
.quad sys_shmctl /* 210 */
|
||||||
|
@ -258,23 +258,23 @@ sys_call_table:
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 240 */
|
.quad alpha_ni_syscall /* 240 */
|
||||||
.quad osf_sysinfo
|
.quad sys_osf_sysinfo
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad osf_proplist_syscall
|
.quad sys_osf_proplist_syscall
|
||||||
.quad alpha_ni_syscall /* 245 */
|
.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
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 250 */
|
.quad alpha_ni_syscall /* 250 */
|
||||||
.quad osf_usleep_thread
|
.quad sys_osf_usleep_thread
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad sys_sysfs
|
.quad sys_sysfs
|
||||||
.quad alpha_ni_syscall /* 255 */
|
.quad alpha_ni_syscall /* 255 */
|
||||||
.quad osf_getsysinfo
|
.quad sys_osf_getsysinfo
|
||||||
.quad osf_setsysinfo
|
.quad sys_osf_setsysinfo
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall
|
.quad alpha_ni_syscall
|
||||||
.quad alpha_ni_syscall /* 260 */
|
.quad alpha_ni_syscall /* 260 */
|
||||||
|
|
|
@ -108,9 +108,14 @@ struct old_linux_dirent;
|
||||||
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
|
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
|
||||||
"\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
|
"\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
|
||||||
#else
|
#else
|
||||||
|
#ifdef CONFIG_ALPHA
|
||||||
|
#define SYSCALL_ALIAS(alias, name) \
|
||||||
|
asm ( #alias " = " #name "\n\t.globl " #alias)
|
||||||
|
#else
|
||||||
#define SYSCALL_ALIAS(alias, name) \
|
#define SYSCALL_ALIAS(alias, name) \
|
||||||
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
|
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
|
#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue