Supported platforms

Summary

seL4 is available on 3 major hardware architectures, ARM, RISC-V and x86, for a number of platforms with varying hardware features.

seL4 is formally verified for specific configurations for a subset of these platforms. The depth of the proofs and which properties are verified depend on the platform.

The tables below provide more details.

Platforms’ attributes

The tables below list the platforms for which seL4 is available. For each platform, the tables list:

  • whether specific features are supported (e.g. Virtualisation, IOMMU/SMMU, etc) and to which degree (where applicable);
  • the verification status (see more below);
  • who has contributed this platform port;
  • who is maintaining this platform port.

Verification status

The seL4 proofs only hold for specific configurations, as noted in the Verification Status column in the tables, as follows:

  • Unverified: this platform is not verified at all and is not scheduled for verification.
  • Ongoing: this feature is currently undergoing verification.
  • FC: the functional correctness proofs are complete.
  • Verified: all proofs for this platform are complete, including functional correctness, integrity and information flow.

More information can be found on the Verified Configurations page.

Not in the lists below?

If the platform, architecture, feature that you are after is not listed on this page, you have several options, listed below. It is important to note however that, as explained in the guidelines linked below, contributing new ports or features will require compelling arguments, discussion with the technical community (including through Request-For-Comments), as well as testing requirements and maintenance/expertise commitment, to a degree depending on the nature of the contribution.

  • You can contact one of the seL4 Foundation Endorsed Services Providers to get commercial support or professional advice to develop such a port or feature (with the implications and expectations detailed in our guidelines for contributing kernel code);

  • You can check the roadmap for any planned contributions, from the seL4 Foundation or larger community, such on any new architecture ports, new large formal verifications, or large or fundamental new features;

  • You can contact the seL4 community through one of our communication channels to ask whether someone is developing such a port or feature already, or whether there is general interest in discussing such a new port or feature;

  • If you are in a position to develop the seL4 port or feature yourself, you should follow our guidelines for contributing kernel code, which details the implications and expectations.

Simulating seL4

Running seL4 in a simulator is a quick way to test it out and iteratively develop software. Note that feature support is then limited by the simulator. See Running It for how to run seL4 using Qemu.

You can also run seL4 on VMware.

ARM

seL4 has support for select ARMv7 and ARMv8 Platforms.

Platform System-on-chip Core Arch Virtualisation SMMU Verification Status Contributed by Maintained by
Avnet MaaXBoard i.MX8MQ Cortex-A53 Quad 1.5 GHz ARMv8A No No Unverified Capgemini Engineering Capgemini Engineering
BeagleBoard OMAP3 Cortex-A8 ARMv7A No No Unverified Data61 seL4 Foundation
BeagleBone Black / Blue AM335x Cortex-A8 ARMv7A No No Unverified Community seL4 Foundation
HiKey Kirin 620 Cortex-A53 ARMv8A ARM HYP No Unverified Data61 seL4 Foundation
Imx8mm IMX8MM-EVK Cortex-A53 Quad 1.8 GHz ARMv8A, AArch64 No No FC Data61 seL4 Foundation
Odroid-C2 Amlogic S905 Cortex-A53 ARMv8A, AArch64 only No No Unverified Data61 seL4 Foundation
Odroid-C4 Amlogic S905X3 Cortex-A55 ARMv8A, AArch64 only Yes No Unverified Data61 seL4 Foundation
OdroidX Exynos4412 Cortex-A9 ARMv7A No No Unverified Data61 seL4 Foundation
OdroidXU Exynos5 Cortex-A15 ARMv7A ARM HYP limited SMMU Unverified Data61 seL4 Foundation
OdroidXU4 Exynos5 Cortex-A15 ARMv7A ARM HYP limited SMMU FC with HYP, no SMMU Data61 seL4 Foundation
Raspberry Pi 3-b BCM2837 Cortex-A53 ARMv8A ARM HYP No Unverified Data61 seL4 Foundation
Raspberry Pi 4B BCM2711 Cortex-A72 ARMv8A ARM HYP No Unverified Hensoldt and ARM Research IceCap Hensoldt
Rockpro64 RK3399 hexa-core Cortex-A53 Quad 1.8 GHz ARMv8A, AArch64 No No Unverified Data61 seL4 Foundation
Sabre Lite i.MX6 Cortex-A9 ARMv7A No No Verified Data61 seL4 Foundation
TK1 NVIDIA Tegra K1 Cortex-A15 ARMv7A ARM HYP SMMU Unverified Data61 seL4 Foundation
TK1-SOM NVIDIA Tegra K1 Cortex-A15 ARMv7A ARM HYP SMMU FC with HYP, no SMMU Data61 seL4 Foundation
TX1 NVIDIA Tegra X1 Cortex-A57 Quad ARMv8A, AArch64 only ARM HYP SMMU Unverified Data61 seL4 Foundation
TX2 NVIDIA Tegra X2 Cortex-A57 Quad, Dual NVIDIA Denver ARMv8A, AArch64 only Yes Yes FC complete, Integrity ongoing Data61 seL4 Foundation
Ultra96v2 Evaluation Kit Zynq UltraScale+ MPSoC Cortex-A53 ARMv8A ARM HYP SMMU Unverified DornerWorks DornerWorks
Zynq ZCU102 and ZCU106 Evaluation Kits Zynq UltraScale+ MPSoC Cortex-A53 ARMv8A ARM HYP SMMU Unverified DornerWorks DornerWorks
Zynq-7000 ZC706 Evaluation Kit Zynq7000 Cortex-A9 ARMv7A No No Unverified Data61 seL4 Foundation
imx8mq MCIMX8M-EVKB Cortex-A53 Quad 1.5 GHz ARMv8A No No Unverified Data61 seL4 Foundation

RISC-V

We currently provide support for some of the RISC-V platforms. Support for the hypervisor extension is yet to be mainlined.

Platform Simulation System-on-chip Core Arch Virtualisation Verification Status Contributed by Maintained by
Ariane No   Ariane RV64IMAC No Unverified Data61 Hensoldt Cyber
HiFive Unleashed No Freedom U540 U54-MC, E51 RV64IMAC, RV64GC No Verified Data61 seL4 Foundation
Microchip PolarFire Icicle Kit No PolarFire SoC FPGA U54-MC, E51 RV64IMAC, RV64GC No Unverified DornerWorks DornerWorks
Rocketchip No   Rocket RV64IMAFDC Yes Unverified DornerWorks DornerWorks
Rocketchip No   Rocket RV64IMAFDC No Unverified Data61 seL4 Foundation
Spike Yes     RV32GC, RV64IMAFDC No Unverified Data61, Hesham Almatary seL4 Foundation

x86

We support PC99-style Intel Architecture Platforms.

Platform Arch Virtualisation IOMMU Verification Status Contributed by Maintained by
PC99 (32-bit) x86 VT-X VT-D Unverified Data61 seL4 Foundation
PC99 (64-bit) x64 VT-X VT-D FC (without VT-X, VT-D and fastpath) Data61 seL4 Foundation

Unmaintained platforms

Unmaintained platforms are platforms for which code has been contributed, but this code is not or no longer tested and is unlikely to work. We list these here, because bringing an unmaintained platform up may be faster and easier than starting from scratch on a new platform port.

ARM

Platform System-on-chip Core Arch Virtualisation SMMU Verification Status Contributed by
Arndale (unmaintained) Exynos5 Cortex-A15 ARMv7A ARM HYP No Unverified Data61
Inforce IFC6410 (unmaintained) Snapdragon S4 Pro APQ8064 Krait (Cortex-A15 like) ARMv7A No No Unverified Data61