Attempt to port Google's Fuchsia OS kernel to the Pixel 3 XL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bootloader [bootloader] Retry fixed allocation at 100000h w/ smaller size Dec 13, 2018
docs [kernel][docs] Add documentation for running diagnostics Jan 16, 2019
kernel [crosshatch] don't start secondary processors Jan 18, 2019
make [build] Enable support for XRay Jan 8, 2019
public [docs] Document how to choose a value for MODULE_PACKAGE. Apr 18, 2018
system [crosshatch] set framebuffer address in display Jan 18, 2019
third_party [jemalloc] Decommit freed and purged regions Jan 14, 2019
.clang-format [build] enforce specific version of clang format Jun 16, 2016
.clang-tidy [scripts] Creating clang-tidy script for Zircon Feb 16, 2018
.dir-locals.el [magenta] Initial commit Jun 15, 2016
.gitignore [git] Add public/banjo to gitignore Nov 12, 2018
.travis.yml [build] Simplify target ("project") names Dec 1, 2017
AUTHORS Initial commit Oct 23, 2017
LICENSE [zx] Magenta -> Zircon Sep 12, 2017
MAINTAINERS [maintainers] Add first iteration of MAINTAINERS files Apr 10, 2018
PATENTS Add PATENTS file Oct 23, 2017
makefile [docs] start on some device model docs Nov 9, 2017


Zircon is the core platform that powers the Fuchsia OS. Zircon is composed of a microkernel (source in kernel/...) as well as a small set of userspace services, drivers, and libraries (source in system/...) necessary for the system to boot, talk to hardware, load userspace processes and run them, etc. Fuchsia builds a much larger OS on top of this foundation.

The canonical Zircon Git repository is located at:

A read-only mirror of the code is present at:

The Zircon Kernel provides syscalls to manage processes, threads, virtual memory, inter-process communication, waiting on object state changes, and locking (via futexes).

Currently there are some temporary syscalls that have been used for early bringup work, which will be going away in the future as the long term syscall API/ABI surface is finalized. The expectation is that there will be about 100 syscalls.

Zircon syscalls are generally non-blocking. The wait_one, wait_many port_wait and thread sleep being the notable exceptions.

This page is a non-comprehensive index of the zircon documentation.