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

Method init_mshv

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

Source from the content-addressed store, hash-verified

1068 /// Initialize MSHV-specific components.
1069 #[cfg(feature = "mshv")]
1070 fn init_mshv(
1071 _vm: &Arc<dyn hypervisor::Vm>,
1072 device_manager: &Arc<Mutex<DeviceManager>>,
1073 console_info: Option<&ConsoleInfo>,
1074 console_resize_pipe: Option<&Arc<File>>,
1075 original_termios: &Arc<Mutex<Option<termios>>>,
1076 ) -> Result<()> {
1077 let ic = device_manager
1078 .lock()
1079 .unwrap()
1080 .create_interrupt_controller()
1081 .map_err(Error::DeviceManager)?;
1082
1083 #[cfg(target_arch = "aarch64")]
1084 _vm.init().map_err(Error::InitializeVm)?;
1085
1086 device_manager
1087 .lock()
1088 .unwrap()
1089 .create_devices(
1090 console_info.cloned(),
1091 console_resize_pipe.cloned(),
1092 original_termios.clone(),
1093 ic,
1094 )
1095 .map_err(Error::DeviceManager)?;
1096
1097 Ok(())
1098 }
1099
1100 /// Initialize KVM-specific components.
1101 #[cfg(feature = "kvm")]

Callers

nothing calls this directly

Calls 4

create_devicesMethod · 0.80
initMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected