aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/misc_64.S
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/misc_64.S
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/misc_64.S')
-rw-r--r--arch/powerpc/kernel/misc_64.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index 31b9026cf1e3..4dd70cf7bb4e 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -508,12 +508,12 @@ _GLOBAL(giveup_altivec)
508 508
509#ifdef CONFIG_VSX 509#ifdef CONFIG_VSX
510/* 510/*
511 * giveup_vsx(tsk) 511 * __giveup_vsx(tsk)
512 * Disable VSX for the task given as the argument, 512 * Disable VSX for the task given as the argument.
513 * and save the vector registers in its thread_struct. 513 * Does NOT save vsx registers.
514 * Enables the VSX for use in the kernel on return. 514 * Enables the VSX for use in the kernel on return.
515 */ 515 */
516_GLOBAL(giveup_vsx) 516_GLOBAL(__giveup_vsx)
517 mfmsr r5 517 mfmsr r5
518 oris r5,r5,MSR_VSX@h 518 oris r5,r5,MSR_VSX@h
519 mtmsrd r5 /* enable use of VSX now */ 519 mtmsrd r5 /* enable use of VSX now */