twizzler-operating-system / twizzler

The Twizzler Operating System
BSD 3-Clause "New" or "Revised" License
66 stars 14 forks source link

Booting on QEMU Morello #197

Closed PandaZ3D closed 3 weeks ago

PandaZ3D commented 1 month ago

This patch implements the first in a series of patches to port Twizzler to the CHERI Morello system architecture. Morello is an ARMv8-A based platform that implements architectural capabilities. Our first line of work is getting the kernel to boot in a virtualized environment by implementing support for a different interrupt controller (i.e., GICv3). The changes to the code base were mostly architecture-specific with a small change to xtask to use qemu-system-morello. The kernel can process basic interrupts in the QEMU-Morello environment, and run user programs like in a normal ARM system.

The port so far is limited since QEMU-Morello does not perfectly model the system environment of Morello (e.g., device tree). We leave advanced interrupt controller functionality and improvements to the kernel bootstrap implementation for future work.