I'm facing a problem with the PowerPC version of Xenomai/Adeos that I
to identify the exact source.
I'm running a Xenomai RT kernel thread that use to crash sometimes due
to potential register corruption.
Problem occurs after a context switch and, in some cases, if the task
gets interrupted and reschedule,
its registers values are not the same as they used to be before context
The code is a bit complex and so, makes use of register that is
generally rarely used (GPR r26 to be accurate).
Driver is compiled with -02 and compiling with -O0 (so disabling
optimizations and so, not using r26) works fine
but is not what I'm looking for.
Can someone tell me where exactly in Adeos/Xenomai is context switching
actually performed and where are the registers save/restore functions ?
I've seen there is specific code for FPU registers handling but can't
find the equivalent for GPR.
FYI, I'm running on PowerPC 603e core with Linux 2.6.23, Adeos 2.0-09
(latest) and Xenomai 2.3.4 (latest).
I've seen there are adeos updates (but for updated kernels) but is there
some ChangeLog of Adeos changes ?
Maybe this is a known bug that has been fixed in updated Adeos release ?
Thx to anyone who can help me on this,
Xenomai-core mailing list