@@ -461,33 +461,31 @@ async fn pcie_save_restore(config: PetriVmBuilder<OpenVmmPetriBackend>) -> anyho
461461 Ok ( ( ) )
462462}
463463
464- /// Boot an OS entirely from an NVMe device on an emulated PCIe root port.
465- /// Validates the full PciHostBridgeDxe → PciBusDxe → NvmExpressDxe → OS boot chain.
466- ///
467- /// Requires a mu_msvm firmware build with ePCI support (PciHostBridgeDxe,
468- /// PciBusDxe, CpuIo2Dxe, PciHostBridgeLib, PciSegmentInfoLib).
469- /// Pass `--custom-uefi-firmware <path>` to use a locally-built firmware.
470-
471- #[ openvmm_test( uefi_x64( vhd( alpine_3_23_x64) ) , uefi_aarch64( vhd( alpine_3_23_aarch64) ) ) ]
464+ /// Boot a guest thru UEFI from an NVMe device on an emulated PCIe root port.
465+ /// Validates that UEFI's driver stack correctly enumerates and uses the NVMe
466+ /// device to load the guest OS.
467+ #[ openvmm_test(
468+ uefi_x64( vhd( alpine_3_23_x64) ) ,
469+ uefi_x64( vhd( windows_datacenter_core_2022_x64) ) ,
470+ uefi_aarch64( vhd( alpine_3_23_aarch64) ) ,
471+ uefi_aarch64( vhd( windows_11_enterprise_aarch64) )
472+ ) ]
472473async fn pcie_nvme_boot ( config : PetriVmBuilder < OpenVmmPetriBackend > ) -> anyhow:: Result < ( ) > {
473474 let os_flavor = config. os_flavor ( ) ;
474475 let ( vm, agent) = config
475476 . with_boot_device_type ( petri:: BootDeviceType :: PcieNvme )
476477 . modify_backend ( |b| {
477- b. with_pcie_root_topology ( 1 , 1 , 1 )
478- . with_custom_config ( |c| {
479- c. efi_diagnostics_log_level =
480- openvmm_defs:: config:: EfiDiagnosticsLogLevelType :: Full ;
481- if let openvmm_defs:: config:: LoadMode :: Uefi {
482- ref mut default_boot_always_attempt,
483- ref mut enable_vpci_boot,
484- ..
485- } = c. load_mode
486- {
487- * default_boot_always_attempt = true ;
488- * enable_vpci_boot = false ;
489- }
490- } )
478+ b. with_pcie_root_topology ( 1 , 1 , 1 ) . with_custom_config ( |c| {
479+ if let openvmm_defs:: config:: LoadMode :: Uefi {
480+ ref mut default_boot_always_attempt,
481+ ref mut enable_vpci_boot,
482+ ..
483+ } = c. load_mode
484+ {
485+ * default_boot_always_attempt = true ;
486+ * enable_vpci_boot = false ;
487+ }
488+ } )
491489 } )
492490 . run ( )
493491 . await ?;
0 commit comments