@@ -370,6 +370,43 @@ async fn boot_no_agent(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> {
370
370
Ok ( ( ) )
371
371
}
372
372
373
+ // Basic vp "heavy" boot test without agent with 16 VPs.
374
+ #[ vmm_test(
375
+ openvmm_linux_direct_x64,
376
+ openvmm_openhcl_linux_direct_x64,
377
+ openvmm_pcat_x64( vhd( freebsd_13_2_x64) ) ,
378
+ openvmm_pcat_x64( iso( freebsd_13_2_x64) ) ,
379
+ openvmm_pcat_x64( vhd( windows_datacenter_core_2022_x64) ) ,
380
+ openvmm_pcat_x64( vhd( ubuntu_2204_server_x64) ) ,
381
+ // openvmm_uefi_aarch64(vhd(windows_11_enterprise_aarch64)),
382
+ openvmm_uefi_aarch64( vhd( ubuntu_2404_server_aarch64) ) ,
383
+ openvmm_uefi_x64( vhd( windows_datacenter_core_2022_x64) ) ,
384
+ openvmm_uefi_x64( vhd( ubuntu_2204_server_x64) ) ,
385
+ openvmm_openhcl_uefi_x64( vhd( windows_datacenter_core_2022_x64) ) ,
386
+ openvmm_openhcl_uefi_x64( vhd( ubuntu_2204_server_x64) ) ,
387
+ openvmm_openhcl_uefi_x64[ vbs] ( vhd( windows_datacenter_core_2022_x64) ) ,
388
+ openvmm_openhcl_uefi_x64[ vbs] ( vhd( ubuntu_2204_server_x64) ) ,
389
+ hyperv_openhcl_uefi_aarch64( vhd( windows_11_enterprise_aarch64) ) ,
390
+ // hyperv_openhcl_uefi_aarch64(vhd(ubuntu_2404_server_aarch64)),
391
+ hyperv_openhcl_uefi_x64( vhd( windows_datacenter_core_2022_x64) ) ,
392
+ // hyperv_openhcl_uefi_x64(vhd(ubuntu_2204_server_x64)),
393
+ hyperv_openhcl_uefi_x64[ vbs] ( vhd( windows_datacenter_core_2025_x64) ) ,
394
+ hyperv_openhcl_uefi_x64[ tdx] ( vhd( windows_datacenter_core_2025_x64) )
395
+ ) ]
396
+ async fn boot_no_agent_heavy ( config : Box < dyn PetriVmConfig > ) -> anyhow:: Result < ( ) > {
397
+ let mut vm = config
398
+ . with_processor_topology ( ProcessorTopology {
399
+ vp_count : 16 ,
400
+ ..Default :: default ( )
401
+ } )
402
+ . run_without_agent ( )
403
+ . await ?;
404
+ vm. wait_for_successful_boot_event ( ) . await ?;
405
+ vm. send_enlightened_shutdown ( ShutdownKind :: Shutdown ) . await ?;
406
+ assert_eq ! ( vm. wait_for_teardown( ) . await ?, HaltReason :: PowerOff ) ;
407
+ Ok ( ( ) )
408
+ }
409
+
373
410
// Test for vmbus relay
374
411
// TODO: VBS isolation was failing and other targets too
375
412
#[ vmm_test(
@@ -384,6 +421,27 @@ async fn vmbus_relay(config: Box<dyn PetriVmConfig>) -> anyhow::Result<()> {
384
421
Ok ( ( ) )
385
422
}
386
423
424
+ // Test for vmbus relay
425
+ // TODO: VBS isolation was failing and other targets too
426
+ #[ vmm_test(
427
+ hyperv_openhcl_uefi_x64[ tdx] ( vhd( windows_datacenter_core_2025_x64) )
428
+ ) ]
429
+ #[ cfg_attr( not( windows) , expect( dead_code) ) ]
430
+ async fn vmbus_relay_heavy ( config : Box < dyn PetriVmConfig > ) -> anyhow:: Result < ( ) > {
431
+ let mut vm = config
432
+ . with_vmbus_redirect ( true )
433
+ . with_processor_topology ( ProcessorTopology {
434
+ vp_count : 16 ,
435
+ ..Default :: default ( )
436
+ } )
437
+ . run_without_agent ( )
438
+ . await ?;
439
+ vm. wait_for_successful_boot_event ( ) . await ?;
440
+ vm. send_enlightened_shutdown ( ShutdownKind :: Shutdown ) . await ?;
441
+ assert_eq ! ( vm. wait_for_teardown( ) . await ?, HaltReason :: PowerOff ) ;
442
+ Ok ( ( ) )
443
+ }
444
+
387
445
/// Basic boot test without agent and with a single VP.
388
446
#[ vmm_test(
389
447
openvmm_openhcl_uefi_x64[ vbs] ( vhd( windows_datacenter_core_2022_x64) ) ,
0 commit comments