Commit 2833c28a authored by Andreas Schwab's avatar Andreas Schwab Committed by Paul Mackerras

[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: default avatarAndreas Schwab <schwab@suse.de>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 30aacebe
...@@ -325,6 +325,19 @@ SYSCALL(unshare) ...@@ -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[] = { ...@@ -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) ...@@ -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 @@ ...@@ -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 ...@@ -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
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment