Skip to content

Latest commit

 

History

History
40 lines (26 loc) · 1.02 KB

readme.md

File metadata and controls

40 lines (26 loc) · 1.02 KB

sysHyper-t1

A minimal Type-I hypervisor based on AArch64 & implemented in rust, capable of booting Linux / ArceOS on qemu.

Ported from RVM-Tutorial.

Features

  • Lightweight enough, only 3K+ LoC
  • Supported guest OS: ArceOS, Linux
  • Guest/host memory isolation with nested paging
  • Device emulation and passthrough
  • multi-vCPU and multi-guest support (without schedule)

Install Build Dependencies

Install cargo-binutils to use rust-objcopy and rust-objdump tools:

$ cargo install cargo-binutils

cross compilation tool chain (>= 12.2.Rel1) and QEMU (>= 7.0.0) are also needed.

Run Arceos

cd hypervisor
make run LOG=info SMP=4 GUEST=arceos NET=y FS=y

Run Linux

git apply run_linux.patch
cd hypervisor
make run LOG=info SMP=2 GUEST=linux NET=y FS=y