Welcome to the landing page for Morello Platform Open Source Software

test image alt

Morello is a research program led by Arm in association with partners and funded by the UKRI as part of the UK government Digital Security by Design (DSbD) programme . It defines a new prototype security architecture based on CHERI (Capability Hardware Enhanced RISC Instructions).

second test image alt

A System on Chip (SoC) implementation of the architecture will provide a DSbD technology platform prototype, enabling industry and academic partners to test real-world use cases and inform future development.

icon

Please refer to the top level Documentation repository to get started.

icon

Arm’s Developer pages provide curated resources for the Morello Program. Including Architecture specifications, platform model, technical reference manual, Morello forum and more.

Development Platforms

Morello Platform Model

The Morello Platform Model is an open access FVP (Fixed Virtual Platform) implementation of the development platform, aligned with the future development board. Available to download from Arm’s Ecosystem FVP Developer page.

FVPs use Arm technology to create a virtual model of the system hardware that can be run as an executable in a development environment. They use binary translation technology to deliver functional simulations of Arm-based systems, including processor, memory, and peripherals. They implement a programmer’s view suitable for software development and enable execution of full software stacks, providing a widely available platform ahead of silicon.

Morello Hardware Development Platform

The Morello hardware development platform will become available early in Q1 2022 and will be supported by the same software stack. Note: Availability of hardware will be limited - platforms will be restricted to partners involved in defined research activities.

CHERI LLVM Compiler with Morello Support

Morello is supported by LLVM-based open-source toolchains based on the CHERI Clang/LLVM toolchain from the University of Cambridge. Please note, these are experimental toolchains and as such features may be missing.

Android CHERI LLVM/Clang toolchain

Includes a C/C++ compiler (clang), linker (lld), debugger (lldb), various utilities (such as assembler & disassembler) and run-time libraries.

Bare-metal toolchain for architecture exploration projects

Includes a C/C++ compiler (clang), linker (lld), a standard C library (newlib), a standard C++ library (libc++, libc++abi) and various utilities (such as assembler & disassembler).

Arm Development Studio Morello Edition is also available as a development environment for the bare-metal configuration.

AArch64 Linux CHERI LLVM/Clang toolchain

This toolchain is an experimental AArch64 hosted variant, primarily intended to be used together with Arm’s Morello Instruction Emulator. It includes a C/C++ compiler (clang), linker (lld), various utilities and run-time libraries, but does not include a C library. See this knowledge base article for more details.

Firmware

The Development Platform is supported by Morello aware ports of standard open source firmware components: SCP firmware, Trusted Firmware TF-A, UEFI EDK2

Morello Linux Kernel

Modified ACK (Android common Kernel).

Nano Android

An integrated Android stack supporting a reduced nano profile is hosted in the Morello code repositories.

This includes initial modifications to a standard (arm64-v8a) AOSP to support capabilities. Including a modified Bionic library and some pure-capability application ports.

CheriBSD

The University of Cambridge Computing Laboratory implementation of CheriBSD has also been ported to the Morello Platform. This provides a BSD implementation of a memory-safe kernel and userspace, as well as examples ports of application frameworks, demonstrating a more complete integration of CHERI (and Morello) support into an OS design. CheriBSD is maintained and hosted by the University of Cambridge.