No description
Find a file
Hesham Almatary fc1feb670e SELFOUR-446 Benchmark: Track syscall feature
Benchmark feature that currently:
- Keeps track of system calls info
- Start time
- Duration
- Capability type
- Invocation tag
- Log the number of invocations of each system call*
- Log the number of invocations for each capability type per syscall.
- Has 3 new syscalls (dump, reset, get size).
- This new feature uses the existing log buffer (which is 1MiB for x86
and ARM). Since the number of syscall invocations is not
deterministic, the logged number of invocations is limited by the size
of the buffer. I suggested to enable the users to pass their own
user-level buffer, to enable more flexibility, later.
- ENABLE_BENCHMARKS is now a parent config option of trace points and
system call track features, they can't be used at the same time.
2016-05-25 13:47:49 +10:00
haskell Move inline text block out of handleInterrupt and rephrase. 2016-03-21 11:05:20 +11:00
include SELFOUR-446 Benchmark: Track syscall feature 2016-05-25 13:47:49 +10:00
libsel4 SELFOUR-446 Benchmark: Track syscall feature 2016-05-25 13:47:49 +10:00
manual manual: Fix trivial typos. 2016-05-17 16:34:43 +10:00
src SELFOUR-446 Benchmark: Track syscall feature 2016-05-25 13:47:49 +10:00
tools Verification: adjust use of new bf proof features. 2016-03-21 18:14:40 +11:00
.gitignore add aarch32 version of generated invocation.h to .gitignore 2016-02-12 11:54:53 +11:00
CAVEATS-generic.txt update CAVEATS text to include security proofs 2014-11-05 14:21:35 +11: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 SELFOUR-446 Benchmark: Track syscall feature 2016-05-25 13:47:49 +10: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 Further separate 'release' and 'verification' builds 2016-05-17 10:51:55 +10:00
README.md update README links 2015-10-14 09:43:24 +11:00
VERSION update VERSION file to 3.0.1-dev 2016-04-06 10:21:23 +10: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
  • haskell: Haskell model of the seL4 kernel, kept in sync with the C version.
  • 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=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 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
    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.