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.
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.