Hello All, This is my first mail on Xenomai, earIier I posted my messages on ADEOS forum regarding IPIPE-1.0.5 porting on MIPS. Recently I started porting Xenomai for the same architecture and could do some work related to 1. Xenomai Intialization of ROOT task 2. Timer and Interrupt related code. 3. XENO_SYSCALLS. 4. Trap Handlers The Code changes are done considering MIPS 4KeC
Now I could define Architecture related Task control block(TCB) user task, active task, stack elements with inthe xnarchtcb_t. Currently I am facing problem in creating and starting the task. After understanding code flow, i could see that Correct me if I am wrong!!! 1. When user calls "rt_task_create", the task state is defined as, XNDORMANT, XNRELAX, XNSHADOW. 2. When user calls "rt_task_start", since the RTTASK being XNSHADOW, xnpod_start_thread calls xnshadow_start and inturn resume which will remove the task from the DORMANT state, however the XNRELAX state remains. This makes sched->Ready queue being emptty. Later when xnpod_schedule is called, since thread is not in the Ready queue and still remains in the RELAX mode, xnpod_schedule exits from the context of "goto signal_unlock_and_exit;" .Therefore this makes that my body of the new task not being executed. Also I don't even see my "xnarch_init_thread" being called to intialize startup functions for the new task. May I know when exactly this function is called for the first newly created task. I don't know where I am going wrong, few hints about xnpod_schedule on First task creation will help me in verifying and debugging of my context swicth code written fro this Architecture. Regards Andrew( Subbu)
_______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core