No description
Find a file
Adrian Danis 4fe72d09f5 x86: Mechanism for catching GP faults and returning to an error handler
Provides a mechanism where if af GP fault is potentially expected it can be caught
and the calling code returned to. The GP happening can be detected by setting
a specific return to handler and additionally by the return to handler being
cleared if a GP happened.
2017-02-06 09:02:19 +11:00
include x86: Mechanism for catching GP faults and returning to an error handler 2017-02-06 09:02:19 +11:00
libsel4 Merge pull request #644 in SEL4/sel4 from ~ADANIS/sel4:github55 to master 2017-02-03 11:36:03 +11:00
manual manual: make initial caps list reflect current code 2016-12-14 15:13:05 +11:00
src x86: Mechanism for catching GP faults and returning to an error handler 2017-02-06 09:02:19 +11:00
tools tools: Correct case where label numbers will be 0 2017-01-04 10:40:25 +11:00
.gitignore manual: Added staging dirs to gitignore 2016-11-29 14:31:00 +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 arm: SELFOUR-779: Remove ARM_MPCORE config 2017-01-23 09:45:34 +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 Change flags to make kernel compatible with ld version 2.27 2017-01-04 17:18:11 +11:00
README.md README.md: Update README for serial output 2016-06-27 09:41:45 +10:00
VERSION update VERSION file to 4.0.0-dev 2016-12-14 10:14:59 +11:00

The seL4 Repository

This repository contains the source code of seL4 microkernel.

For details about the seL4 microkernel, including details about its formal correctness proof, please see the sel4.systems website and associated FAQ.

DOIs for citing recent releases of this repository:

  • DOI

We welcome contributions to seL4. Please see the website for information on how to contribute.

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.