-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
But what is the difference between L4_THREAD_EX_REGS_ALIEN and L4_THREAD_EX_REGS_RAISE_EXCEPTION|L4_THREAD_EX_REGS_ALIEN?
L4_THREAD_EX_REGS_ALIEN := raise an exception whenever the task executes an L4 system call. This can be used to selectively allow/deny system calls. --> In L4Linux you want this to always maintain control over Linux applications by prohibiting them to do L4 system calls. There are special cases (hybrid apps) where you want to allow this, but still you need the alien state so that the L4Linux kernel always gets notified about applications doing calls into the L4 world.
L4_THREAD_EX_REGS_RAISE_EXCEPTION := make the thread raise an exception immediately after modifying its state and before continuing execution at the IP you set during l4_thread_ex_regs(). --> This is used as a synchronisation mechanism in L4Linux. You create a new L4 task for the new Linux task and make it raise an exception as the first thing to do. Then you can modify its state by replying to this exception.
Hth, Bjoern