Hi Xilong Pei,

I'm not sure if Siwei is subscribed to this mailing list, but I can answer your 
question.

The library libsel4muslcsys is the glue between your operating system and libc. 
The 'master' branch
of libsel4muslcsys is intended for seL4 root tasks (processes that are intended 
to run as the
initial userspace program in an seL4 system), while the 'camkes' branch is for 
CAmkES components.
The two environments are sufficiently different that this glue needs to vary.

For example, the libc call `abort` eventually calls `sel4_abort`, which differs 
on these branches.
For root tasks it halts the system if possible or otherwise enters an infinite 
loop [0]. However,
when CAmkES components call `abort` they should not halt the system because 
they do not know what
other components may still be running. The CAmkES implementation [1] uses the 
caller's thread
capability to suspend itself. This implementation is not appropriate for root 
tasks because their
thread capability is not available via the same mechanism as CAmkES components.

Similarly, a process that needs to operate in an environment that differs from 
that of the root task
or CAmkES components would likely require a third, different libsel4muslcsys 
implementation. Part of
the reason for these unexpected variations in libc support is that many 
mechanisms that are often
included in monolithic kernels are provided by userspace in a microkernel-based 
system.

Matt

[0]: https://github.com/seL4/libsel4muslcsys/blob/master/src/sys_exit.c#L17-L25
[1]: https://github.com/seL4/libsel4muslcsys/blob/camkes/src/sys_exit.c#L20-30

On 29/05/15 15:48, Pei.XiLong(裴喜龙) wrote:
Hi, Siwei Zhuang,
     Why do there are some differences between camkes branch and master
branch in lib seL4/libsel4muslcsys? The lib seL4/libsel4muslcsys is the
foundation of libmuslc, it shoud be a libc for any seL4 program, and there
should be no diference among any branches.
      https://github.com/seL4/libsel4muslcsys/commits/camkes


      Xilong Pei
      Tongji University
      2015/5/29



_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel


________________________________

The information in this e-mail may be confidential and subject to legal 
professional privilege and/or copyright. National ICT Australia Limited accepts 
no liability for any damage caused by this email or its attachments.

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to