Core platform libraries for Mirage (UNIX and Xen). This provides the `OS` library which handles timers, device setup and the main loop, as well as the runtime for the Xen unikernel.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Status update, March 2018

mirage-platform is currently undergoing major refactoring. Please read this issue for detailed information.

The goal is to reuse the ocaml-freestanding work for the xen backend as well:

  • unix moved to mirage-unix (release pending) and switched to topkg and ocamlbuild
  • xen and bindings subdirectories moved to mirage-xen (release pending), also switched to topkg and ocamlbuild
  • the remaining xen-ocaml and xen-posix subdirectories will be deprecated once the move to ocaml-freestanding is complete


Mirage OS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms. Code can be developed on a normal OS such as Linux or MacOS X, and then compiled into a fully-standalone, specialised unikernel that runs under the Xen hypervisor.

Since Xen powers most public cloud computing infrastructure such as Amazon EC2 or Rackspace, this lets your servers run more cheaply, securely and with finer control than with a full software stack.

Mirage uses the OCaml language, with libraries that provide networking, storage and concurrency support that work under Unix during development, but become operating system drivers when being compiled for production deployment. The framework is fully event-driven, with no support for preemptive threading.

This repository contains an OCaml runtime used on Xen - the opam packages mirage-xen-posix and mirage-xen-ocaml.

For documentation, visit

Repository Contents

  • xen-posix/ contains the header files to pretend a posix system (required to compile the OCaml runtime), plus minilibc and float formating -- this is the home for the mirage-xen-posix OPAM package. Installation goes into .opam/x/lib/mirage-xen-posix and .opam/x/include/mirage-xen-posix

  • xen-ocaml/ contains only the OCaml runtime (patches and build system), installation into .opam/x/lib/mirage-xen-ocaml and .opam/x/include/mirage-xen-ocaml