A learning/research ARM hypervisor inspired by ACRN, Xvisor, and Xen.
M0 — Hello EL2 (current milestone). The hypervisor enters EL2 on QEMU virt and prints a banner. No guest support yet.
See the M0 design.
make defconfig
make
make runExpected output:
[hv] Hello from EL2 on qemu_virt, CurrentEL=0x8
Exit QEMU with Ctrl-A x.
aarch64-none-linux-gnu-gcc>= 10aarch64-none-linux-gnu-binutilsqemu-system-aarch64>= 6.0
-
makebuilds cleanly with zero warnings. -
aarch64-none-linux-gnu-objdump -h build/hypervisor.elfshows.textat0x40080000. -
aarch64-none-linux-gnu-readelf -h build/hypervisor.elfshows entry ==0x40080000. -
make runprints the banner within 3 seconds. - Banner's
CurrentELreads0x8. - Temporarily flipping the EL assertion in
head.Sto demand EL3 triggers the!ELearly-panic path. Revert after verifying. -
Ctrl-A xexits QEMU cleanly.
TBD — see LICENSE.