No description
Find a file
Anna Lyons 8a4227b575 add seL4_BenchmarkFlushCaches() for arm and ia32
Available when CONFIG_ENABLE_BENCHMARKS is set, flushes caches for
running cold-cache benchmarks
2016-10-18 16:44:38 +11:00
doc-pak Merge branch 'arch-fault' of ssh://bitbucket:7999/~alyons/seL4 into new-rt 2016-07-20 15:55:27 +10:00
include add seL4_BenchmarkFlushCaches() for arm and ia32 2016-10-18 16:44:38 +11:00
libsel4 add seL4_BenchmarkFlushCaches() for arm and ia32 2016-10-18 16:44:38 +11:00
manual Merge branch 'master' of ssh://bitbucket:7999/~alyons/seL4 into rt 2016-10-10 15:23:26 +11:00
src add seL4_BenchmarkFlushCaches() for arm and ia32 2016-10-18 16:44:38 +11:00
tools Merge branch 'master' into rt 2016-06-24 10:11:18 +10:00
.gitignore add aarch32 version of generated invocation.h to .gitignore 2016-02-12 11:54:53 +11:00
CAVEATS-generic.txt README.md: Update README for verified platform 2016-06-27 09:41:45 +10:00
CAVEATS-ia32.txt Release snapshot 2014-07-18 05:03:59 +10:00
CONTRIBUTING.md update seL4.systems links 2015-10-14 09:46:01 +11:00
CONTRIBUTORS.md more CONTRIBUTORS 2015-10-14 10:01:39 +11:00
gdb-macros SELFOUR-317: rename async endpoint to notification object, and other 2015-11-09 17:18:43 +11:00
Kconfig Merge branch 'master' of ssh://bitbucket:7999/~alyons/seL4 into rt 2016-10-10 15:23:26 +11:00
LICENSE_BSD2.txt Release snapshot 2014-07-18 05:03:59 +10:00
LICENSE_GPLv2.txt adjust LICENSE file name to header reference. 2014-07-18 09:24:29 +02:00
Makefile Merge branch 'master' of ssh://bitbucket:7999/~alyons/seL4 into rt 2016-10-10 15:23:26 +11:00
README.md Merge branch 'master' into rt 2016-07-04 17:23:34 +10:00
VERSION update VERSION file to 3.2.0-dev 2016-07-13 17:31:47 +10:00

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

  • include and src: C and ASM source code of seL4
  • tools: build tools
  • libsel4: C bindings for the seL4 ABI
  • manual: LaTeX sources of the seL4 reference manual

Build Instructions

tl;dr:

TOOLPREFIX=arm-none-eabi- ARCH=arm PLAT=imx6 ARMV=armv7-a CPU=cortex-a9 \
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 TOOLPREFIX environment variable to your cross-compiler's prefix. E.g. arm-none-eabi-.

  • Set the ARCH, PLAT, ARMV and CPU variables 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
    arm imx6 armv7-a cortex-a9
    ia32 pc99
  • For a debug build, append DEBUG=y and to see serial output additionally append CONFIG_KERNEL_EXTRA_CPPFLAGS="-DCONFIG_PRINTING=y -DCONFIG_USER_STACK_TRACE_LENGTH=16".

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.