one question about l4_thread_ex_regs flags

Guanghui, Cheng cheng.guanghui.ml at gmail.com
Wed Aug 26 13:57:55 CEST 2009


On Wednesday 26 August 2009 06:51:42 pm Björn Döbel wrote:
> 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.
	Thanks a lot to Bjoern. It is a really perfect explaination about these 2 
flags. I could understand.
								Cheng Guanghui






More information about the l4-hackers mailing list