A minimal kernel in Swift, running in QEMU

· 10 min read

Update (28th of September 2026)

Max Desiatov told me that the @c swift attribute should work, instead of declaring the functions using @_cdecl. The @c attribute marks a global function as a C function implemented in Swift, which formalizes the @_cdecl attribute. A link to the proposal is available here. I did update the blog post and the code accordingly to that comment. Thanks Max!

I started a small experiment: writing a very basic kernel in Swift, and running on QEMU.

The goal is obviously not to replace Linux or any other popular kernel, but just to have fun and understand what is required to make a program run without an operating system underneath it.