mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
vmm: Simplify the VM start flow
We can integrate the kernel loading into the VM start method. The VM start flow is then: Vm::new() -> vm.start(), which feels more natural. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
@@ -766,7 +766,7 @@ impl<'a> Vm<'a> {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn load_kernel(&mut self) -> Result<GuestAddress> {
|
||||
fn load_kernel(&mut self) -> Result<GuestAddress> {
|
||||
let mut cmdline = self.config.cmdline.args.clone();
|
||||
for entry in self.devices.cmdline_additions() {
|
||||
cmdline.insert_str(entry).map_err(|_| Error::CmdLine)?;
|
||||
@@ -956,10 +956,9 @@ impl<'a> Vm<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn start(&mut self, entry_addr: GuestAddress) -> Result<ExitBehaviour> {
|
||||
pub fn start(&mut self) -> Result<ExitBehaviour> {
|
||||
let entry_addr = self.load_kernel()?;
|
||||
let vcpu_count = u8::from(&self.config.cpus);
|
||||
|
||||
// let vcpus: Vec<thread::JoinHandle<()>> = Vec::with_capacity(vcpu_count as usize);
|
||||
let vcpu_thread_barrier = Arc::new(Barrier::new((vcpu_count + 1) as usize));
|
||||
|
||||
for cpu_id in 0..vcpu_count {
|
||||
|
||||
Reference in New Issue
Block a user