MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / init_kvm

Method init_kvm

vmm/src/vm.rs:1102–1126  ·  view source on GitHub ↗
(
        vm: &Arc<dyn hypervisor::Vm>,
        device_manager: &Arc<Mutex<DeviceManager>>,
        console_info: Option<ConsoleInfo>,
        console_resize_pipe: Option<Arc<File>>,
        original_

Source from the content-addressed store, hash-verified

1100 /// Initialize KVM-specific components.
1101 #[cfg(feature = "kvm")]
1102 fn init_kvm(
1103 vm: &Arc<dyn hypervisor::Vm>,
1104 device_manager: &Arc<Mutex<DeviceManager>>,
1105 console_info: Option<ConsoleInfo>,
1106 console_resize_pipe: Option<Arc<File>>,
1107 original_termios: Arc<Mutex<Option<termios>>>,
1108 ) -> Result<()> {
1109 // For KVM, create interrupt controller after boot vcpus
1110 // because GIC state is restored from snapshot during vcpu creation
1111 let ic = device_manager
1112 .lock()
1113 .unwrap()
1114 .create_interrupt_controller()
1115 .map_err(Error::DeviceManager)?;
1116
1117 vm.init().map_err(Error::InitializeVm)?;
1118
1119 device_manager
1120 .lock()
1121 .unwrap()
1122 .create_devices(console_info, console_resize_pipe, original_termios, ic)
1123 .map_err(Error::DeviceManager)?;
1124
1125 Ok(())
1126 }
1127
1128 /// Create fw_cfg device if enabled in configuration.
1129 #[cfg(feature = "fw_cfg")]

Callers

nothing calls this directly

Calls 3

create_devicesMethod · 0.80
initMethod · 0.45

Tested by

no test coverage detected