[PATCH] Fix exception handler for supporting FPU
sudarshan.rajagopalan
sudarshan.rajagopalan at vecna.com
Fri Aug 28 17:51:31 UTC 2015
On 2015-08-28 13:44, Daniel Gutson wrote:
> On Fri, Aug 28, 2015 at 2:31 PM, sudarshan.rajagopalan
> <sudarshan.rajagopalan at vecna.com> wrote:
>> On 2015-08-28 12:18, sudarshan.rajagopalan wrote:
>>>
>>> On 2015-08-28 11:30, Daniel Gutson wrote:
>>>>
>>>> On Fri, Aug 28, 2015 at 12:20 PM, Gedare Bloom <gedare at gwu.edu>
>>>> wrote:
>>>>>
>>>>> Could you please open a ticket on our trac to describe the problem
>>>>> this fixes, and add "closes #xxxx." to your patch commit message?
>>>
>>>
>>> Hi Gedare, Sure will do!
>>>
>>>>
>>>> Additionally, please clarify which architecture this applies to. I
>>>> suspect this is for cortex-m4.
>>>> In any case, please clarify which architectures you tested on. We
>>>> can
>>>> analyze and test cortex-m3 if you don't have one.
>>>
>>>
>>> Daniel, I've tested it on Cortex-M4 but this patch should also apply
>>> to Cortex-M3 or all ARMv7M based processor (including M7). But please
>>> feel free to test it on Cortex-M3 since I don't have it with me now.
>>>
>>> Am also attaching the links to ARM Cortex-M3, M4 and M7 Exception
>>> entry and return referenece documents for a quick reference, where
>>> the
>>> table gives all the possible exception error codes returned and which
>>> SP to pick depending on the error code. The only tricky part would be
>>> error code: 0xFFFFFFE1. But the asm "tst.w lr, #4" with lr=0xFFFFFFE1
>>> will result into zero and will set the Zero flag, which will make the
>>> ITT EQ block execute, which will choose MSP, which it should for the
>>> return code 0xFFFFFFE1 (or even 0xFFFFFFF1) in all M3, M4 and M7. But
>>> please feel free to test it on real M3 an M7 processor. I have tested
>>> it by manually giving all the return error codes for M3 and M7 to LR
>>> and and it chooses the right SP value.
>>>
>>> ARM Reference Docs - Exception Entry and Return:
>>> C-3:
>>>
>>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/Babefdjc.html
>>> C-4:
>>>
>>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/Babefdjc.html
>>> C-7:
>>>
>>> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0646a/Babefdjc.html
>>>
>>> Thanks and Regards,
>>> Sudarshan
>>
>>
>>
>> Ok, so we tested the fix on Cortex-M7 processor. The error codes for
>> C-4 and
>> C-7 are all pretty much the same. This leaves with C-3, which I
>> believe
>> should work too, becasue non-FPU error codes are same for C-3, C-4 and
>> C-7.
>
> Hi Sudarshan,
>
> ok thanks. We will comment on Monday since we have a release today.
>
> Good job.
>
> Daniel.
Sure, Daniel. This requires diving into the ARM architecture a little
bit.
Will catch up on Monday.
Thanks,
Sudarshan
>>
>> Thanks,
>>
>> Sudarshan
>>>
>>>
>>>>
>>>>>
>>>>> Thanks,
>>>>> Gedare
>>>>>
>>>>> On Thu, Aug 27, 2015 at 4:33 PM, sudarshan.rajagopalan
>>>>> <sudarshan.rajagopalan at vecna.com> wrote:
>>>>>>
>>>>>> Patch attached here for ARMv7M Exception Handler. Looks like git
>>>>>> send-email
>>>>>> didn't deliver the mail. Something is not quite right with our
>>>>>> mail
>>>>>> server
>>>>>> here. Avoid this email if patch delivered through git.
>>>>>>
>>>>>> Thanks and Regards,
>>>>>>
>>>>>> Sudarshan
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> devel mailing list
>>>>>> devel at rtems.org
>>>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>>>
>>>>> _______________________________________________
>>>>> devel mailing list
>>>>> devel at rtems.org
>>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>>
>>
More information about the devel
mailing list