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

Kumar Gala galak at kernel.crashing.org
Fri Feb 9 17:03:38 EST 2007


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.

- k






More information about the Linuxppc-dev mailing list