Can someone tell me how to create a thread (in the same address space as the creating thread)? This very confusing to me, I need help.
Hello Jason, please have a look into the L4 Version X.2 Reference Manual Section 2.4 available here http://os.ibds.kit.edu/l4ka/l4-x2-r7.pdf - no code there though. You may consider asking further questions on the l4ka mailing https://lists.ira.uni-karlsruhe.de/pipermail/l4ka/. Chances are high that you meet the Pistachio hackers there.
From my last look into the Pistachio sources I remember a tiny test program user/apps/l4test that (among other tests) creates threads.
Greets -- Christian Helmuth Genode Labs http://www.genode-labs.com/ · http://genode.org/ Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Have a look at the L4 user manuals on http://l4hq.org/docs/manuals/ They contain plenty of sample code and explanation, although not for the latest versions. Examples for OKL4 v 2.1 can be found on my Advanced Operating Systems lecture slides, "week 2", se http://www.cse.unsw.edu.au/~cs9242/10/lectures/ Gernot
I looked at "l4test" thread creation concept but i not understand it. I do not know how to determine the utcb location, if i can know where is the first utcb in a address space I can determine it, but I cannot find any way to figure out where the first utcb is. Also, after calling "L4_ThreadControl()" do I simply call set the MRs and call "L4_Ipc()"?
what I am trying to do is create new thread from the initial thread (main function).
participants (3)
-
Christian Helmuth -
Gernot Heiser -
Jason Philip