Zephyr on WebAssembly

The kernel runs freestanding in one wasm32 linear memory. This page is the SoC: it provides the zephyr_host imports and drives the Asyncify loop that makes context switching possible. The guest runs in a Worker, because it blocks its thread between suspensions.

Source, design notes and the seven patches to Zephyr →

Pick a build and press Run. For the shell, click the output area first, then type; Ctrl+C stops it.