diff options
Diffstat (limited to 'arch/powerpc/kernel/head_64.S')
-rw-r--r-- | arch/powerpc/kernel/head_64.S | 10 |
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 |
744 | 1: b .load_up_fpu | 744 | 1: 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 |
751 | BEGIN_FTR_SECTION | 752 | BEGIN_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 | ||
756 | 1: | ||
753 | END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) | 757 | END_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 | /* |