From 560442e6ed2985167c2308a6536f64bd02ccc5db Mon Sep 17 00:00:00 2001 From: xuejun-xj Date: Wed, 10 May 2023 10:17:06 +0800 Subject: [PATCH] dragonball: add vcpu_boot_onlined vector This commit implements the vcpu_boot_onlined vector in get_fdt_vm_info. "boot_enabled" means whether this vcpu should be onlined at first boot. It will be used by fdt, which write an attribute called boot_enabled, and will be handled by guest kernel to pass the correct cpu number to function "bringup_nonboot_cpus". Fixes: #6010 Signed-off-by: xuejun-xj --- src/dragonball/src/vm/aarch64.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dragonball/src/vm/aarch64.rs b/src/dragonball/src/vm/aarch64.rs index 2bd7a8a85..fe8f23207 100644 --- a/src/dragonball/src/vm/aarch64.rs +++ b/src/dragonball/src/vm/aarch64.rs @@ -117,7 +117,9 @@ impl Vm { .into_iter() .map(|cpu| cpu.get_mpidr()) .collect(); - let vcpu_boot_onlined = vec![]; + let vm_config = self.vm_config(); + let mut vcpu_boot_onlined = vec![1; vm_config.vcpu_count as usize]; + vcpu_boot_onlined.resize(vm_config.max_vcpu_count as usize, 0); let vpmu_feature = vcpu_manager.vpmu_feature(); // This configuration is used for passing cache information into guest. // TODO: dragonball-sandbox #274; kata-containers #6969