[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:48:07 EST 2007


 

> -----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?

I think it should work.



More information about the Linuxppc-dev mailing list