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:
+1
-7
@@ -26,9 +26,6 @@ pub enum Error {
|
||||
|
||||
/// Cannot start a VM.
|
||||
VmStart(vm::Error),
|
||||
|
||||
/// Cannot load a kernel.
|
||||
LoadKernel(vm::Error),
|
||||
}
|
||||
pub type Result<T> = result::Result<T, Error>;
|
||||
|
||||
@@ -39,7 +36,6 @@ impl Display for Error {
|
||||
match self {
|
||||
VmNew(e) => write!(f, "Can not create a new virtual machine: {:?}", e),
|
||||
VmStart(e) => write!(f, "Can not start a new virtual machine: {:?}", e),
|
||||
LoadKernel(e) => write!(f, "Can not load a guest kernel: {:?}", e),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -60,9 +56,7 @@ pub fn boot_kernel(config: VmConfig) -> Result<()> {
|
||||
let vmm = Vmm::new()?;
|
||||
let mut vm = Vm::new(&vmm.kvm, &config).map_err(Error::VmNew)?;
|
||||
|
||||
let entry = vm.load_kernel().map_err(Error::LoadKernel)?;
|
||||
|
||||
if vm.start(entry).map_err(Error::VmStart)? == ExitBehaviour::Shutdown {
|
||||
if vm.start().map_err(Error::VmStart)? == ExitBehaviour::Shutdown {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user