diff options
| author | Kumar Gala <galak@somerset.sps.mot.com> | 2004-08-02 05:53:21 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-08-02 05:53:21 -0700 |
| commit | c9c17aa9ee82341d43fc0c26ddeea67aca2eb721 (patch) | |
| tree | 05e421327036e598a62b07e9ac0fa8f2fdc450db | |
| parent | a5cd4546d40028705e16c84ce41402e16aed33a6 (diff) | |
[PATCH] ppc32: fix e500 SPE saving of context
Fix the fact that we were not the signal processing engine status and
control register (SPEFSCR) on giveup_spe. Causes problems when the kernel
tries to read or modify the SPEFSCR.
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | arch/ppc/kernel/head_e500.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/ppc/kernel/head_e500.S b/arch/ppc/kernel/head_e500.S index 8f0c590f1453..ceb51d3436fa 100644 --- a/arch/ppc/kernel/head_e500.S +++ b/arch/ppc/kernel/head_e500.S @@ -1177,6 +1177,8 @@ _GLOBAL(giveup_spe) evmwumiaa evr6, evr6, evr6 /* evr6 <- ACC = 0 * 0 + ACC */ li r4,THREAD_ACC evstddx evr6, r4, r3 /* save off accumulator */ + mfspr r6,SPRN_SPEFSCR + stw r6,THREAD_SPEFSCR(r3) /* save spefscr register value */ beq 1f lwz r4,_MSR-STACK_FRAME_OVERHEAD(r5) lis r3,MSR_SPE@h |
