patch-2.3.27 linux/arch/ppc/kernel/traps.c

Next file: linux/arch/ppc/mm/extable.c
Previous file: linux/arch/ppc/kernel/setup.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.26/linux/arch/ppc/kernel/traps.c linux/arch/ppc/kernel/traps.c
@@ -149,19 +149,19 @@
 		show_regs(regs);
 		panic("Kernel Used Altivec with MSR_VEC off!\n");
 	}
-#ifdef __SMP__
-	printk("User Mode altivec trap should not happen in SMP!\n");
-#else
+
 	if ( last_task_used_altivec != current )
 	{
 		if ( last_task_used_altivec )
 			giveup_altivec(current);
 		load_up_altivec(current);
+		/* on SMP we always save/restore on switch */
+#ifndef __SMP__		
 		last_task_used_altivec = current;
+#endif		
 	}
 	/* enable altivec for the task on return */
 	regs->msr |= MSR_VEC;
-#endif		
 }
 
 void

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)