summaryrefslogtreecommitdiffstats
path: root/arch/um/sys-x86_64/ptrace.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2011-10-17 11:22:50 +0000
committerArnd Bergmann <arnd@arndb.de>2011-10-17 11:22:50 +0000
commit8eb41582d2106eccc7717047d1184481f5a1b3a6 (patch)
tree12257bbe39b5c8ae6918198fde682ed0aacd8e00 /arch/um/sys-x86_64/ptrace.c
parent127d4eb97b7bebc15fd692603263e75c220e24f9 (diff)
parent1cb17e2dbd09436069733500ea48e0c9b1f0a1cc (diff)
downloadop-kernel-dev-8eb41582d2106eccc7717047d1184481f5a1b3a6.zip
op-kernel-dev-8eb41582d2106eccc7717047d1184481f5a1b3a6.tar.gz
Merge branch 'ep93xx/board' into next/board
Diffstat (limited to 'arch/um/sys-x86_64/ptrace.c')
-rw-r--r--arch/um/sys-x86_64/ptrace.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/um/sys-x86_64/ptrace.c b/arch/um/sys-x86_64/ptrace.c
index f436136..4005506 100644
--- a/arch/um/sys-x86_64/ptrace.c
+++ b/arch/um/sys-x86_64/ptrace.c
@@ -145,7 +145,7 @@ int is_syscall(unsigned long addr)
return instr == 0x050f;
}
-int get_fpregs(struct user_i387_struct __user *buf, struct task_struct *child)
+static int get_fpregs(struct user_i387_struct __user *buf, struct task_struct *child)
{
int err, n, cpu = ((struct thread_info *) child->stack)->cpu;
long fpregs[HOST_FP_SIZE];
@@ -162,7 +162,7 @@ int get_fpregs(struct user_i387_struct __user *buf, struct task_struct *child)
return n;
}
-int set_fpregs(struct user_i387_struct __user *buf, struct task_struct *child)
+static int set_fpregs(struct user_i387_struct __user *buf, struct task_struct *child)
{
int n, cpu = ((struct thread_info *) child->stack)->cpu;
long fpregs[HOST_FP_SIZE];
@@ -182,12 +182,16 @@ long subarch_ptrace(struct task_struct *child, long request,
void __user *datap = (void __user *) data;
switch (request) {
- case PTRACE_GETFPXREGS: /* Get the child FPU state. */
+ case PTRACE_GETFPREGS: /* Get the child FPU state. */
ret = get_fpregs(datap, child);
break;
- case PTRACE_SETFPXREGS: /* Set the child FPU state. */
+ case PTRACE_SETFPREGS: /* Set the child FPU state. */
ret = set_fpregs(datap, child);
break;
+ case PTRACE_ARCH_PRCTL:
+ /* XXX Calls ptrace on the host - needs some SMP thinking */
+ ret = arch_prctl(child, data, (void __user *) addr);
+ break;
}
return ret;
OpenPOWER on IntegriCloud