[PATCH] powerpc: Wire up *at syscalls
Wire up *at syscalls. This patch has been tested on ppc64 (using glibc's testsuite, both 32bit and 64bit), and compile-tested for ppc32 (I have currently no ppc32 system available, but I expect no problems). Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
30aacebed0
Коммит
2833c28aa0
|
@ -325,6 +325,19 @@ SYSCALL(unshare)
|
||||||
SYSCALL(splice)
|
SYSCALL(splice)
|
||||||
SYSCALL(tee)
|
SYSCALL(tee)
|
||||||
SYSCALL(vmsplice)
|
SYSCALL(vmsplice)
|
||||||
|
COMPAT_SYS(openat)
|
||||||
|
SYSCALL(mkdirat)
|
||||||
|
SYSCALL(mknodat)
|
||||||
|
SYSCALL(fchownat)
|
||||||
|
COMPAT_SYS(futimesat)
|
||||||
|
SYSX(sys_newfstatat, sys_fstatat64, sys_fstatat64)
|
||||||
|
SYSCALL(unlinkat)
|
||||||
|
SYSCALL(renameat)
|
||||||
|
SYSCALL(linkat)
|
||||||
|
SYSCALL(symlinkat)
|
||||||
|
SYSCALL(readlinkat)
|
||||||
|
SYSCALL(fchmodat)
|
||||||
|
SYSCALL(faccessat)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c
|
* please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c
|
||||||
|
|
|
@ -319,6 +319,19 @@ void *spu_syscall_table[] = {
|
||||||
[__NR_splice] sys_splice,
|
[__NR_splice] sys_splice,
|
||||||
[__NR_tee] sys_tee,
|
[__NR_tee] sys_tee,
|
||||||
[__NR_vmsplice] sys_vmsplice,
|
[__NR_vmsplice] sys_vmsplice,
|
||||||
|
[__NR_openat] sys_openat,
|
||||||
|
[__NR_mkdirat] sys_mkdirat,
|
||||||
|
[__NR_mknodat] sys_mknodat,
|
||||||
|
[__NR_fchownat] sys_fchownat,
|
||||||
|
[__NR_futimesat] sys_futimesat,
|
||||||
|
[__NR_newfstatat] sys_newfstatat,
|
||||||
|
[__NR_unlinkat] sys_unlinkat,
|
||||||
|
[__NR_renameat] sys_renameat,
|
||||||
|
[__NR_linkat] sys_linkat,
|
||||||
|
[__NR_symlinkat] sys_symlinkat,
|
||||||
|
[__NR_readlinkat] sys_readlinkat,
|
||||||
|
[__NR_fchmodat] sys_fchmodat,
|
||||||
|
[__NR_faccessat] sys_faccessat,
|
||||||
};
|
};
|
||||||
|
|
||||||
long spu_sys_callback(struct spu_syscall_block *s)
|
long spu_sys_callback(struct spu_syscall_block *s)
|
||||||
|
|
|
@ -261,7 +261,7 @@ asmlinkage long sys_newlstat(char __user *filename, struct stat __user *statbuf)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __ARCH_WANT_STAT64
|
#if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_SYS_NEWFSTATAT)
|
||||||
asmlinkage long sys_newfstatat(int dfd, char __user *filename,
|
asmlinkage long sys_newfstatat(int dfd, char __user *filename,
|
||||||
struct stat __user *statbuf, int flag)
|
struct stat __user *statbuf, int flag)
|
||||||
{
|
{
|
||||||
|
|
|
@ -304,8 +304,25 @@
|
||||||
#define __NR_splice 283
|
#define __NR_splice 283
|
||||||
#define __NR_tee 284
|
#define __NR_tee 284
|
||||||
#define __NR_vmsplice 285
|
#define __NR_vmsplice 285
|
||||||
|
#define __NR_openat 286
|
||||||
|
#define __NR_mkdirat 287
|
||||||
|
#define __NR_mknodat 288
|
||||||
|
#define __NR_fchownat 289
|
||||||
|
#define __NR_futimesat 290
|
||||||
|
#ifdef __powerpc64__
|
||||||
|
#define __NR_newfstatat 291
|
||||||
|
#else
|
||||||
|
#define __NR_fstatat64 291
|
||||||
|
#endif
|
||||||
|
#define __NR_unlinkat 292
|
||||||
|
#define __NR_renameat 293
|
||||||
|
#define __NR_linkat 294
|
||||||
|
#define __NR_symlinkat 295
|
||||||
|
#define __NR_readlinkat 296
|
||||||
|
#define __NR_fchmodat 297
|
||||||
|
#define __NR_faccessat 298
|
||||||
|
|
||||||
#define __NR_syscalls 286
|
#define __NR_syscalls 299
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
#define __NR__exit __NR_exit
|
#define __NR__exit __NR_exit
|
||||||
|
@ -458,6 +475,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6
|
||||||
#ifdef CONFIG_PPC64
|
#ifdef CONFIG_PPC64
|
||||||
#define __ARCH_WANT_COMPAT_SYS_TIME
|
#define __ARCH_WANT_COMPAT_SYS_TIME
|
||||||
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
|
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
|
||||||
|
#define __ARCH_WANT_SYS_NEWFSTATAT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Загрузка…
Ссылка в новой задаче