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

Reply via email to