vmbase

对于在 aarch64 上使用 crosvm 运行的虚拟机,vmbase 库提供了链接器脚本和实用的默认构建规则,以及入口点、UART 控制台日志记录等功能。

#![no_main]
#![no_std]

use vmbase::{main, println};

main!(main);

pub fn main(arg0: u64, arg1: u64, arg2: u64, arg3: u64) {
    println!("Hello world");
}
  • main! 宏用于标记需从 vmbase 入口点调用的 main 函数。
  • vmbase 入口点用于处理控制台初始化,并在 main 函数返回时发送 PSCI_SYSTEM_OFF 命令以关闭虚拟机。