One other note, this isn't done. It still needs to be integrated with muslc
(libc) and at a minimum seL4_Halt needs to be properly implemented. And I'm
sure there will be plenty of other changes needed but I hope we're closer.

On Thu, Jul 2, 2015 at 5:11 PM Wink Saville <[email protected]> wrote:

> Here <https://github.com/winksaville/sel4-min-sel4/tree/no-libc3> is try
> #3, I've pasted the commit message below as it tells the story, let me know
> what you think:
>
>     libsel4 with no libc dependency.
>
>     The primary changes are introducing sel4_types.h and removing std*
> types
>     plus porting assert and printf code from the kernel to libsel4. All of
>     this means the code within libsel4 does not overload any typical libc
>     entities. So now libsel4 uses types like seL4_Uint32 ... instead of
>     uint32_t. And printf is now seL4_Printf and assert is seL4_Assert ....
>
>     I'm also using sel4_ prefixes for various files as I felt it was more
>     consistent with the names of the entities within the files.
>
>     The only new library is libsel4_benchmark and since it consists of just
>     sel4_benchmark.h we might want to move that back into libsel4. I would
>     have liked to move out libsel4_assert, libsel4_printf and
> libsel4_putchar
>     but since asserts are used by low level generated code I couldn't come
> up
>     with a good way of doing that.
>
>     Finally, the only file modified that effects kernel code is
>     kernel/tools/bitfield_gen.py. It needed to be modified as it generates
>     files for both kernel and user space. And for user space the generated
> code
>     (types_gen.h) needed to use the new types and asserts. The changes
> should
>     not change what is generated for the kernel and I did a comparison of
>     kernel_final.{c|s} before and after my change and the only differences
>     were time stamps
>
> -- Wink
>
> On Mon, Jun 29, 2015 at 7:07 PM Wink Saville <[email protected]> wrote:
>
>> Will do.
>>
>> On Mon, Jun 29, 2015, 7:05 PM Anna Lyons <[email protected]> wrote:
>>
>>>
>>> Hi,
>>>
>>> >
>>> > Currently there is at least one known problem, I modified
>>> > bitfield_gen.py so types_gen.h has no asserts since at the moment the
>>> > kernel uses assert and userspace is libsel4_assert. We could either do
>>> > something like I've done and remove them or change the kernel to use
>>> > libsel4_assert or something else.
>>> >
>>>
>>> The asserts are really important to avoid horrible bugs when using
>>> functions created by the bitfield generator, so if we go ahead with this
>>> let's make sure they survive in some form.
>>>
>>> Cheers,
>>> Anna.
>>>
>>> ________________________________
>>>
>>> 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
>>>
>>
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to