[patch][5/5] powerpc V2: Add the general support for Embedded Floating-Point instructions

Zhu Ebony-r57400 ebony.zhu at freescale.com
Fri Feb 9 16:15:21 EST 2007


 
> >>> diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/ 
> >>> kernel/head_fsl_booke.S index 66877bd..0d05db0 100644
> >>> --- a/arch/powerpc/kernel/head_fsl_booke.S
> >>> +++ b/arch/powerpc/kernel/head_fsl_booke.S
> >>> @@ -705,7 +705,7 @@ #else
> >>>  #endif /* CONFIG_SPE */
> >>>
> >>>  	/* SPE Floating Point Round */
> >>> -	EXCEPTION(0x2050, SPEFloatingPointRound, unknown_exception,
> >>> EXC_XFER_EE)
> >>> +	EXCEPTION(0x2050, SPEFloatingPointRound,
> >>> SPEFloatingPointException_Round, EXC_XFER_EE)
> >>>
> >>>  	/* Performance Monitor */
> >>>  	EXCEPTION(0x2060, PerformanceMonitor, 
> >>> performance_monitor_exception, EXC_XFER_STD) @@ -840,6 +840,8 @@ 
> >>> load_up_spe:
> >>>  	oris	r5,r5,MSR_SPE at h
> >>>  	mtmsr	r5			/* enable use of SPE now */
> >>>  	isync
> >>> +	li	r5,(SPEFSCR_FINVE | SPEFSCR_FDBZE | SPEFSCR_FUNFE |
> >>> SPEFSCR_FOVFE)
> >>> +	mtspr   SPRN_SPEFSCR,r5
> >>
> >> We should do this via INIT_THREAD, is there a reason that 
> you want to 
> >> set these always?
> >
> > I just thought it's the first time that an SPE instruction is 
> > encountered, so I enable the exceptions here.
> 
> Lets do this via INIT_THREAD instead, its cleaner. (just 
> remember to add the proper ifdef protection for SPE_IEEE

Talking about INIT_THREAD, I'm wondering where is the best place to
enble the exceptions? Please advice!

And also, I will put all of your other suggestions into next patches.
Thank you!

B.R.
Ebony



More information about the Linuxppc-dev mailing list