Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions flowey/flowey_lib_hvlite/src/artifact_to_build_mapping.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,13 @@ impl ResolvedArtifactSelections {
true
}

// OpenVMM vhost binary (Linux only)
"petri_artifacts_vmm_test::artifacts::OPENVMM_VHOST_LINUX_X64"
| "petri_artifacts_vmm_test::artifacts::OPENVMM_VHOST_LINUX_AARCH64" => {
self.build.openvmm_vhost = true;
true
}

// OpenHCL IGVM files
"petri_artifacts_vmm_test::artifacts::openhcl_igvm::LATEST_STANDARD_X64"
| "petri_artifacts_vmm_test::artifacts::openhcl_igvm::LATEST_STANDARD_DEV_KERNEL_X64"
Expand Down
17 changes: 11 additions & 6 deletions vmm_tests/vmm_tests/tests/tests/multiarch.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ use petri::openvmm::OpenVmmPetriBackend;
use petri::pipette::cmd;
use petri_artifacts_common::tags::MachineArch;
use petri_artifacts_common::tags::OsFlavor;
#[cfg(target_os = "linux")]
use petri_artifacts_vmm_test::artifacts::OPENVMM_VHOST_NATIVE;
use vmm_test_macros::openvmm_test;
use vmm_test_macros::vmm_test;
use vmm_test_macros::vmm_test_with;
Expand Down Expand Up @@ -481,10 +483,13 @@ async fn guest_test_uefi<T: PetriVmmBackend>(config: PetriVmBuilder<T>) -> anyho
/// virtio transport → frontend protocol → socket → backend protocol →
/// virtio-blk device → disk file.
#[cfg(target_os = "linux")]
#[openvmm_test(linux_direct_x64, linux_direct_aarch64)]
async fn vhost_user_blk_device(
#[openvmm_test(
linux_direct_x64[OPENVMM_VHOST_NATIVE],
linux_direct_aarch64[OPENVMM_VHOST_NATIVE],
)]
async fn vhost_user_blk_device<T>(
config: PetriVmBuilder<OpenVmmPetriBackend>,
_extra_deps: (),
extra_deps: (petri::ResolvedArtifact<T>,),
Comment on lines +490 to +492
Copy link

Copilot AI Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new generic parameter name T is ambiguous here because it represents the resolved artifact type (not a backend, unlike other T usages in this module). Renaming it to something more specific (e.g., VhostArtifact) would make the signature easier to understand and reduce confusion with other generics used in this file.

Copilot uses AI. Check for mistakes.
driver: pal_async::DefaultDriver,
) -> anyhow::Result<()> {
use openvmm_defs::config::VirtioBus;
Expand All @@ -493,8 +498,8 @@ async fn vhost_user_blk_device(
use virtio_resources::vhost_user::VhostUserDeviceHandle;
use vm_resource::IntoResource;

let openvmm_vhost_path =
petri_artifact_resolver_openvmm_known_paths::get_output_executable_path("openvmm_vhost")?;
let (openvmm_vhost_artifact,) = extra_deps;
let openvmm_vhost_path = openvmm_vhost_artifact.get();

let log_file = config.log_source().log_file("openvmm_vhost")?;

Expand All @@ -513,7 +518,7 @@ async fn vhost_user_blk_device(
// Spawn the openvmm_vhost backend process. Pipe stderr so we can
// forward it to the petri log system.
let (stderr_read, stderr_write) = pal::pipe_pair()?;
let backend_child = std::process::Command::new(&openvmm_vhost_path)
let backend_child = std::process::Command::new(openvmm_vhost_path)
.arg("--socket")
.arg(&socket_path)
.arg("blk")
Expand Down
Loading