vmbase
Для виртуальных машин, работающих под crosvm на aarch64, библиотека vmbase предоставляет скрипт компоновщика и полезные значения по умолчанию для правил сборки, а также точку входа, логирование в консоль UART и многое другое.
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
#![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!отмечает вашу функцию main, которая будет вызвана из точки входаvmbase. - Точка входа
vmbaseвыполняет инициализацию консоли и выдаёт PSCI_SYSTEM_OFF, чтобы выключить ВМ, если ваша функция main вернёт управление.