aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMihai Caraman <mihai.caraman@freescale.com>2014-08-20 09:09:04 -0400
committerAlexander Graf <agraf@suse.de>2014-09-22 04:11:31 -0400
commit2b2695a8d85593ec0253f7fdbeea1e18f0f9e5e2 (patch)
tree8e337873f22e3911164c97827a7f8a80017926b8
parent3477e71d53197d7f1b6a1f7416f3c42ffec5f221 (diff)
powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers
Book3E specification defines shared interrupt numbers for SPE and AltiVec units. Still SPE is present in e200/e500v2 cores while AltiVec is present in e6500 core. So we can currently decide at compile-time which unit to support exclusively. As Alexander Graf suggested, this will improve code readability especially in KVM. Use distinct defines to identify SPE/AltiVec interrupt numbers, reverting c58ce397 and 6b310fc5 patches that added common defines. Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--arch/powerpc/kernel/exceptions-64e.S4
-rw-r--r--arch/powerpc/kernel/head_fsl_booke.S8
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S
index bb9cac6c8051..3e68d1c69718 100644
--- a/arch/powerpc/kernel/exceptions-64e.S
+++ b/arch/powerpc/kernel/exceptions-64e.S
@@ -635,7 +635,7 @@ interrupt_end_book3e:
635 635
636/* Altivec Unavailable Interrupt */ 636/* Altivec Unavailable Interrupt */
637 START_EXCEPTION(altivec_unavailable); 637 START_EXCEPTION(altivec_unavailable);
638 NORMAL_EXCEPTION_PROLOG(0x200, BOOKE_INTERRUPT_SPE_ALTIVEC_UNAVAIL, 638 NORMAL_EXCEPTION_PROLOG(0x200, BOOKE_INTERRUPT_ALTIVEC_UNAVAIL,
639 PROLOG_ADDITION_NONE) 639 PROLOG_ADDITION_NONE)
640 /* we can probably do a shorter exception entry for that one... */ 640 /* we can probably do a shorter exception entry for that one... */
641 EXCEPTION_COMMON(0x200) 641 EXCEPTION_COMMON(0x200)
@@ -658,7 +658,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
658/* AltiVec Assist */ 658/* AltiVec Assist */
659 START_EXCEPTION(altivec_assist); 659 START_EXCEPTION(altivec_assist);
660 NORMAL_EXCEPTION_PROLOG(0x220, 660 NORMAL_EXCEPTION_PROLOG(0x220,
661 BOOKE_INTERRUPT_SPE_FP_DATA_ALTIVEC_ASSIST, 661 BOOKE_INTERRUPT_ALTIVEC_ASSIST,
662 PROLOG_ADDITION_NONE) 662 PROLOG_ADDITION_NONE)
663 EXCEPTION_COMMON(0x220) 663 EXCEPTION_COMMON(0x220)
664 INTS_DISABLE 664 INTS_DISABLE
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
index 90f487f71707..fffd1f96bb1d 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -617,27 +617,27 @@ END_FTR_SECTION_IFSET(CPU_FTR_EMB_HV)
617#ifdef CONFIG_SPE 617#ifdef CONFIG_SPE
618 /* SPE Unavailable */ 618 /* SPE Unavailable */
619 START_EXCEPTION(SPEUnavailable) 619 START_EXCEPTION(SPEUnavailable)
620 NORMAL_EXCEPTION_PROLOG(SPE_ALTIVEC_UNAVAIL) 620 NORMAL_EXCEPTION_PROLOG(SPE_UNAVAIL)
621 beq 1f 621 beq 1f
622 bl load_up_spe 622 bl load_up_spe
623 b fast_exception_return 623 b fast_exception_return
6241: addi r3,r1,STACK_FRAME_OVERHEAD 6241: addi r3,r1,STACK_FRAME_OVERHEAD
625 EXC_XFER_EE_LITE(0x2010, KernelSPE) 625 EXC_XFER_EE_LITE(0x2010, KernelSPE)
626#elif defined(CONFIG_SPE_POSSIBLE) 626#elif defined(CONFIG_SPE_POSSIBLE)
627 EXCEPTION(0x2020, SPE_ALTIVEC_UNAVAIL, SPEUnavailable, \ 627 EXCEPTION(0x2020, SPE_UNAVAIL, SPEUnavailable, \
628 unknown_exception, EXC_XFER_EE) 628 unknown_exception, EXC_XFER_EE)
629#endif /* CONFIG_SPE_POSSIBLE */ 629#endif /* CONFIG_SPE_POSSIBLE */
630 630
631 /* SPE Floating Point Data */ 631 /* SPE Floating Point Data */
632#ifdef CONFIG_SPE 632#ifdef CONFIG_SPE
633 EXCEPTION(0x2030, SPE_FP_DATA_ALTIVEC_ASSIST, SPEFloatingPointData, 633 EXCEPTION(0x2030, SPE_FP_DATA, SPEFloatingPointData,
634 SPEFloatingPointException, EXC_XFER_EE) 634 SPEFloatingPointException, EXC_XFER_EE)
635 635
636 /* SPE Floating Point Round */ 636 /* SPE Floating Point Round */
637 EXCEPTION(0x2050, SPE_FP_ROUND, SPEFloatingPointRound, \ 637 EXCEPTION(0x2050, SPE_FP_ROUND, SPEFloatingPointRound, \
638 SPEFloatingPointRoundException, EXC_XFER_EE) 638 SPEFloatingPointRoundException, EXC_XFER_EE)
639#elif defined(CONFIG_SPE_POSSIBLE) 639#elif defined(CONFIG_SPE_POSSIBLE)
640 EXCEPTION(0x2040, SPE_FP_DATA_ALTIVEC_ASSIST, SPEFloatingPointData, 640 EXCEPTION(0x2040, SPE_FP_DATA, SPEFloatingPointData,
641 unknown_exception, EXC_XFER_EE) 641 unknown_exception, EXC_XFER_EE)
642 EXCEPTION(0x2050, SPE_FP_ROUND, SPEFloatingPointRound, \ 642 EXCEPTION(0x2050, SPE_FP_ROUND, SPEFloatingPointRound, \
643 unknown_exception, EXC_XFER_EE) 643 unknown_exception, EXC_XFER_EE)