aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_64.S
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2008-06-25 00:07:18 -0400
committerPaul Mackerras <paulus@samba.org>2008-06-30 21:28:45 -0400
commit6f3d8e6947ec98e358514fc0f7b2e37fe88a21bb (patch)
treeb91f2832c61b80bce0137473f6dca6e7df36b7d8 /arch/powerpc/kernel/head_64.S
parent10e343925ab5d9f6c651ad808f2e413e3cc053b3 (diff)
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_64.S')
-rw-r--r--arch/powerpc/kernel/head_64.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index dd9e6595cae5..64433731d995 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -741,7 +741,8 @@ fp_unavailable_common:
741 ENABLE_INTS 741 ENABLE_INTS
742 bl .kernel_fp_unavailable_exception 742 bl .kernel_fp_unavailable_exception
743 BUG_OPCODE 743 BUG_OPCODE
7441: b .load_up_fpu 7441: bl .load_up_fpu
745 b fast_exception_return
745 746
746 .align 7 747 .align 7
747 .globl altivec_unavailable_common 748 .globl altivec_unavailable_common
@@ -749,7 +750,10 @@ altivec_unavailable_common:
749 EXCEPTION_PROLOG_COMMON(0xf20, PACA_EXGEN) 750 EXCEPTION_PROLOG_COMMON(0xf20, PACA_EXGEN)
750#ifdef CONFIG_ALTIVEC 751#ifdef CONFIG_ALTIVEC
751BEGIN_FTR_SECTION 752BEGIN_FTR_SECTION
752 bne .load_up_altivec /* if from user, just load it up */ 753 beq 1f
754 bl .load_up_altivec
755 b fast_exception_return
7561:
753END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) 757END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
754#endif 758#endif
755 bl .save_nvgprs 759 bl .save_nvgprs
@@ -829,7 +833,7 @@ _STATIC(load_up_altivec)
829 std r4,0(r3) 833 std r4,0(r3)
830#endif /* CONFIG_SMP */ 834#endif /* CONFIG_SMP */
831 /* restore registers and return */ 835 /* restore registers and return */
832 b fast_exception_return 836 blr
833#endif /* CONFIG_ALTIVEC */ 837#endif /* CONFIG_ALTIVEC */
834 838
835/* 839/*