No description
Find a file
Bill Nguyen 0d2c70c7f0 x86/vcpu: Do not force 64-bit VCPU mode
Previously, X86_64_VTX_64BIT_GUESTS forced the VCPU into 64-bit mode by
hardcoding the IA-32e bit in VM-Entry Controls. This prevented userspace
from starting a VCPU in real mode, which break cases where you want the
guest to be able to manage its own mode transitions. Such as booting
an UEFI firmware.

This change allows the guest to manage its own mode transitions
(real -> protected -> long mode). The X86_64_VTX_64BIT_GUESTS config is
now scoped strictly to enabling 64-bit features like MSR access.

Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
2026-03-24 14:08:55 +11:00
.github/workflows github: update Isabelle branch for MCS proofs 2026-02-18 13:52:09 +11:00
.reuse dep5 file for additional license information 2020-03-09 18:00:18 +08:00
configs CMake style all changed files 2026-03-12 11:28:26 +11:00
include x86/vcpu: Allow CR0.PE and CR0.PG to be cleared 2026-03-24 14:08:55 +11:00
libsel4 libsel4: make thread-local ipc buffer optional 2026-02-25 11:46:23 +00:00
LICENSES manual: apply foundation branding 2021-06-17 20:19:51 +10:00
manual manual: add seL4_X86_EPT_VMAttributes 2026-01-09 16:52:09 +11:00
src x86/vcpu: Do not force 64-bit VCPU mode 2026-03-24 14:08:55 +11:00
tools CMake style all changed files 2026-03-12 11:28:26 +11:00
.cmake-format.yaml style: fix cmake formatting spec 2024-03-11 19:26:48 +00:00
.gitignore parse_doxygen_xml: minor typos and python lints 2025-07-15 08:20:45 +10:00
CAVEATS.md CAVEATS: verification update; remove clang problem 2025-11-24 10:28:33 +11:00
CHANGES.md Release 14.0.0 2025-11-25 09:33:58 +11:00
CMakeLists.txt cmake: remove default flags added to the compiler 2026-03-12 12:30:37 +11:00
CODE_OF_CONDUCT.md add link to code of conduct 2020-04-01 17:23:36 +08:00
config.cmake CMake style all changed files 2026-03-12 11:28:26 +11:00
CONTRIBUTING.md Update links after seL4 website re-org 2025-04-29 17:17:49 +10:00
CONTRIBUTORS.md CONTRIBUTORS: add contributors since 12.1.0 2024-06-25 10:40:10 +10:00
FindseL4.cmake CMake style all changed files 2026-03-12 11:28:26 +11:00
gcc.cmake Detect 'aarch64-elf-' toolchain 2025-05-26 06:01:48 +02:00
gdb-macros Update GDB macros 2022-05-18 13:40:55 +10:00
LICENSE.md Update links after seL4 website re-org 2025-04-29 17:17:49 +10:00
llvm.cmake Bump minimum CMake version 2025-02-26 17:11:57 +11:00
README.md README: update links for new docsite structure 2025-07-23 10:18:04 +10:00
SECURITY.md meta: add vulnerability disclosure policy (#424) 2021-06-30 15:28:52 +10:00
VERSION Update VERSION file to 14.0.0-dev 2025-11-25 09:35:53 +11:00

The seL4 microkernel

CII Best Practices CI seL4Test C Parser Compile Proof Sync RefMan XML

This project 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.

seL4 Basics

Community

See also the contact links on the seL4 website.

Reporting security vulnerabilities

If you believe you have found a security vulnerability in seL4 or related software, we ask you to follow our vulnerability disclosure policy.

Manual

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

A web version of the API documentation is available as well.

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.

Status

License

See the file LICENSE.md.