Hello!
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_exchttp://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.
If this IPC call is not allowed, the alien thread executes from where it raise the exception.
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_exchttp://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
l4-hackers@os.inf.tu-dresden.de