Skip to content

James7zy/hypervisor-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hypervisor

A learning/research ARM hypervisor inspired by ACRN, Xvisor, and Xen.

Status

M0 — Hello EL2 (current milestone). The hypervisor enters EL2 on QEMU virt and prints a banner. No guest support yet.

See the M0 design.

Quickstart

make defconfig
make
make run

Expected output:

[hv] Hello from EL2 on qemu_virt, CurrentEL=0x8

Exit QEMU with Ctrl-A x.

Requirements

  • aarch64-none-linux-gnu-gcc >= 10
  • aarch64-none-linux-gnu-binutils
  • qemu-system-aarch64 >= 6.0

Acceptance checklist (M0)

  • make builds cleanly with zero warnings.
  • aarch64-none-linux-gnu-objdump -h build/hypervisor.elf shows .text at 0x40080000.
  • aarch64-none-linux-gnu-readelf -h build/hypervisor.elf shows entry == 0x40080000.
  • make run prints the banner within 3 seconds.
  • Banner's CurrentEL reads 0x8.
  • Temporarily flipping the EL assertion in head.S to demand EL3 triggers the !EL early-panic path. Revert after verifying.
  • Ctrl-A x exits QEMU cleanly.

License

TBD — see LICENSE.

About

ARM64 Type-1 bare-metal hypervisor in C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors