projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.kernel.org:/home/rmk/linux-2.6-arm
[powerpc.git]
/
arch
/
um
/
os-Linux
/
sys-i386
/
registers.c
diff --git
a/arch/um/os-Linux/sys-i386/registers.c
b/arch/um/os-Linux/sys-i386/registers.c
index
aee4812
..
516f66d
100644
(file)
--- a/
arch/um/os-Linux/sys-i386/registers.c
+++ b/
arch/um/os-Linux/sys-i386/registers.c
@@
-104,7
+104,7
@@
void init_registers(int pid)
err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs);
if(err)
panic("check_ptrace : PTRACE_GETREGS failed, errno = %d",
err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs);
if(err)
panic("check_ptrace : PTRACE_GETREGS failed, errno = %d",
- err);
+ err
no
);
errno = 0;
err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs);
errno = 0;
err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs);
@@
-119,12
+119,15
@@
void init_registers(int pid)
err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs);
if(err)
panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d",
err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs);
if(err)
panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d",
- err);
+ err
no
);
}
}
-void get_safe_registers(unsigned long *regs)
+void get_safe_registers(unsigned long *regs
, unsigned long *fp_regs
)
{
memcpy(regs, exec_regs, HOST_FRAME_SIZE * sizeof(unsigned long));
{
memcpy(regs, exec_regs, HOST_FRAME_SIZE * sizeof(unsigned long));
+ if(fp_regs != NULL)
+ memcpy(fp_regs, exec_fp_regs,
+ HOST_FP_SIZE * sizeof(unsigned long));
}
void get_thread_regs(union uml_pt_regs *uml_regs, void *buffer)
}
void get_thread_regs(union uml_pt_regs *uml_regs, void *buffer)