[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 17:27:18 EST 2007


 

> -----Original Message-----
> From: Kumar Gala [mailto:galak at kernel.crashing.org] 
> Sent: Friday, February 09, 2007 2:04 PM
> To: Zhu Ebony-r57400
> Cc: paulus at samba.org; linuxppc-dev at ozlabs.org
> Subject: Re: [patch][5/5] powerpc V2: Add the general support 
> for Embedded Floating-Point instructions
> 
> 
> On Feb 8, 2007, at 11:48 PM, Zhu Ebony-r57400 wrote:
> 
> >
> >
> >> -----Original Message-----
> >> From: Kumar Gala [mailto:galak at kernel.crashing.org]
> >> Sent: Friday, February 09, 2007 1:29 PM
> >> To: Zhu Ebony-r57400
> >> Cc: paulus at samba.org; linuxppc-dev at ozlabs.org
> >> Subject: Re: [patch][5/5] powerpc V2: Add the general support for 
> >> Embedded Floating-Point instructions
> >>
> >>
> >> On Feb 8, 2007, at 11:15 PM, Zhu Ebony-r57400 wrote:
> >>
> >>>
> >>>>>>> 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!
> >>
> >> What's the issue with enabling via INIT_THREAD?  am I missing 
> >> something?
> >
> > Do you mean that add
> > ".spefscr = SPEFSCR_FINV| SPEFSCR_FDBZE|SPEFSCR_FUNFE|SPEFSCR_FOVFE"
> > In the defination of INIT_THREAD?
> 
> You may want to have something like #define 
> SPE_EXCEPTION_ENABLE (SPEFSCR_FINV| 
> SPEFSCR_FDBZE|SPEFSCR_FUNFE|SPEFSCR_FOVFE)
> 
> Yep, with the proper #ifdef CONFIG_ protection.

OK, I got your point.

B.R.
Ebony



More information about the Linuxppc-dev mailing list