On 10/05/2011 07:07 PM, Michael Bernhard wrote:
> On 10/04/2011 05:29 PM, Gilles Chanteperdrix wrote:
>> On 10/04/2011 05:14 PM, Michael Bernhard wrote:
>>> Gilles Chanteperdrix<gilles.chanteperdrix<at> xenomai.org> writes:
>>>>
>>>> On 10/03/2011 05:33 PM, Gilles Chanteperdrix wrote:
>>>>> On 10/03/2011 02:26 PM, Gilles Chanteperdrix wrote:
>>>>>> Ok. Thanks for testing xenomai 2.6 by the way. I will try the test
>>>>>> program on an ARMv5 I have tonight. However, could you tell us a bit
>>>>>> more about your setup? What toolchain do you use? What threading library?
>>> We use codesourcery toolchain arm-2010.09. The rootfs was built using
>>> PTXdist.
>>> I think, but have to verify, that NPTL is used as threading library.
>>>
>>>>> And also: is your libc built with iwmmxt support?
>>> I don't know, but will find out.
>>>
>>>> I can not reproduce this issue on another armv5 I have, but it does not
>>>> support iwmmxt. So, in order to see if the problem you have comes from
>>>> iwmmxt, you should try and build a root filesystem with a soft-float
>>>> toolchain, such as, for instance, the codesourcery toolchain.
>>>>
>>>> Currently, iwmmxt floats are not supported with Xenomai, so, if you want
>>>> to get them working, something will have to be done.
>>> In the example I gave, no floats were used. Does Xenomai needs to support
>>> iwmmxt
>>> floats also in this case? And would compiling the application with
>>> -msoft-float
>>> do the trick?
>>>
>>> ATM, I'm busy with other things but have time to investigate tomorrow
>>> evening.
>>
>> The bug happens inside sigsetjmp, which is a routine saving the current
>> context. So, if the libc is compiled with iwmmmxt support, and more
>> importantly, if the kernel is compiled with iwmmxt support, sigsetjmp
>> probably saves the floating point registers.
>>
>> So another simple thing to try is to disable iwmmxt support in kernel
>> configuration.
> I disabled iwmmxt support in the kernel my test is now working.
>
> However what happens to applications/libraries that are compiled with
> iwmmxt support when this feature is disabled in the kernel?
They will get... a SIGILL when trying to use the iwmmxt instructions.
>
> What has to be changed in Xenomai to have iwmmxt support?
Support for switching iwmmxt context, and this is painful. Philippe and
I worked on x86 floating points and ARM/VFP, and it took several
iterations to get it working correctly. The initial port of Xenomai on
PXA was done without access to real hardware, but support for a new
floating point instruction set can not be done that way.
--
Gilles.
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help