aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/signal_64.c
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2008-07-11 02:29:12 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-07-14 22:29:23 -0400
commit7c29217096d83f657e6ee70479af09b46f4275f6 (patch)
tree96fd96226d2998b1f56d7fb8110e27c489dbba89 /arch/powerpc/kernel/signal_64.c
parent01f4b8b8b8db09b88be7df7e51192e4e678b69d3 (diff)
powerpc: fix giveup_vsx to save registers correctly
giveup_vsx didn't save the FPU and VMX regsiters. Change it to be like giveup_fpr/altivec which save these registers. Also update call sites where FPU and VMX are already saved to use the original giveup_vsx (renamed to __giveup_vsx). Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/signal_64.c')
-rw-r--r--arch/powerpc/kernel/signal_64.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
index 5f9d2ef2e24b..65ad925c3a8f 100644
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -122,7 +122,7 @@ static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs,
122 * VMX data. 122 * VMX data.
123 */ 123 */
124 if (current->thread.used_vsr) { 124 if (current->thread.used_vsr) {
125 flush_vsx_to_thread(current); 125 __giveup_vsx(current);
126 v_regs += ELF_NVRREG; 126 v_regs += ELF_NVRREG;
127 err |= copy_vsx_to_user(v_regs, current); 127 err |= copy_vsx_to_user(v_regs, current);
128 /* set MSR_VSX in the MSR value in the frame to 128 /* set MSR_VSX in the MSR value in the frame to