Hi,
On Sun Jan 12, 2014 at 04:57:07 +0800, Wei Jin wrote:
> I'm tring to understand how the alien thread works. I'm not confident in
> what I have got.
>> Please correct me:
>> When an alien thread invokes an IPC call, it raises an exception, which
> would be caught by the
> excenption handler as configured.
>> The exception handler could get the status of the alien thread by reading
> exception regs in UTCB
> ( l4_utcb_exc<http://os.inf.tu-dresden.de/L4Re/doc/group__l4__utcb__exc__api.html#ga3d957c3c28e526804e2c1a2e183df88f>
> () ).
>> The exception handler could also set this IPC call allowed or not.
>> If this IPC call is allowed, the alien thread acts like a non-alien thread
> the performs the IPC call.
> // This is what I doubt since the alien example does not provide a valid
> IPC call.
So far ok. The example does an l4_sleep() call, so it is an IPC.
> If this IPC call is not allowed, the alien thread executes from where it
> raise the exception.
The exception handler has to reply and sends a, possible modified,
exception state back and the thread continues with those values loaded.
Adam
--
Adam adam at os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/