@@ -104,7 +104,7 @@ pub enum StartMicrovmError {
104
104
/// Cannot load initrd due to an invalid image: {0}
105
105
InitrdRead ( io:: Error ) ,
106
106
/// Internal error while starting microVM: {0}
107
- Internal ( VmmError ) ,
107
+ Internal ( # [ from ] VmmError ) ,
108
108
/// Failed to get CPU template: {0}
109
109
GetCpuTemplate ( #[ from] GetCpuTemplateError ) ,
110
110
/// Invalid kernel command line: {0}
@@ -258,8 +258,7 @@ pub fn build_microvm_for_boot(
258
258
None ,
259
259
vm_resources. machine_config . vcpu_count ,
260
260
cpu_template. kvm_capabilities . clone ( ) ,
261
- )
262
- . map_err ( Internal ) ?;
261
+ ) ?;
263
262
264
263
#[ cfg( feature = "gdb" ) ]
265
264
let ( gdb_tx, gdb_rx) = mpsc:: channel ( ) ;
@@ -306,7 +305,7 @@ pub fn build_microvm_for_boot(
306
305
}
307
306
308
307
#[ cfg( target_arch = "aarch64" ) ]
309
- attach_legacy_devices_aarch64 ( event_manager, & mut vmm, & mut boot_cmdline) . map_err ( Internal ) ?;
308
+ attach_legacy_devices_aarch64 ( event_manager, & mut vmm, & mut boot_cmdline) ?;
310
309
311
310
attach_vmgenid_device ( & mut vmm) ?;
312
311
@@ -346,8 +345,7 @@ pub fn build_microvm_for_boot(
346
345
. ok_or_else ( || MissingSeccompFilters ( "vcpu" . to_string ( ) ) ) ?
347
346
. clone ( ) ,
348
347
)
349
- . map_err ( VmmError :: VcpuStart )
350
- . map_err ( Internal ) ?;
348
+ . map_err ( VmmError :: VcpuStart ) ?;
351
349
352
350
// Load seccomp filters for the VMM thread.
353
351
// Execution panics if filters cannot be loaded, use --no-seccomp if skipping filters
@@ -358,8 +356,7 @@ pub fn build_microvm_for_boot(
358
356
. get ( "vmm" )
359
357
. ok_or_else ( || MissingSeccompFilters ( "vmm" . to_string ( ) ) ) ?,
360
358
)
361
- . map_err ( VmmError :: SeccompFilters )
362
- . map_err ( Internal ) ?;
359
+ . map_err ( VmmError :: SeccompFilters ) ?;
363
360
364
361
event_manager. add_subscriber ( vmm. clone ( ) ) ;
365
362
@@ -384,10 +381,7 @@ pub fn build_and_boot_microvm(
384
381
debug ! ( "event_end: build microvm for boot" ) ;
385
382
// The vcpus start off in the `Paused` state, let them run.
386
383
debug ! ( "event_start: boot microvm" ) ;
387
- vmm. lock ( )
388
- . unwrap ( )
389
- . resume_vm ( )
390
- . map_err ( StartMicrovmError :: Internal ) ?;
384
+ vmm. lock ( ) . unwrap ( ) . resume_vm ( ) ?;
391
385
debug ! ( "event_end: boot microvm" ) ;
392
386
Ok ( vmm)
393
387
}
@@ -559,7 +553,7 @@ fn load_kernel(
559
553
let mut kernel_file = boot_config
560
554
. kernel_file
561
555
. try_clone ( )
562
- . map_err ( |err| StartMicrovmError :: Internal ( VmmError :: KernelFile ( err ) ) ) ?;
556
+ . map_err ( VmmError :: KernelFile ) ?;
563
557
564
558
let entry_addr = Loader :: load :: < std:: fs:: File , GuestMemoryMmap > (
565
559
guest_memory,
@@ -593,7 +587,7 @@ fn load_kernel(
593
587
let mut kernel_file = boot_config
594
588
. kernel_file
595
589
. try_clone ( )
596
- . map_err ( |err| StartMicrovmError :: Internal ( VmmError :: KernelFile ( err ) ) ) ?;
590
+ . map_err ( VmmError :: KernelFile ) ?;
597
591
598
592
let entry_addr = Loader :: load :: < std:: fs:: File , GuestMemoryMmap > (
599
593
guest_memory,
@@ -762,8 +756,7 @@ pub fn configure_system_for_boot(
762
756
for vcpu in vcpus. iter_mut ( ) {
763
757
vcpu. kvm_vcpu
764
758
. init ( & cpu_template. vcpu_features )
765
- . map_err ( VmmError :: VcpuInit )
766
- . map_err ( Internal ) ?;
759
+ . map_err ( VmmError :: VcpuInit ) ?;
767
760
}
768
761
769
762
let mut regs = Aarch64RegisterVec :: default ( ) ;
@@ -787,8 +780,7 @@ pub fn configure_system_for_boot(
787
780
for vcpu in vcpus. iter_mut ( ) {
788
781
vcpu. kvm_vcpu
789
782
. configure ( vmm. guest_memory ( ) , entry_point, & vcpu_config)
790
- . map_err ( VmmError :: VcpuConfigure )
791
- . map_err ( Internal ) ?;
783
+ . map_err ( VmmError :: VcpuConfigure ) ?;
792
784
}
793
785
794
786
// Write the kernel command line to guest memory. This is x86_64 specific, since on
@@ -836,8 +828,7 @@ pub fn configure_system_for_boot(
836
828
& vcpu_config,
837
829
& optional_capabilities,
838
830
)
839
- . map_err ( VmmError :: VcpuConfigure )
840
- . map_err ( Internal ) ?;
831
+ . map_err ( VmmError :: VcpuConfigure ) ?;
841
832
}
842
833
let vcpu_mpidr = vcpus
843
834
. iter_mut ( )
0 commit comments