No description
Find a file
Alison Felizzi f795e7c0ec arm: New virtual PPI event fault type
This commit introduces a new fault type, seL4_Fault_VPPIEvent.

This change means the kernel can reserve PPI interrupts and virtualise
them via delivering the irq to the active vcpu through a
specific fault. This enables multiplexing PPI IRQs across multiple VCPUS
which requires correctly masking and unmasking the IRQ depending on
which VCPU is running.

A new VCPU invocation, seL4_ARM_VCPU_AckVPPI is also added for
acknowledging the handling of the IRQ. This takes an IRQ as a parameter
but will only accept IRQ numbers that are sent as VPPIEvent faults.

Co-authored-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>
Co-authored-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>
2020-02-20 11:40:59 +11:00
configs cmake: add helper functions 2019-11-16 16:31:00 +01:00
include arm: New virtual PPI event fault type 2020-02-20 11:40:59 +11:00
libsel4 arm: New virtual PPI event fault type 2020-02-20 11:40:59 +11:00
manual riscv32 does not support huge pages 2020-02-10 15:01:43 +11:00
src arm: New virtual PPI event fault type 2020-02-20 11:40:59 +11:00
tools Add the suffix to the bitfield generation 2020-02-12 16:08:35 +11: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
CHANGES arm: New virtual PPI event fault type 2020-02-20 11:40:59 +11:00
CMakeLists.txt Specify 32 bit to the clang assembler 2020-02-12 16:08:35 +11:00
config.cmake Create device untypeds at boot for all arches 2019-11-12 16:20:07 +11:00
CONTRIBUTING.md CONTRIBUTING: use new docsite url 2018-04-20 10:24:48 +10:00
CONTRIBUTORS.md
FindseL4.cmake CMake: Add FindseL4.cmake module 2019-09-13 18:42:42 +10:00
gcc.cmake Remove unnecessary variables in toolchain files 2020-02-12 16:08:35 +11: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
llvm.cmake Error if clang is used with riscv 2020-02-12 16:08:35 +11:00
README.md README: fix build instructions link 2018-04-12 16:25:52 +10:00
VERSION Update VERSION file to 11.0.0-dev 2019-11-20 18:17:11 +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.