Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b2695a8 authored by Mihai Caraman's avatar Mihai Caraman Committed by Alexander Graf
Browse files

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: default avatarMihai Caraman <mihai.caraman@freescale.com>
Acked-by: default avatarScott Wood <scottwood@freescale.com>
Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent 3477e71d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -635,7 +635,7 @@ interrupt_end_book3e:

/* Altivec Unavailable Interrupt */
	START_EXCEPTION(altivec_unavailable);
	NORMAL_EXCEPTION_PROLOG(0x200, BOOKE_INTERRUPT_SPE_ALTIVEC_UNAVAIL,
	NORMAL_EXCEPTION_PROLOG(0x200, BOOKE_INTERRUPT_ALTIVEC_UNAVAIL,
				PROLOG_ADDITION_NONE)
	/* we can probably do a shorter exception entry for that one... */
	EXCEPTION_COMMON(0x200)
@@ -658,7 +658,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
/* AltiVec Assist */
	START_EXCEPTION(altivec_assist);
	NORMAL_EXCEPTION_PROLOG(0x220,
				BOOKE_INTERRUPT_SPE_FP_DATA_ALTIVEC_ASSIST,
				BOOKE_INTERRUPT_ALTIVEC_ASSIST,
				PROLOG_ADDITION_NONE)
	EXCEPTION_COMMON(0x220)
	INTS_DISABLE
+4 −4
Original line number Diff line number Diff line
@@ -617,27 +617,27 @@ END_FTR_SECTION_IFSET(CPU_FTR_EMB_HV)
#ifdef CONFIG_SPE
	/* SPE Unavailable */
	START_EXCEPTION(SPEUnavailable)
	NORMAL_EXCEPTION_PROLOG(SPE_ALTIVEC_UNAVAIL)
	NORMAL_EXCEPTION_PROLOG(SPE_UNAVAIL)
	beq	1f
	bl	load_up_spe
	b	fast_exception_return
1:	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_EE_LITE(0x2010, KernelSPE)
#elif defined(CONFIG_SPE_POSSIBLE)
	EXCEPTION(0x2020, SPE_ALTIVEC_UNAVAIL, SPEUnavailable, \
	EXCEPTION(0x2020, SPE_UNAVAIL, SPEUnavailable, \
		  unknown_exception, EXC_XFER_EE)
#endif /* CONFIG_SPE_POSSIBLE */

	/* SPE Floating Point Data */
#ifdef CONFIG_SPE
	EXCEPTION(0x2030, SPE_FP_DATA_ALTIVEC_ASSIST, SPEFloatingPointData,
	EXCEPTION(0x2030, SPE_FP_DATA, SPEFloatingPointData,
		  SPEFloatingPointException, EXC_XFER_EE)

	/* SPE Floating Point Round */
	EXCEPTION(0x2050, SPE_FP_ROUND, SPEFloatingPointRound, \
		  SPEFloatingPointRoundException, EXC_XFER_EE)
#elif defined(CONFIG_SPE_POSSIBLE)
	EXCEPTION(0x2040, SPE_FP_DATA_ALTIVEC_ASSIST, SPEFloatingPointData,
	EXCEPTION(0x2040, SPE_FP_DATA, SPEFloatingPointData,
		  unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2050, SPE_FP_ROUND, SPEFloatingPointRound, \
		  unknown_exception, EXC_XFER_EE)