On 10/24/07, ROSSIER Daniel <[EMAIL PROTECTED]> wrote:
>
> Hi all,
>
> I've found a bug in arch/arm/xenomai/switch.S which solved the problem below.
> It actually comes from the iWMMXT (Intel Wireless MMX) coprocessor which is
> an extension of the ARM core in Xscale processor (and of course which is not
> available in the AT91 series ;-).
>
> When a thread switch occurs, rthal_thread_switch(in
> arch/arm/xenomai/switch.S) is called to perform switching of registers and
> stacks between threads. The PXA version must also perform a switch of MMX
> registers by invoking iwmmxt_task_switch(in arch/arm/kernel/iwmmxt.S). This
> is done in rthal_task_switch() as well.
>
> However, between Linux 2.6.15 and Linux 2.6.20, the general scheme of
> low-level task switching procedure changed a little bit: it is now relying on
> a call chain notifier-based mechanism. Therefore, the iwmmxt_task_switch()
> function has been updated since the function is called now from the notifier,
> and not directly from __switch_to() as in 2.6.15. And the ipipe (ARM) patch
> did not take into account that.. and it fails.
Shame to me, I somehow managed to miss this issue completely.
--
Gilles Chanteperdrix
_______________________________________________
Xenomai-core mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-core