-
- Downloads
Streamline libsel4 and remove its libc dependencies.
There are now separate libs for benchmark, assert, printf, putchar start/stop: libs/libsel4benchmark libs/libsel4assert libs/libsel4printf libs/libsel4putchar libs/libsel4startstop The primary changes are introducing sel4/sel4.h and removing std* types plus porting assert and IO code from the kernel to libsel4assert, libsel4printf, libsel4putchar. This means the code within libsel4 and the newlibs do not overload any typical libc entities. Instead the libraries use types like seL4_Uint32 ... instead of uint32_t. And printf is now seL4_Printf and assert is seL4_Assert .... 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. Bug: #15 Streamline kernel/libsel4 and remove its libc dependencies
Showing
- libsel4/Kbuild 1 addition, 1 deletionlibsel4/Kbuild
- libsel4/Kconfig 0 additions, 1 deletionlibsel4/Kconfig
- libsel4/arch_include/arm/interfaces/sel4arch.xml 1 addition, 1 deletionlibsel4/arch_include/arm/interfaces/sel4arch.xml
- libsel4/arch_include/arm/sel4/arch/objecttype.h 1 addition, 1 deletionlibsel4/arch_include/arm/sel4/arch/objecttype.h
- libsel4/arch_include/arm/sel4/arch/simple_types.h 25 additions, 0 deletionslibsel4/arch_include/arm/sel4/arch/simple_types.h
- libsel4/arch_include/arm/sel4/arch/syscalls.h 39 additions, 38 deletionslibsel4/arch_include/arm/sel4/arch/syscalls.h
- libsel4/arch_include/arm/sel4/arch/types.h 2 additions, 3 deletionslibsel4/arch_include/arm/sel4/arch/types.h
- libsel4/arch_include/x86/interfaces/sel4arch.xml 13 additions, 13 deletionslibsel4/arch_include/x86/interfaces/sel4arch.xml
- libsel4/arch_include/x86/sel4/arch/functions.h 3 additions, 4 deletionslibsel4/arch_include/x86/sel4/arch/functions.h
- libsel4/arch_include/x86/sel4/arch/objecttype.h 2 additions, 1 deletionlibsel4/arch_include/x86/sel4/arch/objecttype.h
- libsel4/arch_include/x86/sel4/arch/pfIPC.h 4 additions, 4 deletionslibsel4/arch_include/x86/sel4/arch/pfIPC.h
- libsel4/arch_include/x86/sel4/arch/simple_types.h 26 additions, 0 deletionslibsel4/arch_include/x86/sel4/arch/simple_types.h
- libsel4/arch_include/x86/sel4/arch/syscalls.h 23 additions, 22 deletionslibsel4/arch_include/x86/sel4/arch/syscalls.h
- libsel4/arch_include/x86/sel4/arch/types.h 2 additions, 2 deletionslibsel4/arch_include/x86/sel4/arch/types.h
- libsel4/include/interfaces/sel4.xml 30 additions, 30 deletionslibsel4/include/interfaces/sel4.xml
- libsel4/include/sel4/assert.h 52 additions, 0 deletionslibsel4/include/sel4/assert.h
- libsel4/include/sel4/benchmark.h 0 additions, 48 deletionslibsel4/include/sel4/benchmark.h
- libsel4/include/sel4/bootinfo.h 4 additions, 6 deletionslibsel4/include/sel4/bootinfo.h
- libsel4/include/sel4/debug_assert.h 36 additions, 0 deletionslibsel4/include/sel4/debug_assert.h
- libsel4/include/sel4/objecttype.h 1 addition, 1 deletionlibsel4/include/sel4/objecttype.h
Loading
Please register or sign in to comment