| haskell | ||
| include | ||
| libsel4 | ||
| manual | ||
| src | ||
| tools | ||
| .gitignore | ||
| CAVEATS-generic.txt | ||
| CAVEATS-ia32.txt | ||
| CONTRIBUTING.md | ||
| CONTRIBUTORS.md | ||
| gdb-macros | ||
| Kconfig | ||
| LICENSE_BSD2.txt | ||
| LICENSE_GPLv2.txt | ||
| Makefile | ||
| README.md | ||
| VERSION | ||
The seL4 Repository (with realtime extensions)
This repository contains the source code of seL4 microkernel, with currently in development real-time extensions.
There are no verification guarantees on this branch, although it is scheduled to be verifified in the future.
Currently the only platforms supported on this branch are x86 (processors with TSC-deadline mode), imx6 and odroid-xu. Other platforms do not compile.
This repository is usually not used in isolation, but as part of the build system in a larger project.
Repository Overview
includeandsrc: C and ASM source code of seL4tools: build toolshaskell: Haskell model of the seL4 kernel, kept in sync with the C version.libsel4: C bindings for the seL4 ABImanual: LaTeX sources of the seL4 reference manual
Build Instructions
tl;dr:
TOOLPREFIX=arm-none-eabi- ARCH=arm PLAT=imx31 ARMV=armv6 CPU=arm1136jf-s \
make
The kernel source requires a cross-compiler for the target architecture. To
build using make, follow these instructions:
-
Ensure that the appropriate cross-compiler for your target architecture is installed.
-
Set the
TOOLPREFIXenvironment variable to your cross-compiler's prefix. E.g.arm-none-eabi-. -
Set the
ARCH,PLAT,ARMVandCPUvariables for the intended target architecture and platform, chosen from the following lists:ARCH PLAT ARMV CPU arm imx31 armv6 arm1136jf-s arm omap3 armv7-a cortex-a8 arm am335x armv7-a cortex-a8 ia32 pc99 -
For a debug build, append
DEBUG=y.
See the seL4 website for more comprehensive build instructions.
License
The files in this repository are released under standard open source licenses.
Please see the individual file headers and LICENSE_GPLv2.txt and
LICENSE_BSD2.txt files for details.