No description
Find a file
Anna Lyons d09914aaa2 kernel: attempt direct switch on set prio
Prior to this commit the kernel would always trigger a full reschedule
on setPriority. This change allows the kernel to attempt a direct
switch, avoiding invoking the scheduler.

- Move location of setPriority call to after any cap deletion
  This makes the proof easier as setPriority now changes
  ksSchedulerAction, which is required to be ResumeCurrentThread or
  ChooseNewThread by the cap delete functions.
- Update to attempt direct switch on set prio.
2019-10-01 15:46:52 +10:00
configs seL4Config.cmake: Add FORCE to KernelSel4Arch 2019-09-19 17:28:34 +10:00
include x86: avoid -Waddress-of-packed-member 2019-09-26 15:34:26 +10:00
libsel4 aarch64: Move tpidrro_el0 from vcpu to tcb context 2019-09-19 11:39:14 +10:00
manual mcs: timeout exceptions 2019-08-22 11:22:38 +10:00
src kernel: attempt direct switch on set prio 2019-10-01 15:46:52 +10:00
tools cmake: Add SEL4_CONFIG_DEFAULT_ADVANCED variable 2019-09-13 18:42:42 +10:00
.cmake-format.yaml mcs: provide tickless api for arm timers 2019-08-22 11:22:34 +10:00
.gitignore git: Remove invocation.h files from .gitignore 2018-05-21 10:38:36 +10:00
.licenseignore RISCV: Remove hartid and DTB parsing from the boot code. 2019-03-19 13:39:36 +11:00
CAVEATS-generic.txt Fix typo: preemptible, not preemptable. 2018-04-25 13:46:01 +07:00
CAVEATS-ia32.txt Release snapshot 2014-07-18 05:03:59 +10:00
CHANGES aarch64: Move tpidrro_el0 from vcpu to tcb context 2019-09-19 11:39:14 +10:00
CMakeLists.txt mcs: scheduling context donation over ipc 2019-08-22 11:22:37 +10:00
config.cmake CMake: Mark config options as advanced 2019-09-19 11:23:04 +10:00
CONTRIBUTING.md CONTRIBUTING: use new docsite url 2018-04-20 10:24:48 +10:00
CONTRIBUTORS.md more CONTRIBUTORS 2015-10-14 10:01:39 +11:00
FindseL4.cmake CMake: Add FindseL4.cmake module 2019-09-13 18:42:42 +10:00
gcc.cmake gcc.cmake: Configure ccache in toolchain file 2019-09-19 11:23:01 +10:00
gdb-macros SELFOUR-317: rename async endpoint to notification object, and other 2015-11-09 17:18:43 +11:00
LICENSE_BSD2.txt Fix licenses (the rest) 2017-06-22 15:29:12 +10:00
LICENSE_GPLv2.txt adjust LICENSE file name to header reference. 2014-07-18 09:24:29 +02:00
llvm.cmake Add initial LLVM toolchain support 2019-03-18 14:11:07 +11:00
README.md README: fix build instructions link 2018-04-12 16:25:52 +10:00
VERSION Update VERSION file to 10.1.1-dev 2018-11-12 05:17:02 +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.

Manual

A hosted version of the manual for the most recent release can be found here.

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

See the seL4 website for 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.