|
@@ -26,8 +26,8 @@
|
|
|
#include <linux/elf.h>
|
|
|
#include <linux/ptrace.h>
|
|
|
#include <linux/ratelimit.h>
|
|
|
-#ifdef CONFIG_PPC64
|
|
|
#include <linux/syscalls.h>
|
|
|
+#ifdef CONFIG_PPC64
|
|
|
#include <linux/compat.h>
|
|
|
#else
|
|
|
#include <linux/wait.h>
|
|
@@ -57,10 +57,6 @@
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_PPC64
|
|
|
-#define sys_rt_sigreturn compat_sys_rt_sigreturn
|
|
|
-#define sys_swapcontext compat_sys_swapcontext
|
|
|
-#define sys_sigreturn compat_sys_sigreturn
|
|
|
-
|
|
|
#define old_sigaction old_sigaction32
|
|
|
#define sigcontext sigcontext32
|
|
|
#define mcontext mcontext32
|
|
@@ -1041,10 +1037,15 @@ static int do_setcontext_tm(struct ucontext __user *ucp,
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-long sys_swapcontext(struct ucontext __user *old_ctx,
|
|
|
- struct ucontext __user *new_ctx,
|
|
|
- int ctx_size, int r6, int r7, int r8, struct pt_regs *regs)
|
|
|
+#ifdef CONFIG_PPC64
|
|
|
+COMPAT_SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
|
|
+ struct ucontext __user *, new_ctx, int, ctx_size)
|
|
|
+#else
|
|
|
+SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,
|
|
|
+ struct ucontext __user *, new_ctx, long, ctx_size)
|
|
|
+#endif
|
|
|
{
|
|
|
+ struct pt_regs *regs = current_pt_regs();
|
|
|
unsigned char tmp __maybe_unused;
|
|
|
int ctx_has_vsx_region = 0;
|
|
|
|
|
@@ -1132,10 +1133,14 @@ long sys_swapcontext(struct ucontext __user *old_ctx,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-long sys_rt_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8,
|
|
|
- struct pt_regs *regs)
|
|
|
+#ifdef CONFIG_PPC64
|
|
|
+COMPAT_SYSCALL_DEFINE0(rt_sigreturn)
|
|
|
+#else
|
|
|
+SYSCALL_DEFINE0(rt_sigreturn)
|
|
|
+#endif
|
|
|
{
|
|
|
struct rt_sigframe __user *rt_sf;
|
|
|
+ struct pt_regs *regs = current_pt_regs();
|
|
|
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
|
|
|
struct ucontext __user *uc_transact;
|
|
|
unsigned long msr_hi;
|
|
@@ -1224,11 +1229,10 @@ long sys_rt_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8,
|
|
|
}
|
|
|
|
|
|
#ifdef CONFIG_PPC32
|
|
|
-int sys_debug_setcontext(struct ucontext __user *ctx,
|
|
|
- int ndbg, struct sig_dbg_op __user *dbg,
|
|
|
- int r6, int r7, int r8,
|
|
|
- struct pt_regs *regs)
|
|
|
+SYSCALL_DEFINE3(debug_setcontext, struct ucontext __user *, ctx,
|
|
|
+ int, ndbg, struct sig_dbg_op __user *, dbg)
|
|
|
{
|
|
|
+ struct pt_regs *regs = current_pt_regs();
|
|
|
struct sig_dbg_op op;
|
|
|
int i;
|
|
|
unsigned char tmp __maybe_unused;
|
|
@@ -1419,9 +1423,13 @@ badframe:
|
|
|
/*
|
|
|
* Do a signal return; undo the signal stack.
|
|
|
*/
|
|
|
-long sys_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8,
|
|
|
- struct pt_regs *regs)
|
|
|
+#ifdef CONFIG_PPC64
|
|
|
+COMPAT_SYSCALL_DEFINE0(sigreturn)
|
|
|
+#else
|
|
|
+SYSCALL_DEFINE0(sigreturn)
|
|
|
+#endif
|
|
|
{
|
|
|
+ struct pt_regs *regs = current_pt_regs();
|
|
|
struct sigframe __user *sf;
|
|
|
struct sigcontext __user *sc;
|
|
|
struct sigcontext sigctx;
|