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