summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_booke.h
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2008-06-25 06:07:18 +0200
committerPaul Mackerras <paulus@samba.org>2008-07-01 03:28:45 +0200
commit6f3d8e6947ec98e358514fc0f7b2e37fe88a21bb (patch)
treeb91f2832c61b80bce0137473f6dca6e7df36b7d8 /arch/powerpc/kernel/head_booke.h
parentpowerpc: Move altivec_unavailable (diff)
downloadlinux-6f3d8e6947ec98e358514fc0f7b2e37fe88a21bb.tar.xz
linux-6f3d8e6947ec98e358514fc0f7b2e37fe88a21bb.zip
powerpc: Make load_up_fpu and load_up_altivec callable
Make load_up_fpu and load_up_altivec callable so they can be reused by the VSX code. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/head_booke.h')
-rw-r--r--arch/powerpc/kernel/head_booke.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index 505494f1ee7c..b0461be1c928 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -376,8 +376,10 @@ label:
#define FP_UNAVAILABLE_EXCEPTION \
START_EXCEPTION(FloatingPointUnavailable) \
NORMAL_EXCEPTION_PROLOG; \
- bne load_up_fpu; /* if from user, just load it up */ \
- addi r3,r1,STACK_FRAME_OVERHEAD; \
+ beq 1f; \
+ bl load_up_fpu; /* if from user, just load it up */ \
+ b fast_exception_return; \
+1: addi r3,r1,STACK_FRAME_OVERHEAD; \
EXC_XFER_EE_LITE(0x800, kernel_fp_unavailable_exception)
#ifndef __ASSEMBLY__