From 0ef476928cf2a8f47a0fe7c95cd41039ba437d1a Mon Sep 17 00:00:00 2001 From: Hadi Rahal-Arabi Date: Mon, 8 Sep 2025 11:23:59 -0700 Subject: [PATCH 1/3] tdx topology test --- vmm_tests/vmm_tests/tests/tests/multiarch.rs | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch.rs b/vmm_tests/vmm_tests/tests/tests/multiarch.rs index 44a5f487de..a07dbeaf43 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch.rs @@ -471,6 +471,27 @@ async fn vmbus_relay(config: PetriVmBuilder) -> anyhow::R Ok(()) } +// Test AP startup on a TDX CVM with a numa topology s.t. +// APIC_ID != VCPU Index +#[vmm_test_no_agent( + hyperv_openhcl_uefi_x64[tdx](vhd(windows_datacenter_core_2025_x64)), +)] +#[cfg_attr(not(windows), expect(dead_code))] +async fn mailbox_tdx(config: PetriVmBuilder) -> anyhow::Result<()> { + let mut vm = config + .with_processor_topology(ProcessorTopology { + vp_count: 10, + vps_per_socket: Some(4), + ..Default::default() + }) + .run_without_agent() + .await?; + vm.wait_for_successful_boot_event().await?; + vm.send_enlightened_shutdown(ShutdownKind::Shutdown).await?; + assert_eq!(vm.wait_for_teardown().await?, HaltReason::PowerOff); + Ok(()) +} + /// Openhcl boot test with MNF enabled in vmbus relay. /// /// TODO: Remove the no_agent version below once agents are supported in CVMs. From 750b349d747e40b1659f040275de4067ffe27974 Mon Sep 17 00:00:00 2001 From: Hadi Orabi Date: Tue, 9 Sep 2025 09:11:30 -0700 Subject: [PATCH 2/3] Update vmm_tests/vmm_tests/tests/tests/multiarch.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- vmm_tests/vmm_tests/tests/tests/multiarch.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch.rs b/vmm_tests/vmm_tests/tests/tests/multiarch.rs index a07dbeaf43..937441797d 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch.rs @@ -471,7 +471,7 @@ async fn vmbus_relay(config: PetriVmBuilder) -> anyhow::R Ok(()) } -// Test AP startup on a TDX CVM with a numa topology s.t. +// Test AP startup on a TDX CVM with a NUMA topology such that // APIC_ID != VCPU Index #[vmm_test_no_agent( hyperv_openhcl_uefi_x64[tdx](vhd(windows_datacenter_core_2025_x64)), From 004ea94b1c1b3c894d5a7bcdf5db41745e1b30a7 Mon Sep 17 00:00:00 2001 From: Hadi Rahal-Arabi Date: Tue, 9 Sep 2025 12:37:06 -0700 Subject: [PATCH 3/3] fix: test was using functions that no longer exist --- vmm_tests/vmm_tests/tests/tests/multiarch.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vmm_tests/vmm_tests/tests/tests/multiarch.rs b/vmm_tests/vmm_tests/tests/tests/multiarch.rs index 937441797d..d71d75f674 100644 --- a/vmm_tests/vmm_tests/tests/tests/multiarch.rs +++ b/vmm_tests/vmm_tests/tests/tests/multiarch.rs @@ -486,9 +486,8 @@ async fn mailbox_tdx(config: PetriVmBuilder) -> anyhow::R }) .run_without_agent() .await?; - vm.wait_for_successful_boot_event().await?; vm.send_enlightened_shutdown(ShutdownKind::Shutdown).await?; - assert_eq!(vm.wait_for_teardown().await?, HaltReason::PowerOff); + vm.wait_for_clean_teardown().await?; Ok(()) }