How do initialize the IP or SP for thread or determine it location? In the "ThreadControl" system call (which used to create threads) it requires a IP and a SP, so where you get these values from? Are they implicitly determined by the kernel? I've briefly read pingpong source file but the calls made in the source do not seem to provide these values. And also how do I load program in order to execute it? I know this probably sounds like an easy question but I just started experimenting with l4 and I just getting to know things.