I'm facing a problem with the PowerPC version of Xenomai/Adeos that I 
have difficulties
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

Reply via email to