diff --git a/.github/workflows/openvmm-ci.json b/.github/workflows/openvmm-ci.json index 2a7262bac..7f526ab10 100644 --- a/.github/workflows/openvmm-ci.json +++ b/.github/workflows/openvmm-ci.json @@ -1916,7 +1916,7 @@ "flowey_lib_common::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:2:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:3:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false}],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:13:flowey_lib_hvlite/src/run_cargo_build.rs:367:22\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:15:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:9:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"boot-release\"},\"target\":\"aarch64-unknown-linux-musl\"}", - "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:23:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"underhill-ship\"},\"target\":\"aarch64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:23:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"underhill-ship\"},\"target\":\"aarch64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:26:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:27:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:25:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Release\",\"target\":\"aarch64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe": [ @@ -1944,24 +1944,24 @@ "{\"artifact_dir\":{\"backing_var\":{\"RuntimeVar\":\"artifact_publish_from_aarch64-linux-musl-pipette\"},\"is_secret\":false},\"done\":{\"backing_var\":\"start35\",\"is_secret\":false},\"pipette\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::build_igvmfilegen": [ - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}" + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_boot": [ - "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}" + "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_igvm_from_recipe": [ "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"aarch64-unknown-linux-musl\"},\"profile\":\"OpenvmmHclShip\",\"recipe\":\"Aarch64\"}", "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:12:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:11:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"aarch64-unknown-linux-musl\"},\"profile\":\"OpenvmmHclShip\",\"recipe\":\"Aarch64Devkern\"}" ], "flowey_lib_hvlite::build_openhcl_initrd": [ - "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}" + "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}" ], "flowey_lib_hvlite::build_openvmm_hcl": [ - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}" + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_pipette": [ "{\"pipette\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\",\"is_secret\":false},\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"Aarch64\",\"platform\":\"LinuxMusl\"}}}" @@ -1974,8 +1974,8 @@ "{\"Version\":\"10.0.26100.1-240331-1435.ge-release\"}" ], "flowey_lib_hvlite::download_openhcl_kernel_package": [ - "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", "{\"Version\":[\"Cvm\",\"6.6.51.7\"]}", "{\"Version\":[\"CvmDev\",\"6.6.51.6\"]}", "{\"Version\":[\"Dev\",\"6.6.51.6\"]}", @@ -1988,13 +1988,13 @@ "{\"Version\":\"0.1.0-20241014.2\"}" ], "flowey_lib_hvlite::download_uefi_mu_msvm": [ - "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", - "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", "{\"Version\":\"24.0.2\"}" ], "flowey_lib_hvlite::git_checkout_openvmm_repo": [ - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:1:flowey_lib_hvlite/src/build_openhcl_initrd.rs:70:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::cfg_openvmm_magicpath:0:flowey_lib_hvlite/src/cfg_openvmm_magicpath.rs:27:29\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings:0:flowey_lib_hvlite/src/init_openvmm_cargo_config_deny_warnings.rs:51:37\",\"is_secret\":false}}", @@ -2012,7 +2012,7 @@ "{\"Done\":{\"backing_var\":\"flowey_lib_hvlite::install_openvmm_rust_build_essential:0:flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs:33:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot": [ - "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\",\"is_secret\":false}}", + "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:25:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:9:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}" @@ -2026,16 +2026,16 @@ "flowey_lib_hvlite::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_igvmfilegen:0:flowey_lib_hvlite/src/build_igvmfilegen.rs:53:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"crate_type\":\"Bin\",\"extra_env\":{\"backing_var\":{\"Inline\":{\"MINIMAL_RT_BUILD\":\"1\"}},\"is_secret\":false},\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_boot:0:flowey_lib_hvlite/src/build_openhcl_boot.rs:82:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"BootRelease\",\"target\":\"aarch64-unknown-linux-musl\"}", - "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:103:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false}],\"profile\":\"UnderhillShip\",\"target\":\"aarch64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:104:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false}],\"profile\":\"UnderhillShip\",\"target\":\"aarch64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_pipette:0:flowey_lib_hvlite/src/build_pipette.rs:40:26\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Release\",\"target\":\"aarch64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::run_igvmfilegen": [ - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::run_split_debug_info": [ - "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", + "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:16:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:18:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:19:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:28:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:30:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:31:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:4:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:6:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:7:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}" @@ -2128,7 +2128,7 @@ "flowey_lib_common::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:2:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:3:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false}],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:12:flowey_lib_hvlite/src/run_cargo_build.rs:367:22\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:14:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"boot-release\"},\"target\":\"x86_64-unknown-none\"}", - "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:20:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"underhill-ship\"},\"target\":\"x86_64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:20:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"underhill-ship\"},\"target\":\"x86_64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:25:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:26:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:24:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe": [ @@ -2156,18 +2156,18 @@ "{\"artifact_dir\":{\"backing_var\":{\"RuntimeVar\":\"artifact_publish_from_x64-linux-musl-pipette\"},\"is_secret\":false},\"done\":{\"backing_var\":\"start37\",\"is_secret\":false},\"pipette\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::build_igvmfilegen": [ - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:118:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:60:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:89:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}" + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:118:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:60:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:89:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_boot": [ - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:119:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:61:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:90:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}" + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:119:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:61:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Release\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:90:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_igvm_from_recipe": [ "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"x86_64-unknown-linux-musl\"},\"profile\":\"OpenvmmHclShip\",\"recipe\":\"X64\"}", @@ -2177,18 +2177,18 @@ "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:34:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"x86_64-unknown-linux-musl\"},\"profile\":\"OpenvmmHclShip\",\"recipe\":\"X64TestLinuxDirectDevkern\"}" ], "flowey_lib_hvlite::build_openhcl_initrd": [ - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:103:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:105:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:101:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:132:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:134:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:130:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:74:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:76:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:72:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}" + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:103:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:105:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:101:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:132:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:134:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:130:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:74:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:76:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":false,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:72:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}" ], "flowey_lib_hvlite::build_openvmm_hcl": [ - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:117:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:59:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:88:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}" + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:117:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:59:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"OpenvmmHclShip\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:88:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_pipette": [ "{\"pipette\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\",\"is_secret\":false},\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxMusl\"}}}" @@ -2201,21 +2201,21 @@ "{\"Version\":\"10.0.26100.1-240331-1435.ge-release\"}" ], "flowey_lib_hvlite::download_openhcl_kernel_package": [ - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Cvm\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Cvm\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", "{\"Version\":[\"Cvm\",\"6.6.51.7\"]}", "{\"Version\":[\"CvmDev\",\"6.6.51.6\"]}", "{\"Version\":[\"Dev\",\"6.6.51.6\"]}", "{\"Version\":[\"Main\",\"6.6.51.7\"]}" ], "flowey_lib_hvlite::download_openvmm_deps": [ - "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:116:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:392:30\",\"is_secret\":false}]}", - "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:87:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:392:30\",\"is_secret\":false}]}", - "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:115:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:379:52\",\"is_secret\":false}]}", - "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:86:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:379:52\",\"is_secret\":false}]}", + "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:116:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:433:30\",\"is_secret\":false}]}", + "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:87:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:433:30\",\"is_secret\":false}]}", + "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:115:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:420:52\",\"is_secret\":false}]}", + "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:86:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:420:52\",\"is_secret\":false}]}", "{\"GetOpenhclCpioShell\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:10:flowey_lib_hvlite/src/build_openhcl_initrd.rs:99:21\",\"is_secret\":false}]}", "{\"GetOpenhclCpioShell\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:2:flowey_lib_hvlite/src/build_openhcl_initrd.rs:99:21\",\"is_secret\":false}]}", "{\"GetOpenhclCpioShell\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:4:flowey_lib_hvlite/src/build_openhcl_initrd.rs:99:21\",\"is_secret\":false}]}", @@ -2225,17 +2225,17 @@ "{\"Version\":\"0.1.0-20241014.2\"}" ], "flowey_lib_hvlite::download_uefi_mu_msvm": [ - "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", - "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", - "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:58:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:58:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", "{\"Version\":\"24.0.2\"}" ], "flowey_lib_hvlite::git_checkout_openvmm_repo": [ - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:113:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:56:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:84:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:113:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:56:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:84:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:1:flowey_lib_hvlite/src/build_openhcl_initrd.rs:70:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::cfg_openvmm_magicpath:0:flowey_lib_hvlite/src/cfg_openvmm_magicpath.rs:27:29\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings:0:flowey_lib_hvlite/src/init_openvmm_cargo_config_deny_warnings.rs:51:37\",\"is_secret\":false}}", @@ -2253,7 +2253,7 @@ "{\"Done\":{\"backing_var\":\"flowey_lib_hvlite::install_openvmm_rust_build_essential:0:flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs:33:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot": [ - "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\",\"is_secret\":false}}", + "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\",\"is_secret\":false}}", "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:20:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}", "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:24:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}" ], @@ -2266,22 +2266,22 @@ "flowey_lib_hvlite::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_igvmfilegen:0:flowey_lib_hvlite/src/build_igvmfilegen.rs:53:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"crate_type\":\"Bin\",\"extra_env\":{\"backing_var\":{\"Inline\":{\"MINIMAL_RT_BUILD\":\"1\"}},\"is_secret\":false},\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_boot:0:flowey_lib_hvlite/src/build_openhcl_boot.rs:82:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"BootRelease\",\"target\":\"x86_64-unknown-none\"}", - "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:103:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false}],\"profile\":\"UnderhillShip\",\"target\":\"x86_64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:104:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false}],\"profile\":\"UnderhillShip\",\"target\":\"x86_64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_pipette:0:flowey_lib_hvlite/src/build_pipette.rs:40:26\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::run_igvmfilegen": [ - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:109:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:111:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:108:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:138:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:140:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:137:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:80:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:82:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:79:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:109:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:111:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:108:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:138:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:140:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:137:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:80:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:82:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:79:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::run_split_debug_info": [ - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:123:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:121:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:122:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:65:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:63:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:64:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:94:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:92:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:93:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:123:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:121:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:122:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:65:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:63:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:64:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:94:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:92:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:93:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:15:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:17:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:18:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:27:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:29:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:30:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:4:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:6:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:7:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}" diff --git a/.github/workflows/openvmm-pr.json b/.github/workflows/openvmm-pr.json index fd3114986..10d11f51f 100644 --- a/.github/workflows/openvmm-pr.json +++ b/.github/workflows/openvmm-pr.json @@ -1831,7 +1831,7 @@ "flowey_lib_common::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:2:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:3:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false}],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:13:flowey_lib_hvlite/src/run_cargo_build.rs:367:22\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:15:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:9:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"boot-dev\"},\"target\":\"aarch64-unknown-linux-musl\"}", - "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"gdb\",\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:23:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"aarch64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"gdb\",\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:23:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"aarch64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:26:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:27:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:25:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"aarch64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe": [ @@ -1859,24 +1859,24 @@ "{\"artifact_dir\":{\"backing_var\":{\"RuntimeVar\":\"artifact_publish_from_aarch64-linux-musl-pipette\"},\"is_secret\":false},\"done\":{\"backing_var\":\"start34\",\"is_secret\":false},\"pipette\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::build_igvmfilegen": [ - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}" + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_boot": [ - "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}" + "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"Aarch64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_igvm_from_recipe": [ "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"aarch64-unknown-linux-musl\"},\"profile\":\"Debug\",\"recipe\":\"Aarch64\"}", "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:12:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:11:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"aarch64-unknown-linux-musl\"},\"profile\":\"Debug\",\"recipe\":\"Aarch64Devkern\"}" ], "flowey_lib_hvlite::build_openhcl_initrd": [ - "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}" + "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"Aarch64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}" ], "flowey_lib_hvlite::build_openvmm_hcl": [ - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}" + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"aarch64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_pipette": [ "{\"pipette\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\",\"is_secret\":false},\"profile\":\"Debug\",\"target\":{\"Common\":{\"arch\":\"Aarch64\",\"platform\":\"LinuxMusl\"}}}" @@ -1889,8 +1889,8 @@ "{\"Version\":\"10.0.26100.1-240331-1435.ge-release\"}" ], "flowey_lib_hvlite::download_openhcl_kernel_package": [ - "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"Aarch64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", "{\"Version\":[\"Cvm\",\"6.6.51.7\"]}", "{\"Version\":[\"CvmDev\",\"6.6.51.6\"]}", "{\"Version\":[\"Dev\",\"6.6.51.6\"]}", @@ -1903,13 +1903,13 @@ "{\"Version\":\"0.1.0-20241014.2\"}" ], "flowey_lib_hvlite::download_uefi_mu_msvm": [ - "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", - "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"Aarch64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", "{\"Version\":\"24.0.2\"}" ], "flowey_lib_hvlite::git_checkout_openvmm_repo": [ - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:1:flowey_lib_hvlite/src/build_openhcl_initrd.rs:70:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::cfg_openvmm_magicpath:0:flowey_lib_hvlite/src/cfg_openvmm_magicpath.rs:27:29\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings:0:flowey_lib_hvlite/src/init_openvmm_cargo_config_deny_warnings.rs:51:37\",\"is_secret\":false}}", @@ -1927,7 +1927,7 @@ "{\"Done\":{\"backing_var\":\"flowey_lib_hvlite::install_openvmm_rust_build_essential:0:flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs:33:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot": [ - "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\",\"is_secret\":false}}", + "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:25:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:9:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}" @@ -1941,16 +1941,16 @@ "flowey_lib_hvlite::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_igvmfilegen:0:flowey_lib_hvlite/src/build_igvmfilegen.rs:53:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"crate_type\":\"Bin\",\"extra_env\":{\"backing_var\":{\"Inline\":{\"MINIMAL_RT_BUILD\":\"1\"}},\"is_secret\":false},\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_boot:0:flowey_lib_hvlite/src/build_openhcl_boot.rs:82:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"BootDev\",\"target\":\"aarch64-unknown-linux-musl\"}", - "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"gdb\",\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:103:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"aarch64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"gdb\",\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:104:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"aarch64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_pipette:0:flowey_lib_hvlite/src/build_pipette.rs:40:26\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Debug\",\"target\":\"aarch64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::run_igvmfilegen": [ - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::run_split_debug_info": [ - "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", + "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:16:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:18:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:19:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"Aarch64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:28:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:30:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:31:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:4:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:6:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:7:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}" @@ -2043,7 +2043,7 @@ "flowey_lib_common::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:2:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:3:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false}],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:12:flowey_lib_hvlite/src/run_cargo_build.rs:367:22\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:14:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false}],\"profile\":{\"Custom\":\"boot-dev\"},\"target\":\"x86_64-unknown-none\"}", - "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"gdb\",\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:20:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"x86_64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:21:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[\"gdb\",\"tpm\"],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:22:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:20:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"x86_64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"extra_env\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:25:flowey_lib_hvlite/src/run_cargo_build.rs:359:36\"},\"is_secret\":false},\"features\":[],\"in_folder\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:1:flowey_lib_hvlite/src/run_cargo_build.rs:315:37\"},\"is_secret\":false},\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:26:flowey_lib_hvlite/src/run_cargo_build.rs:375:35\",\"is_secret\":false},\"output_kind\":\"Bin\",\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:0:flowey_lib_hvlite/src/run_cargo_build.rs:313:18\"},\"is_secret\":false},{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:24:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"x86_64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe": [ @@ -2071,18 +2071,18 @@ "{\"artifact_dir\":{\"backing_var\":{\"RuntimeVar\":\"artifact_publish_from_x64-linux-musl-pipette\"},\"is_secret\":false},\"done\":{\"backing_var\":\"start36\",\"is_secret\":false},\"pipette\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::build_igvmfilegen": [ - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:118:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:60:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}", - "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:89:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:465:31\",\"is_secret\":false}}" + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:118:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:32:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:4:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:60:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}", + "{\"build_params\":{\"profile\":\"Release\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxGnu\"}}},\"igvmfilegen\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:89:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:506:31\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_boot": [ - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:119:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:61:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}", - "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:90:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:492:17\",\"is_secret\":false}}" + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:119:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:5:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:61:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}", + "{\"build_params\":{\"arch\":\"X86_64\",\"profile\":\"Debug\"},\"openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:90:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:533:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_openhcl_igvm_from_recipe": [ "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"x86_64-unknown-linux-musl\"},\"profile\":\"Debug\",\"recipe\":\"X64\"}", @@ -2092,18 +2092,18 @@ "{\"built_openhcl_boot\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:34:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:63:69\",\"is_secret\":false},\"built_openhcl_igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"built_openvmm_hcl\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:33:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:62:67\",\"is_secret\":false},\"built_sidecar\":null,\"custom_target\":{\"Custom\":\"x86_64-unknown-linux-musl\"},\"profile\":\"Debug\",\"recipe\":\"X64TestLinuxDirectDevkern\"}" ], "flowey_lib_hvlite::build_openhcl_initrd": [ - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:103:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:105:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:101:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:132:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:134:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:130:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}", - "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:74:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:555:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:76:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:557:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:72:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:547:52\"},\"is_secret\":false}]}" + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:103:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:105:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:101:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:132:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:134:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:130:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:18:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:20:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:16:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:48:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:44:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}", + "{\"arch\":\"X86_64\",\"bin_openhcl\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:74:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:598:51\"},\"is_secret\":false},\"extra_env\":null,\"extra_params\":null,\"initrd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:76:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:600:17\",\"is_secret\":false},\"interactive\":true,\"kernel_package_root\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\"},\"is_secret\":false},\"rootfs_config\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:72:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:592:43\"},\"is_secret\":false}]}" ], "flowey_lib_hvlite::build_openvmm_hcl": [ - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:117:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:59:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}", - "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:88:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:445:35\",\"is_secret\":false}}" + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:117:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:31:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:3:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:59:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}", + "{\"build_params\":{\"features\":[\"Gdb\",\"Tpm\"],\"no_split_dbg_info\":true,\"profile\":\"Debug\",\"target\":{\"Custom\":\"x86_64-unknown-linux-musl\"}},\"openvmm_hcl_output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:88:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:486:35\",\"is_secret\":false}}" ], "flowey_lib_hvlite::build_pipette": [ "{\"pipette\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_pipette:0:flowey_lib_hvlite/src/_jobs/build_and_publish_pipette.rs:38:27\",\"is_secret\":false},\"profile\":\"Debug\",\"target\":{\"Common\":{\"arch\":\"X86_64\",\"platform\":\"LinuxMusl\"}}}" @@ -2116,21 +2116,21 @@ "{\"Version\":\"10.0.26100.1-240331-1435.ge-release\"}" ], "flowey_lib_hvlite::download_openhcl_kernel_package": [ - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Cvm\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", - "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:349:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Cvm\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:29:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:114:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Dev\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:57:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:1:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", + "{\"GetPackage\":{\"arch\":\"X86_64\",\"kind\":\"Main\",\"pkg\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:85:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:390:25\",\"is_secret\":false}}}", "{\"Version\":[\"Cvm\",\"6.6.51.7\"]}", "{\"Version\":[\"CvmDev\",\"6.6.51.6\"]}", "{\"Version\":[\"Dev\",\"6.6.51.6\"]}", "{\"Version\":[\"Main\",\"6.6.51.7\"]}" ], "flowey_lib_hvlite::download_openvmm_deps": [ - "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:116:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:392:30\",\"is_secret\":false}]}", - "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:87:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:392:30\",\"is_secret\":false}]}", - "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:115:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:379:52\",\"is_secret\":false}]}", - "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:86:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:379:52\",\"is_secret\":false}]}", + "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:116:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:433:30\",\"is_secret\":false}]}", + "{\"GetLinuxTestInitrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:87:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:433:30\",\"is_secret\":false}]}", + "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:115:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:420:52\",\"is_secret\":false}]}", + "{\"GetLinuxTestKernel\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:86:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:420:52\",\"is_secret\":false}]}", "{\"GetOpenhclCpioDbgrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:10:flowey_lib_hvlite/src/build_openhcl_initrd.rs:95:21\",\"is_secret\":false}]}", "{\"GetOpenhclCpioDbgrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:2:flowey_lib_hvlite/src/build_openhcl_initrd.rs:95:21\",\"is_secret\":false}]}", "{\"GetOpenhclCpioDbgrd\":[\"X86_64\",{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:4:flowey_lib_hvlite/src/build_openhcl_initrd.rs:95:21\",\"is_secret\":false}]}", @@ -2140,17 +2140,17 @@ "{\"Version\":\"0.1.0-20241014.2\"}" ], "flowey_lib_hvlite::download_uefi_mu_msvm": [ - "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", - "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", - "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:58:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:364:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:30:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", + "{\"GetMsvmFd\":{\"arch\":\"X86_64\",\"msvm_fd\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:58:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:405:21\",\"is_secret\":false}}}", "{\"Version\":\"24.0.2\"}" ], "flowey_lib_hvlite::git_checkout_openvmm_repo": [ - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:113:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:56:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", - "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:84:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:317:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:0:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:113:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:28:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:56:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", + "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:84:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:358:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_initrd:1:flowey_lib_hvlite/src/build_openhcl_initrd.rs:70:37\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::cfg_openvmm_magicpath:0:flowey_lib_hvlite/src/cfg_openvmm_magicpath.rs:27:29\",\"is_secret\":false}}", "{\"GetRepoDir\":{\"backing_var\":\"flowey_lib_hvlite::init_openvmm_cargo_config_deny_warnings:0:flowey_lib_hvlite/src/init_openvmm_cargo_config_deny_warnings.rs:51:37\",\"is_secret\":false}}", @@ -2168,7 +2168,7 @@ "{\"Done\":{\"backing_var\":\"flowey_lib_hvlite::install_openvmm_rust_build_essential:0:flowey_lib_hvlite/src/install_openvmm_rust_build_essential.rs:33:17\",\"is_secret\":false}}" ], "flowey_lib_hvlite::init_openvmm_magicpath_openhcl_sysroot": [ - "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\",\"is_secret\":false}}", + "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\",\"is_secret\":false}}", "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:20:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}", "{\"arch\":\"X64\",\"path\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:24:flowey_lib_hvlite/src/run_cargo_build.rs:351:25\",\"is_secret\":false}}" ], @@ -2181,22 +2181,22 @@ "flowey_lib_hvlite::run_cargo_build": [ "{\"crate_name\":\"igvmfilegen\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"igvmfilegen\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_igvmfilegen:0:flowey_lib_hvlite/src/build_igvmfilegen.rs:53:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Release\",\"target\":\"x86_64-unknown-linux-gnu\"}", "{\"crate_name\":\"openhcl_boot\",\"crate_type\":\"Bin\",\"extra_env\":{\"backing_var\":{\"Inline\":{\"MINIMAL_RT_BUILD\":\"1\"}},\"is_secret\":false},\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"openhcl_boot\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_boot:0:flowey_lib_hvlite/src/build_openhcl_boot.rs:82:30\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"BootDev\",\"target\":\"x86_64-unknown-none\"}", - "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"gdb\",\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:103:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:92:21\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"x86_64-unknown-linux-musl\"}", + "{\"crate_name\":\"openvmm_hcl\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[\"gdb\",\"tpm\"],\"no_split_dbg_info\":true,\"out_name\":\"openvmm_hcl\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_openvmm_hcl:1:flowey_lib_hvlite/src/build_openvmm_hcl.rs:104:30\",\"is_secret\":false},\"pre_build_deps\":[{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openvmm_hcl:0:flowey_lib_hvlite/src/build_openvmm_hcl.rs:93:21\"},\"is_secret\":false}],\"profile\":\"Debug\",\"target\":\"x86_64-unknown-linux-musl\"}", "{\"crate_name\":\"pipette\",\"crate_type\":\"Bin\",\"extra_env\":null,\"features\":[],\"no_split_dbg_info\":false,\"out_name\":\"pipette\",\"output\":{\"backing_var\":\"flowey_lib_hvlite::build_pipette:0:flowey_lib_hvlite/src/build_pipette.rs:40:26\",\"is_secret\":false},\"pre_build_deps\":[],\"profile\":\"Debug\",\"target\":\"x86_64-unknown-linux-musl\"}" ], "flowey_lib_hvlite::run_igvmfilegen": [ - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:109:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:111:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:108:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:138:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:140:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:137:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", - "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:80:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:606:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:82:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:613:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:79:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:109:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:111:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:108:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:138:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:140:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:137:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:2:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:24:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:26:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:23:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:46:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:52:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:54:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:51:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}", + "{\"igvm\":{\"backing_var\":\"flowey_lib_hvlite::_jobs::build_and_publish_openhcl_igvm_from_recipe:13:flowey_lib_hvlite/src/_jobs/build_and_publish_openhcl_igvm_from_recipe.rs:64:69\",\"is_secret\":false},\"igvmfilegen\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:80:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:649:39\"},\"is_secret\":false},\"manifest\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:82:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:656:35\"},\"is_secret\":false},\"resources\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:79:flowey_core/src/node.rs:896:34\"},\"is_secret\":false}}" ], "flowey_lib_hvlite::run_split_debug_info": [ - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:123:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:121:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:122:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:65:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:63:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:64:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:94:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:92:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:93:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", - "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:525:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:522:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:523:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:123:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:121:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:122:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:37:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:35:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:36:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:65:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:63:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:64:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:94:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:92:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:93:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", + "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:9:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:566:42\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:7:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:563:37\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::build_openhcl_igvm_from_recipe:8:flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs:564:45\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:15:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:17:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:18:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:27:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:29:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:30:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}", "{\"arch\":\"X86_64\",\"in_bin\":{\"backing_var\":{\"RuntimeVar\":\"flowey_lib_hvlite::run_cargo_build:4:flowey_lib_hvlite/src/run_cargo_build.rs:407:51\"},\"is_secret\":false},\"out_bin\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:6:flowey_lib_hvlite/src/run_cargo_build.rs:412:52\",\"is_secret\":false},\"out_dbg_info\":{\"backing_var\":\"flowey_lib_hvlite::run_cargo_build:7:flowey_lib_hvlite/src/run_cargo_build.rs:413:52\",\"is_secret\":false}}" diff --git a/Cargo.lock b/Cargo.lock index 9843c4273..980bc5fb1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6707,6 +6707,7 @@ dependencies = [ "vga_proxy", "video_core", "virt", + "virt_kvm", "virt_mshv_vtl", "vm_loader", "vm_manifest_builder", @@ -6790,9 +6791,11 @@ dependencies = [ "libc", "log", "nix 0.26.4", + "safe_intrinsics", "underhill_confidentiality", "vergen", "walkdir", + "x86defs", ] [[package]] @@ -6801,6 +6804,7 @@ version = "0.0.0" dependencies = [ "anyhow", "build_rs_guest_arch", + "fs-err", "futures", "guestmem", "hcl", diff --git a/flowey/flowey_hvlite/src/pipelines/build_igvm.rs b/flowey/flowey_hvlite/src/pipelines/build_igvm.rs index 48ec1d9ee..901f90733 100644 --- a/flowey/flowey_hvlite/src/pipelines/build_igvm.rs +++ b/flowey/flowey_hvlite/src/pipelines/build_igvm.rs @@ -30,6 +30,9 @@ pub enum OpenhclRecipeCli { X64, /// X64 OpenHCL, using the dev kernel in VTL2 X64Devkern, + /// X64 OpenHCL running in VTL0, using KVM and nested virtualization to run + /// the guest. Uses the dev kernel. + X64Nested, } /// Build OpenHCL IGVM files for local development. DO NOT USE IN CI. @@ -293,6 +296,7 @@ impl IntoPipeline for BuildIgvmCli { OpenhclRecipeCli::X64CvmDevkern => OpenhclIgvmRecipe::X64CvmDevkern, OpenhclRecipeCli::Aarch64 => OpenhclIgvmRecipe::Aarch64, OpenhclRecipeCli::Aarch64Devkern => OpenhclIgvmRecipe::Aarch64Devkern, + OpenhclRecipeCli::X64Nested => OpenhclIgvmRecipe::X64Nested, }, release, diff --git a/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs b/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs index 45fa1c620..882e28dd3 100644 --- a/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs +++ b/flowey/flowey_lib_hvlite/src/_jobs/local_build_igvm.rs @@ -7,6 +7,7 @@ use flowey::node::prelude::*; use crate::build_openhcl_boot::OpenhclBootOutput; use crate::build_openhcl_igvm_from_recipe::IgvmManifestPath; +use crate::build_openhcl_igvm_from_recipe::InitrdRootfsPath; use crate::build_openhcl_igvm_from_recipe::OpenhclIgvmRecipe; use crate::build_openhcl_igvm_from_recipe::OpenhclIgvmRecipeDetails; use crate::build_openhcl_igvm_from_recipe::OpenhclIgvmRecipeDetailsLocalOnly; @@ -115,6 +116,7 @@ impl SimpleFlowNode for Node { with_uefi, with_interactive, with_sidecar_details, + initrd_rootfs, } = &mut recipe_details; if custom_kernel.is_some() { @@ -149,12 +151,12 @@ impl SimpleFlowNode for Node { custom_uefi: custom_uefi.map(|p| p.absolute()).transpose()?, custom_kernel: custom_kernel.map(|p| p.absolute()).transpose()?, custom_sidecar: custom_sidecar.map(|p| p.absolute()).transpose()?, - custom_extra_rootfs: custom_extra_rootfs - .into_iter() - .map(|p| p.absolute()) - .collect::>()?, }); + for p in custom_extra_rootfs.iter() { + initrd_rootfs.push(InitrdRootfsPath::LocalOnlyCustom(p.absolute()?)); + } + if let Some(p) = override_manifest { *igvm_manifest = IgvmManifestPath::LocalOnlyCustom(p.absolute()?); } @@ -309,6 +311,7 @@ pub fn non_production_build_igvm_tool_out_name(recipe: &OpenhclIgvmRecipe) -> &' OpenhclIgvmRecipe::X64CvmDevkern => "x64-cvm-devkern", OpenhclIgvmRecipe::Aarch64 => "aarch64", OpenhclIgvmRecipe::Aarch64Devkern => "aarch64-devkern", + OpenhclIgvmRecipe::X64Nested => "x64-nested", OpenhclIgvmRecipe::LocalOnlyCustom(_) => unreachable!(), } } diff --git a/flowey/flowey_lib_hvlite/src/artifact_openhcl_igvm_from_recipe.rs b/flowey/flowey_lib_hvlite/src/artifact_openhcl_igvm_from_recipe.rs index e2dcb1b17..7c915400a 100644 --- a/flowey/flowey_lib_hvlite/src/artifact_openhcl_igvm_from_recipe.rs +++ b/flowey/flowey_lib_hvlite/src/artifact_openhcl_igvm_from_recipe.rs @@ -14,6 +14,7 @@ pub(crate) fn recipe_to_filename(flavor: &OpenhclIgvmRecipe) -> &str { OpenhclIgvmRecipe::X64TestLinuxDirectDevkern => "openhcl-direct-dev", OpenhclIgvmRecipe::X64Cvm => "openhcl-cvm", OpenhclIgvmRecipe::X64CvmDevkern => "openhcl-cvm-dev", + OpenhclIgvmRecipe::X64Nested => "openhcl-nested", OpenhclIgvmRecipe::Aarch64 => "openhcl-aarch64", OpenhclIgvmRecipe::Aarch64Devkern => "openhcl-aarch64-dev", OpenhclIgvmRecipe::LocalOnlyCustom(_) => unreachable!(), diff --git a/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs b/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs index 8b593f596..ecc2a5358 100644 --- a/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs +++ b/flowey/flowey_lib_hvlite/src/build_openhcl_igvm_from_recipe.rs @@ -54,11 +54,20 @@ pub enum IgvmManifestPath { LocalOnlyCustom(PathBuf), } +#[derive(Serialize, Deserialize, Clone, Debug)] +pub enum InitrdRootfsPath { + /// Name of an in-tree file (located under `openhcl`) + InTree(String), + /// An absolute path to a custom manifest (for local use only) + LocalOnlyCustom(PathBuf), +} + #[derive(Serialize, Deserialize, Clone, Debug)] pub struct OpenhclIgvmRecipeDetails { pub local_only: Option, pub igvm_manifest: IgvmManifestPath, + pub initrd_rootfs: Vec, pub openhcl_kernel_package: OpenhclKernelPackage, pub openvmm_hcl_features: BTreeSet, pub target: CommonTriple, @@ -77,7 +86,6 @@ pub struct OpenhclIgvmRecipeDetailsLocalOnly { pub custom_uefi: Option, pub custom_kernel: Option, pub custom_sidecar: Option, - pub custom_extra_rootfs: Vec, } #[derive(Debug, Serialize, Deserialize, Clone)] @@ -91,6 +99,7 @@ pub enum OpenhclIgvmRecipe { X64CvmDevkern, Aarch64, Aarch64Devkern, + X64Nested, } impl OpenhclIgvmRecipe { @@ -107,6 +116,8 @@ impl OpenhclIgvmRecipe { m }; + let base_initrd_rootfs = || vec![InitrdRootfsPath::InTree("rootfs.config".into())]; + let in_repo_template = |debug_manifest: &'static str, release_manifest: &'static str| { IgvmManifestPath::InTree(if matches!(profile, OpenvmmHclBuildProfile::Debug) { debug_manifest.into() @@ -122,6 +133,7 @@ impl OpenhclIgvmRecipe { Self::LocalOnlyCustom(details) => details.clone(), Self::X64 => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template("openhcl-x64-dev.json", "openhcl-x64-release.json"), openhcl_kernel_package: OpenhclKernelPackage::Main, openvmm_hcl_features: base_openvmm_hcl_features(), @@ -133,6 +145,7 @@ impl OpenhclIgvmRecipe { }, Self::X64Devkern => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template("openhcl-x64-dev.json", "openhcl-x64-release.json"), openhcl_kernel_package: OpenhclKernelPackage::Dev, openvmm_hcl_features: base_openvmm_hcl_features(), @@ -144,6 +157,7 @@ impl OpenhclIgvmRecipe { }, Self::X64CvmDevkern => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template( "openhcl-x64-cvm-dev.json", "openhcl-x64-cvm-release.json", @@ -158,6 +172,7 @@ impl OpenhclIgvmRecipe { }, Self::X64TestLinuxDirect => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template( "openhcl-x64-direct-dev.json", "openhcl-x64-direct-release.json", @@ -172,6 +187,7 @@ impl OpenhclIgvmRecipe { }, Self::X64TestLinuxDirectDevkern => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template( "openhcl-x64-direct-dev.json", "openhcl-x64-direct-release.json", @@ -186,6 +202,7 @@ impl OpenhclIgvmRecipe { }, Self::X64Cvm => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template( "openhcl-x64-cvm-dev.json", "openhcl-x64-cvm-release.json", @@ -198,8 +215,32 @@ impl OpenhclIgvmRecipe { with_interactive, with_sidecar_details: false, }, + Self::X64Nested => OpenhclIgvmRecipeDetails { + local_only: None, + initrd_rootfs: { + let mut v = base_initrd_rootfs(); + v.push(InitrdRootfsPath::InTree("rootfs.kvm.config".to_owned())); + v + }, + igvm_manifest: in_repo_template( + "openhcl-x64-nested.json", + "openhcl-x64-nested.json", + ), + openhcl_kernel_package: OpenhclKernelPackage::Dev, + openvmm_hcl_features: { + let mut features = base_openvmm_hcl_features(); + features.insert(OpenvmmHclFeature::VirtKvm); + features + }, + target: CommonTriple::X86_64_LINUX_MUSL, + vtl0_kernel_type: None, + with_uefi: true, + with_interactive, + with_sidecar_details: false, + }, Self::Aarch64 => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template( "openhcl-aarch64-dev.json", "openhcl-aarch64-release.json", @@ -214,6 +255,7 @@ impl OpenhclIgvmRecipe { }, Self::Aarch64Devkern => OpenhclIgvmRecipeDetails { local_only: None, + initrd_rootfs: base_initrd_rootfs(), igvm_manifest: in_repo_template( "openhcl-aarch64-dev.json", "openhcl-aarch64-release.json", @@ -280,6 +322,7 @@ impl SimpleFlowNode for Node { let OpenhclIgvmRecipeDetails { local_only, + initrd_rootfs, igvm_manifest, openhcl_kernel_package, openvmm_hcl_features, @@ -298,7 +341,6 @@ impl SimpleFlowNode for Node { custom_uefi, custom_kernel, custom_sidecar, - custom_extra_rootfs, } = local_only.unwrap_or(OpenhclIgvmRecipeDetailsLocalOnly { openvmm_hcl_no_strip: false, openhcl_initrd_extra_params: None, @@ -307,7 +349,6 @@ impl SimpleFlowNode for Node { custom_uefi: None, custom_kernel: None, custom_sidecar: None, - custom_extra_rootfs: Vec::new(), }); let target = custom_target.unwrap_or(target); @@ -544,14 +585,16 @@ impl SimpleFlowNode for Node { openvmm_hcl_bin.write_into(ctx, built_openvmm_hcl, |x| x); let initrd = { - let rootfs_config = [openvmm_repo_path.map(ctx, |p| p.join("openhcl/rootfs.config"))] + let rootfs_config = initrd_rootfs .into_iter() - .chain( - custom_extra_rootfs - .into_iter() - .map(|p| ReadVar::from_static(p)), - ) - .collect(); + .map(|p| match p { + InitrdRootfsPath::InTree(path) => { + openvmm_repo_path.map(ctx, |p| p.join("openhcl").join(path)) + } + InitrdRootfsPath::LocalOnlyCustom(p) => ReadVar::from_static(p), + }) + .collect::>(); + let openvmm_hcl_bin = openvmm_hcl_bin.map(ctx, |o| o.bin); ctx.reqv(|v| crate::build_openhcl_initrd::Request { diff --git a/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs b/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs index b0f20fdd5..2db18e3f9 100644 --- a/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs +++ b/flowey/flowey_lib_hvlite/src/build_openvmm_hcl.rs @@ -14,6 +14,7 @@ use std::collections::BTreeSet; pub enum OpenvmmHclFeature { Gdb, Tpm, + VirtKvm, LocalOnlyCustom(String), } @@ -119,6 +120,7 @@ impl FlowNode for Node { match f { OpenvmmHclFeature::Gdb => "gdb", OpenvmmHclFeature::Tpm => "tpm", + OpenvmmHclFeature::VirtKvm => "virt_kvm", OpenvmmHclFeature::LocalOnlyCustom(s) => s, } .into() diff --git a/openhcl/openvmm_hcl/Cargo.toml b/openhcl/openvmm_hcl/Cargo.toml index ba3060a1b..329a3b002 100644 --- a/openhcl/openvmm_hcl/Cargo.toml +++ b/openhcl/openvmm_hcl/Cargo.toml @@ -19,6 +19,9 @@ uidevices = ["openvmm_hcl_resources/uidevices", "openvmm_hcl_resources/vnc_worke # Enable NVMe emulation. nvme = ["openvmm_hcl_resources/nvme", "underhill_entry/vpci"] +# Enable KVM and nested virtualization support. +virt_kvm = ["underhill_entry/virt_kvm"] + [target.'cfg(target_os = "linux")'.dependencies] underhill_entry.workspace = true openvmm_hcl_resources.workspace = true diff --git a/openhcl/rootfs.config b/openhcl/rootfs.config index 972076452..04c027204 100644 --- a/openhcl/rootfs.config +++ b/openhcl/rootfs.config @@ -25,16 +25,17 @@ dir /lib/modules 0755 0 0 # Kernel modules are loaded in sort order; put them in directories appropriately # to ensure they are loaded in dependency order. -dir /lib/modules/000 0755 0 0 -dir /lib/modules/001 0755 0 0 -dir /lib/modules/999 0755 0 0 +dir /lib/modules/auto 0755 0 0 +dir /lib/modules/auto/000 0755 0 0 +dir /lib/modules/auto/001 0755 0 0 +dir /lib/modules/auto/999 0755 0 0 -file /lib/modules/000/pci-hyperv-intf.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv-intf.ko 0644 0 0 -file /lib/modules/001/pci-hyperv.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv.ko 0644 0 0 +file /lib/modules/auto/000/pci-hyperv-intf.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv-intf.ko 0644 0 0 +file /lib/modules/auto/001/pci-hyperv.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv.ko 0644 0 0 # Storvsc is last because it sometimes takes a long time to load and should not # block other device startup. -file /lib/modules/999/hv_storvsc.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/scsi/hv_storvsc.ko 0644 0 0 +file /lib/modules/auto/999/hv_storvsc.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/scsi/hv_storvsc.ko 0644 0 0 # These nodes are needed for early logging before devfs is mounted. nod /dev/null 0666 0 0 c 1 3 diff --git a/openhcl/rootfs.kvm.config b/openhcl/rootfs.kvm.config new file mode 100644 index 000000000..1a61adeb2 --- /dev/null +++ b/openhcl/rootfs.kvm.config @@ -0,0 +1,3 @@ +file /lib/modules/kvm.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/arch/x86/kvm/kvm.ko 0644 0 0 +file /lib/modules/kvm-amd.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/arch/x86/kvm/kvm-amd.ko 0644 0 0 +file /lib/modules/kvm-intel.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/arch/x86/kvm/kvm-intel.ko 0644 0 0 diff --git a/openhcl/underhill_core/Cargo.toml b/openhcl/underhill_core/Cargo.toml index caf6646fe..962e555b7 100644 --- a/openhcl/underhill_core/Cargo.toml +++ b/openhcl/underhill_core/Cargo.toml @@ -20,6 +20,11 @@ openssl-vendored = ["underhill_attestation/openssl-vendored"] # Enable VPCI device support vpci = [] +# Enable support for running the guest OS via nested virtualization with KVM. +# (Note that the virt_kvm crate is always a dependency just to avoid build +# breaks.) +virt_kvm = [] + [target.'cfg(target_os = "linux")'.dependencies] vmotherboard = { workspace = true, features = [ "encryption", @@ -92,6 +97,7 @@ underhill_threadpool.workspace = true bootloader_fdt_parser.workspace = true vga_proxy.workspace = true video_core.workspace = true +virt_kvm.workspace = true virt_mshv_vtl.workspace = true vm_manifest_builder.workspace = true vmbus_async.workspace = true diff --git a/openhcl/underhill_core/src/dispatch/mod.rs b/openhcl/underhill_core/src/dispatch/mod.rs index c9ac4357f..fefa33bdd 100644 --- a/openhcl/underhill_core/src/dispatch/mod.rs +++ b/openhcl/underhill_core/src/dispatch/mod.rs @@ -10,6 +10,7 @@ use self::vtl2_settings_worker::DeviceInterfaces; use crate::emuplat::netvsp::RuntimeSavedState; use crate::emuplat::EmuplatServicing; use crate::nvme_manager::NvmeManager; +use crate::partition::OpenhclPartition; use crate::reference_time::ReferenceTime; use crate::servicing; use crate::servicing::ServicingState; @@ -53,9 +54,9 @@ use std::time::Duration; use tracing::instrument; use tracing::Instrument; use uevent::UeventListener; +use underhill_mem::AccessGuestMemory; use underhill_threadpool::AffinitizedThreadpool; use virt::IsolationType; -use virt_mshv_vtl::UhPartition; use virt_mshv_vtl::VtlCrash; use vm_resource::ResourceResolver; use vm_topology::memory::MemoryRangeWithNode; @@ -105,7 +106,7 @@ pub trait LoadedVmNetworkSettings: Inspect { uevent_listener: &UeventListener, servicing_netvsp_state: &Option>, shared_vis_pages_pool: &Option, - partition: Arc, + partition: Arc, state_units: &StateUnits, vmbus_server: &Option, ) -> anyhow::Result; @@ -127,7 +128,7 @@ pub trait LoadedVmNetworkSettings: Inspect { pub(crate) struct LoadedVm { pub partition_unit: PartitionUnit, /// The various guest memory objects. - pub memory: underhill_mem::MemoryMappings, + pub memory: Box, pub firmware_type: FirmwareType, pub isolation: IsolationType, // contain task handles which must be kept live @@ -143,7 +144,7 @@ pub(crate) struct LoadedVm { /// Memory map with IGVM types for each range. pub vtl0_memory_map: Vec<(MemoryRangeWithNode, MemoryMapEntryType)>, - pub partition: Arc, + pub partition: Arc, pub state_units: StateUnits, pub last_state_unit_stop: Option, pub vmbus_server: Option, diff --git a/openhcl/underhill_core/src/emuplat/firmware.rs b/openhcl/underhill_core/src/emuplat/firmware.rs index 4145d16b2..e139f48ab 100644 --- a/openhcl/underhill_core/src/emuplat/firmware.rs +++ b/openhcl/underhill_core/src/emuplat/firmware.rs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +use crate::partition::OpenhclPartition; #[cfg(guest_arch = "x86_64")] use firmware_pcat::PcatEvent; #[cfg(guest_arch = "x86_64")] @@ -10,7 +11,6 @@ use firmware_uefi::platform::logger::UefiLogger; use guest_emulation_transport::api::EventLogId; use guest_emulation_transport::GuestEmulationTransportClient; use std::sync::Weak; -use virt_mshv_vtl::UhPartition; /// An Underhill specific logger used to log UEFI and PCAT events. #[derive(Debug)] @@ -54,7 +54,7 @@ impl PcatLogger for UnderhillLogger { #[derive(Debug)] pub struct UnderhillVsmConfig { - pub partition: Weak, + pub partition: Weak, } impl firmware_uefi::platform::nvram::VsmConfig for UnderhillVsmConfig { @@ -62,7 +62,7 @@ impl firmware_uefi::platform::nvram::VsmConfig for UnderhillVsmConfig { if let Some(partition) = self.partition.upgrade() { if let Err(err) = partition.revoke_guest_vsm() { tracing::warn!( - error = &err as &dyn std::error::Error, + error = err.as_ref() as &dyn std::error::Error, "failed to revoke guest vsm" ); } diff --git a/openhcl/underhill_core/src/emuplat/vga_proxy.rs b/openhcl/underhill_core/src/emuplat/vga_proxy.rs index d84b195fb..4ab2cac96 100644 --- a/openhcl/underhill_core/src/emuplat/vga_proxy.rs +++ b/openhcl/underhill_core/src/emuplat/vga_proxy.rs @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +use crate::partition::OpenhclPartition; use std::ops::RangeInclusive; use std::sync::Arc; -use virt_mshv_vtl::UhPartition; -pub struct UhRegisterHostIoFastPath(pub Arc); +pub struct UhRegisterHostIoFastPath(pub Arc); impl vga_proxy::RegisterHostIoPortFastPath for UhRegisterHostIoFastPath { fn register(&self, range: RangeInclusive) -> Box { diff --git a/openhcl/underhill_core/src/lib.rs b/openhcl/underhill_core/src/lib.rs index 5cb2e0129..a96c85ed2 100644 --- a/openhcl/underhill_core/src/lib.rs +++ b/openhcl/underhill_core/src/lib.rs @@ -16,6 +16,7 @@ mod inspect_proc; mod loader; mod nvme_manager; mod options; +mod partition; mod reference_time; mod servicing; mod threadpool_vm_task_backend; @@ -322,6 +323,7 @@ async fn launch_workers( halt_on_guest_halt: opt.halt_on_guest_halt, no_sidecar_hotplug: opt.no_sidecar_hotplug, gdbstub: opt.gdbstub, + kvm: opt.kvm, }; let (mut remote_console_cfg, framebuffer_access) = diff --git a/openhcl/underhill_core/src/options.rs b/openhcl/underhill_core/src/options.rs index 1f8675567..cb81c60b4 100644 --- a/openhcl/underhill_core/src/options.rs +++ b/openhcl/underhill_core/src/options.rs @@ -109,6 +109,10 @@ pub struct Options { /// (OPENHCL_NO_SIDECAR_HOTPLUG=1) Leave sidecar VPs remote even if they /// hit exits. pub no_sidecar_hotplug: bool, + + /// (OPENHCL_KVM=1) Use KVM and nested virtualization to run the guest OS + /// instead of using the mshv_vtl driver. + pub kvm: bool, } impl Options { @@ -176,6 +180,7 @@ impl Options { let no_sidecar_hotplug = parse_legacy_env_bool("OPENHCL_NO_SIDECAR_HOTPLUG"); let gdbstub = parse_legacy_env_bool("OPENHCL_GDBSTUB"); let gdbstub_port = parse_legacy_env_number("OPENHCL_GDBSTUB_PORT")?.map(|x| x as u32); + let kvm = parse_env_bool("OPENHCL_KVM"); let mut args = std::env::args().chain(extra_args); // Skip our own filename. @@ -228,6 +233,7 @@ impl Options { cvm_guest_vsm, halt_on_guest_halt, no_sidecar_hotplug, + kvm, }) } diff --git a/openhcl/underhill_core/src/partition.rs b/openhcl/underhill_core/src/partition.rs new file mode 100644 index 000000000..81d16c085 --- /dev/null +++ b/openhcl/underhill_core/src/partition.rs @@ -0,0 +1,285 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +//! Partition abstraction allowing different virtualization backends within +//! OpenHCL. +//! +//! This abstraction is similar to `HvlitePartition`, and should be merged with +//! it at some point. Right now, there are enough differences in requirements +//! that this is not practical. + +#![warn(missing_docs)] + +use core::ops::RangeInclusive; +use inspect::Inspect; +use inspect::InspectMut; +use std::sync::Arc; +use virt::Partition; +use vmcore::save_restore::SaveRestore; +use vmcore::save_restore::SavedStateNotSupported; + +/// The VM partition. +pub trait OpenhclPartition: Send + Sync + Inspect { + /// The current paravisor reference time. + /// + /// This is only here because we use an `Hcl` method to get it today. It + /// should be moved elsewhere in the future, since this isn't really a + /// partition concept. + fn reference_time(&self) -> u64; + + /// The current VTL0 guest OS ID. + fn vtl0_guest_os_id(&self) -> hvdef::hypercall::HvGuestOsId; + + /// Registers the range to be intercepted by the host directly, without the + /// exit flowing through the paravisor. + /// + /// This is best effort. Exits for this range may still flow through the paravisor. + fn register_host_io_port_fast_path(&self, range: RangeInclusive) -> Box; + + /// Revokes support for guest VSM (i.e., VTL1) after the guest has started + /// running. + fn revoke_guest_vsm(&self) -> anyhow::Result<()>; + + /// Requests an MSI be delivered to the guest interrupt controller. + fn request_msi(&self, vtl: hvdef::Vtl, request: virt::irqcon::MsiRequest); + + /// Returns the partition's capabilities. + fn caps(&self) -> &virt::PartitionCapabilities; + + /// Returns the trait object for accessing the synic. + fn into_synic(self: Arc) -> Arc; + + /// Gets a line set target to trigger local APIC LINTs. + /// + /// The line number is the VP index times 2, plus the LINT number (0 or 1). + #[cfg(guest_arch = "x86_64")] + fn into_lint_target( + self: Arc, + vtl: hvdef::Vtl, + ) -> Arc; + + /// Returns the interface for IO APIC routing. + #[cfg(guest_arch = "x86_64")] + fn ioapic_routing(&self) -> Arc; + + /// Returns the interface for VTL memory protection changes. + fn into_vtl_memory_protection( + self: Arc, + ) -> Arc; + + /// Sets the port to use for the PM timer assist. Reads of this port will be + /// implemented by the hypervisor, using the reference time scaled to the + /// appropriate frequency. + /// + /// This is best effort. Exits for reads of this port may still flow through + /// the paravisor. + fn set_pm_timer_assist(&self, port: Option) -> anyhow::Result<()>; + + /// Reads from an MMIO address by calling into the host. + /// + /// FUTURE: remove from the partition interface + fn host_mmio_read(&self, addr: u64, data: &mut [u8]); + + /// Writes to an MMIO address by calling into the host. + /// + /// FUTURE: remove from the partition interface + fn host_mmio_write(&self, addr: u64, data: &[u8]); + + /// Gets an interface for cancelling VPs. + fn into_request_yield(self: Arc) -> Arc; +} + +impl OpenhclPartition for virt_mshv_vtl::UhPartition { + fn reference_time(&self) -> u64 { + self.reference_time() + } + + fn vtl0_guest_os_id(&self) -> hvdef::hypercall::HvGuestOsId { + self.vtl0_guest_os_id() + } + + fn register_host_io_port_fast_path(&self, range: RangeInclusive) -> Box { + Box::new(self.register_host_io_port_fast_path(range)) + } + + fn revoke_guest_vsm(&self) -> anyhow::Result<()> { + self.revoke_guest_vsm()?; + Ok(()) + } + + fn request_msi(&self, vtl: hvdef::Vtl, request: virt::irqcon::MsiRequest) { + Partition::request_msi(self, vtl, request) + } + + fn caps(&self) -> &virt::PartitionCapabilities { + Partition::caps(self) + } + + fn into_synic(self: Arc) -> Arc { + self + } + + fn into_lint_target( + self: Arc, + vtl: hvdef::Vtl, + ) -> Arc { + Arc::new(virt::irqcon::ApicLintLineTarget::new(self, vtl)) + } + + fn ioapic_routing(&self) -> Arc { + virt::X86Partition::ioapic_routing(self) + } + + fn into_vtl_memory_protection( + self: Arc, + ) -> Arc { + self + } + + fn set_pm_timer_assist(&self, port: Option) -> anyhow::Result<()> { + self.set_pm_timer_assist(port)?; + Ok(()) + } + + fn host_mmio_read(&self, addr: u64, data: &mut [u8]) { + self.host_mmio_read(addr, data); + } + + fn host_mmio_write(&self, addr: u64, data: &[u8]) { + self.host_mmio_write(addr, data); + } + + fn into_request_yield(self: Arc) -> Arc { + self + } +} + +impl OpenhclPartition for virt_kvm::KvmPartition { + fn reference_time(&self) -> u64 { + // TODO. This is just used for logging, so it's not critical. + 0 + } + + fn vtl0_guest_os_id(&self) -> hvdef::hypercall::HvGuestOsId { + hvdef::hypercall::HvGuestOsId::new() + } + + fn register_host_io_port_fast_path(&self, _range: RangeInclusive) -> Box { + Box::new(()) + } + + fn revoke_guest_vsm(&self) -> anyhow::Result<()> { + Ok(()) + } + + fn request_msi(&self, vtl: hvdef::Vtl, request: virt::irqcon::MsiRequest) { + Partition::request_msi(self, vtl, request) + } + + fn caps(&self) -> &virt::PartitionCapabilities { + Partition::caps(self) + } + + fn into_synic(self: Arc) -> Arc { + self + } + + fn into_lint_target( + self: Arc, + vtl: hvdef::Vtl, + ) -> Arc { + Arc::new(virt::irqcon::ApicLintLineTarget::new(self, vtl)) + } + + fn ioapic_routing(&self) -> Arc { + virt::X86Partition::ioapic_routing(self) + } + + fn into_vtl_memory_protection( + self: Arc, + ) -> Arc { + Arc::new(IgnoreProtectionChanges) + } + + fn set_pm_timer_assist(&self, _port: Option) -> anyhow::Result<()> { + Ok(()) + } + + fn host_mmio_read(&self, _addr: u64, _data: &mut [u8]) { + unimplemented!() + } + + fn host_mmio_write(&self, _addr: u64, _data: &[u8]) { + unimplemented!() + } + + fn into_request_yield(self: Arc) -> Arc { + self + } +} + +struct IgnoreProtectionChanges; + +impl virt::VtlMemoryProtection for IgnoreProtectionChanges { + fn modify_vtl_page_setting( + &self, + _pfn: u64, + _flags: hvdef::HvMapGpaFlags, + ) -> anyhow::Result<()> { + Ok(()) + } +} + +/// A wrapper around a `virt::Processor` that does not support save/restore. +#[derive(InspectMut)] +#[inspect(transparent, bound = "T: InspectMut")] +pub struct NoSaveVp(#[inspect(mut)] pub T); + +impl virt::Processor for NoSaveVp { + type Error = T::Error; + type RunVpError = T::RunVpError; + + type StateAccess<'a> = T::StateAccess<'a> + where + Self: 'a + ; + + fn set_debug_state( + &mut self, + vtl: hvdef::Vtl, + state: Option<&virt::x86::DebugState>, + ) -> Result<(), Self::Error> { + self.0.set_debug_state(vtl, state) + } + + async fn run_vp( + &mut self, + stop: virt::StopVp<'_>, + dev: &impl virt::io::CpuIo, + ) -> Result> { + self.0.run_vp(stop, dev).await + } + + fn flush_async_requests(&mut self) -> Result<(), Self::RunVpError> { + self.0.flush_async_requests() + } + + fn access_state(&mut self, vtl: hvdef::Vtl) -> Self::StateAccess<'_> { + self.0.access_state(vtl) + } +} + +impl SaveRestore for NoSaveVp { + type SavedState = SavedStateNotSupported; + + fn save(&mut self) -> Result { + Err(vmcore::save_restore::SaveError::NotSupported) + } + + fn restore( + &mut self, + state: Self::SavedState, + ) -> Result<(), vmcore::save_restore::RestoreError> { + match state {} + } +} diff --git a/openhcl/underhill_core/src/worker.rs b/openhcl/underhill_core/src/worker.rs index 0b089d182..95d3cb855 100644 --- a/openhcl/underhill_core/src/worker.rs +++ b/openhcl/underhill_core/src/worker.rs @@ -41,6 +41,7 @@ use crate::loader::LoadKind; use crate::nvme_manager::NvmeDiskConfig; use crate::nvme_manager::NvmeDiskResolver; use crate::nvme_manager::NvmeManager; +use crate::partition::OpenhclPartition; use crate::reference_time::ReferenceTime; use crate::servicing; use crate::servicing::transposed::OptionServicingInitState; @@ -112,15 +113,13 @@ use tpm_resources::TpmRegisterLayout; use tracing::instrument; use tracing::Instrument; use uevent::UeventListener; +use underhill_mem::AccessGuestMemory; use underhill_threadpool::AffinitizedThreadpool; use underhill_threadpool::ThreadpoolBuilder; use user_driver::lockmem::LockedMemorySpawner; use user_driver::vfio::VfioDmaBuffer; use virt::state::HvRegisterState; -use virt::Partition; use virt::VpIndex; -use virt::X86Partition; -use virt_mshv_vtl::UhPartition; use virt_mshv_vtl::UhPartitionNewParams; use virt_mshv_vtl::UhProtoPartition; use vm_loader::initial_regs::initial_regs; @@ -292,6 +291,8 @@ pub struct UnderhillEnvCfg { pub no_sidecar_hotplug: bool, /// Enables the GDB stub for debugging the guest. pub gdbstub: bool, + /// Use KVM instead of mshv_vtl. + pub kvm: bool, } /// Bundle of config + runtime objects for hooking into the underhill remote @@ -719,7 +720,7 @@ impl UhVmNetworkSettings { uevent_listener: &UeventListener, servicing_netvsp_state: &Option>, shared_vis_pages_pool: &Option, - partition: Arc, + partition: Arc, state_units: &StateUnits, tp: &AffinitizedThreadpool, vmbus_server: &Option, @@ -849,7 +850,7 @@ impl LoadedVmNetworkSettings for UhVmNetworkSettings { uevent_listener: &UeventListener, servicing_netvsp_state: &Option>, shared_vis_pages_pool: &Option, - partition: Arc, + partition: Arc, state_units: &StateUnits, vmbus_server: &Option, ) -> anyhow::Result { @@ -1312,7 +1313,7 @@ async fn new_underhill_vm( ) .context("failed to construct the processor topology")?; - let mut with_vmbus: bool = false; + let mut with_vmbus: bool = env_cfg.kvm; let mut with_vmbus_relay = false; if dps.general.vmbus_redirection_enabled { with_vmbus = true; @@ -1404,43 +1405,56 @@ async fn new_underhill_vm( // Construct the underhill partition instance. This contains much of the configuration of the guest deposited by // the host, along with additional device configuration and transports. - let params = UhPartitionNewParams { - lower_vtl_memory_layout: &mem_layout, - isolation, - topology: &processor_topology, - cvm_cpuid_info: runtime_params.cvm_cpuid_info(), - snp_secrets: runtime_params.snp_secrets(), - env_cvm_guest_vsm: env_cfg.cvm_guest_vsm, - vtom, - handle_synic: with_vmbus, - no_sidecar_hotplug: env_cfg.no_sidecar_hotplug, - use_mmio_hypercalls, - intercept_debug_exceptions: env_cfg.gdbstub, - }; + let proto_partition = if env_cfg.kvm { + None + } else { + let params = UhPartitionNewParams { + lower_vtl_memory_layout: &mem_layout, + isolation, + topology: &processor_topology, + cvm_cpuid_info: runtime_params.cvm_cpuid_info(), + snp_secrets: runtime_params.snp_secrets(), + env_cvm_guest_vsm: env_cfg.cvm_guest_vsm, + vtom, + handle_synic: with_vmbus, + no_sidecar_hotplug: env_cfg.no_sidecar_hotplug, + use_mmio_hypercalls, + intercept_debug_exceptions: env_cfg.gdbstub, + }; - let proto_partition = UhProtoPartition::new(params, |cpu| tp.driver(cpu).clone()) - .context("failed to create prototype partition")?; + let proto_partition = UhProtoPartition::new(params, |cpu| tp.driver(cpu).clone()) + .context("failed to create prototype partition")?; + Some(proto_partition) + }; - let gm = underhill_mem::init(&underhill_mem::Init { - tp, - processor_topology: &processor_topology, - isolation, - vtl0_alias_map_bit, - vtom, - mem_layout: &mem_layout, - complete_memory_layout: &complete_memory_layout, - boot_init, - shared_pool: &shared_pool, - maximum_vtl: if proto_partition.guest_vsm_available() { - Vtl::Vtl1 - } else { - Vtl::Vtl0 - }, - vtl2_memory: runtime_params.vtl2_memory_map(), - accepted_regions: measured_vtl2_info.accepted_regions(), - }) - .await - .context("failed to initialize memory")?; + let mut gm: Box = if let Some(proto_partition) = &proto_partition { + Box::new( + underhill_mem::init(&underhill_mem::Init { + tp, + processor_topology: &processor_topology, + isolation, + vtl0_alias_map_bit, + vtom, + mem_layout: &mem_layout, + complete_memory_layout: &complete_memory_layout, + boot_init, + shared_pool: &shared_pool, + maximum_vtl: if proto_partition.guest_vsm_available() { + Vtl::Vtl1 + } else { + Vtl::Vtl0 + }, + vtl2_memory: runtime_params.vtl2_memory_map(), + accepted_regions: measured_vtl2_info.accepted_regions(), + }) + .await + .context("failed to initialize memory")?, + ) + } else { + // KVM configurations do not yet support the driver for full + // underhill_mem support, so fall back to /dev/mem. + Box::new(underhill_mem::DevMemMemory::new(&mem_layout)?) + }; let shared_vis_pages_pool = if shared_pool_size != 0 { Some( @@ -1611,7 +1625,7 @@ async fn new_underhill_vm( // Only advertise extended IOAPIC on non-PCAT systems. #[cfg(guest_arch = "x86_64")] - let cpuid = { + let mut cpuid = { let extended_ioapic_rte = !matches!(firmware_type, FirmwareType::Pcat); vmm_core::cpuid::hyperv_cpuid_leaves(extended_ioapic_rte).collect::>() }; @@ -1637,29 +1651,142 @@ async fn new_underhill_vm( }) .unwrap(); - let late_params = virt_mshv_vtl::UhLateParams { - gm: [ - gm.vtl0().clone(), - gm.vtl1().cloned().unwrap_or(GuestMemory::empty()), - ] - .into(), - untrusted_dma_memory: gm.untrusted_dma_memory().clone(), + let (partition, spawn_vps): ( + Arc, + Box< + dyn FnOnce( + _, + _, + ) + -> std::pin::Pin>>>, + >, + ) = if let Some(proto_partition) = proto_partition { + let late_params = virt_mshv_vtl::UhLateParams { + gm: [ + gm.vtl0().clone(), + gm.vtl1().cloned().unwrap_or(GuestMemory::empty()), + ] + .into(), + untrusted_dma_memory: gm.untrusted_dma_memory().clone(), + #[cfg(guest_arch = "x86_64")] + cpuid, + crash_notification_send, + emulate_apic, + vmtime: &vmtime_source, + isolated_memory_protector: gm.isolated_memory_protector()?, + shared_vis_pages_pool: shared_vis_pages_pool.as_ref().map(|p| p.allocator()), + }; + + let (partition, vps) = proto_partition + .build(late_params) + .instrument(tracing::info_span!("new_uh_partition")) + .await + .context("failed to create partition")?; + + let spawn_vps = Box::new(move |vp_runners, chipset| { + Box::pin(crate::vp::spawn_vps( + tp, vps, vp_runners, chipset, isolation, + )) as _ + }); + + (Arc::new(partition) as _, spawn_vps) + } else { + if !cfg!(feature = "virt_kvm") { + anyhow::bail!("not compiled with support for KVM"); + } + + let mut kvm = virt_kvm::Kvm; + let proto = virt::Hypervisor::new_partition( + &mut kvm, + virt::ProtoPartitionConfig { + processor_topology: &processor_topology, + hv_config: Some(virt::HvConfig { + offload_enlightenments: true, + allow_device_assignment: false, + vtl2: None, + }), + vmtime: &vmtime_source, + user_mode_apic: false, + isolation, + }, + ) + .context("failed to create proto partition")?; + + // Add in topology CPUID leaves. #[cfg(guest_arch = "x86_64")] - cpuid, - crash_notification_send, - emulate_apic, - vmtime: &vmtime_source, - isolated_memory_protector: gm.isolated_memory_protector()?, - shared_vis_pages_pool: shared_vis_pages_pool.as_ref().map(|p| p.allocator()), - }; + vmm_core::cpuid::topology::topology_cpuid( + &processor_topology, + &|eax, ecx| virt::ProtoPartition::cpuid(&proto, eax, ecx), + &mut cpuid, + ) + .context("failed to compute topology cpuid")?; - let (partition, vps) = proto_partition - .build(late_params) - .instrument(tracing::info_span!("new_uh_partition")) - .await + let (partition, vps) = virt::ProtoPartition::build( + proto, + virt::PartitionConfig { + mem_layout: &mem_layout, + guest_memory: gm.vtl0(), + cpuid: &cpuid, + }, + ) .context("failed to create partition")?; - let partition = Arc::new(partition); + let partition = Arc::new(partition); + + gm.map_partition(partition.as_ref()) + .context("failed to map partition")?; + + // virt_kvm is not currently compatible with using the thread pool, so + // spawn a thread for each VP. + let p = partition.clone(); + let spawn_vps = Box::new( + move |vp_runners: Vec, + chipset: &vmm_core::vmotherboard_adapter::ChipsetPlusSynic| { + let chipset = chipset.clone(); + Box::pin(async move { + futures::future::try_join_all(vps.into_iter().zip(vp_runners).enumerate().map( + |(vp_index, (mut vp, mut runner))| { + let partition = p.clone().into_request_yield(); + let chipset = chipset.clone(); + let (send, recv) = mesh::oneshot(); + std::thread::Builder::new() + .name(format!("vp-{}", vp_index)) + .spawn(move || match virt::BindProcessor::bind(&mut vp) { + Ok(vp) => { + send.send(Ok(())); + vmm_core::partition_unit::block_on_vp( + partition, + VpIndex::new(vp_index as u32), + async { + let mut vp = crate::partition::NoSaveVp(vp); + while let Err(_) = + runner.run(&mut vp, &chipset).await + { + } + }, + ) + } + Err(err) => { + send.send(Err(err)); + } + }) + .unwrap(); + + async move { + recv.await + .unwrap() + .with_context(|| format!("failed to bind vp {vp_index}")) + } + }, + )) + .await + .map(drop) + }) as _ + }, + ); + + (partition, spawn_vps) + }; // By default, scale the max QD by the number of VPs to save memory // on smaller VMs, up to a QD of 256. @@ -1719,7 +1846,9 @@ async fn new_underhill_vm( // ARM64 always bounces, as the OpenHCL kernel does not // have access to VTL0 pages. Necessary until #273 is resolved. - let always_bounce = cfg!(guest_arch = "aarch64"); + // + // KVM always bounces because its memory is not registered with the kernel. + let always_bounce = cfg!(guest_arch = "aarch64") || env_cfg.kvm; resolver.add_async_resolver::( BlockDeviceResolver::new( Arc::new(tp.clone()), @@ -2086,7 +2215,7 @@ async fn new_underhill_vm( let emuplat_adjust_gpa_range; - let synic = Arc::new(SynicPorts::new(partition.clone())); + let synic = Arc::new(SynicPorts::new(partition.clone().into_synic())); let mut chipset = vm_manifest_builder::VmManifestBuilder::new( match firmware_type { @@ -2462,10 +2591,7 @@ async fn new_underhill_vm( 0..=1, 0, "bsp", - Arc::new(virt::irqcon::ApicLintLineTarget::new( - partition.clone(), - Vtl::Vtl0, - )), + partition.clone().into_lint_target(Vtl::Vtl0), ); // Add the GIC. @@ -2628,7 +2754,7 @@ async fn new_underhill_vm( nics: Vec::new(), vf_managers: HashMap::new(), get_client: get_client.clone(), - vp_count: vps.len(), + vp_count: processor_topology.vp_count() as usize, }; let mut netvsp_state = Vec::with_capacity(controllers.mana.len()); if !controllers.mana.is_empty() { @@ -2707,7 +2833,7 @@ async fn new_underhill_vm( let shutdown_guest = SimpleVmbusClientDeviceWrapper::new( driver_source.simple(), - partition.clone(), + partition.clone().into_vtl_memory_protection(), shutdown_guest, )?; vmbus_intercept_devices @@ -2774,7 +2900,7 @@ async fn new_underhill_vm( .context("failed to create partition unit")?; // Start the VP tasks on the thread pool. - crate::vp::spawn_vps(tp, vps, vp_runners, &chipset, isolation) + spawn_vps(vp_runners, &chipset) .await .context("failed to spawn vps")?; @@ -2786,7 +2912,7 @@ async fn new_underhill_vm( &processor_topology, &vtl0_memory_map, &mut partition_unit, - &partition, + partition.as_ref(), env_cfg.cmdline_append.as_deref(), vtl0_info, &runtime_params, @@ -3071,7 +3197,7 @@ async fn load_firmware( processor_topology: &ProcessorTopology, vtl0_memory_map: &[(MemoryRangeWithNode, MemoryMapEntryType)], partition_unit: &mut PartitionUnit, - partition: &UhPartition, + partition: &dyn OpenhclPartition, cmdline_append: Option<&str>, vtl0_info: MeasuredVtl0Info, runtime_params: &RuntimeParameters, @@ -3130,7 +3256,7 @@ async fn load_firmware( } pub struct UnderhillPmTimerAssist { - pub partition: std::sync::Weak, + pub partition: std::sync::Weak, } impl chipset::pm::PmTimerAssist for UnderhillPmTimerAssist { @@ -3138,7 +3264,7 @@ impl chipset::pm::PmTimerAssist for UnderhillPmTimerAssist { if let Some(partition) = self.partition.upgrade() { if let Err(err) = partition.set_pm_timer_assist(port) { tracing::warn!( - error = &err as &dyn std::error::Error, + error = err.as_ref() as &dyn std::error::Error, ?port, "failed to set PM timer assist" ); @@ -3151,7 +3277,7 @@ impl chipset::pm::PmTimerAssist for UnderhillPmTimerAssist { // forwarding them to the host. It needs to implement the ChipsetDevice and // MmioIntercept traits. struct FallbackMmioDevice { - partition: std::sync::Weak, + partition: std::sync::Weak, mmio_ranges: Vec, } diff --git a/openhcl/underhill_core/src/wrapped_partition.rs b/openhcl/underhill_core/src/wrapped_partition.rs index f3cf01f91..90984ef2f 100644 --- a/openhcl/underhill_core/src/wrapped_partition.rs +++ b/openhcl/underhill_core/src/wrapped_partition.rs @@ -1,13 +1,13 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +use crate::partition::OpenhclPartition; use async_trait::async_trait; use hvdef::Vtl; use inspect::InspectMut; use memory_range::MemoryRange; use std::sync::Arc; use virt::PageVisibility; -use virt_mshv_vtl::UhPartition; use vmcore::save_restore::NoSavedState; use vmcore::save_restore::RestoreError; use vmcore::save_restore::SaveError; @@ -17,7 +17,7 @@ use vmm_core::partition_unit::VmPartition; /// Wraps `Arc` and implements [`VmPartition`]. #[derive(InspectMut)] #[inspect(transparent)] -pub struct WrappedPartition(pub Arc); +pub struct WrappedPartition(pub Arc); #[async_trait] impl VmPartition for WrappedPartition { diff --git a/openhcl/underhill_entry/Cargo.toml b/openhcl/underhill_entry/Cargo.toml index 8e815aeee..2dc700e02 100644 --- a/openhcl/underhill_entry/Cargo.toml +++ b/openhcl/underhill_entry/Cargo.toml @@ -16,6 +16,9 @@ profiler = ["underhill_core/profiler"] # Enable vpci support. vpci = ["underhill_core/vpci"] +# Enable KVM and nested virtualization support. +virt_kvm = ["underhill_core/virt_kvm"] + [target.'cfg(target_os = "linux")'.dependencies] underhill_core.workspace = true underhill_init.workspace = true diff --git a/openhcl/underhill_init/Cargo.toml b/openhcl/underhill_init/Cargo.toml index 71cc26970..8602af245 100644 --- a/openhcl/underhill_init/Cargo.toml +++ b/openhcl/underhill_init/Cargo.toml @@ -18,6 +18,10 @@ log = { workspace = true, features = ["std"] } nix = { workspace = true, features = ["ioctl"] } walkdir.workspace = true +[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))'.dependencies] +safe_intrinsics.workspace = true +x86defs.workspace = true + [build-dependencies] vergen = { workspace = true, features = ["git", "gitcl"] } diff --git a/openhcl/underhill_init/src/lib.rs b/openhcl/underhill_init/src/lib.rs index ab020b082..2866aeef6 100644 --- a/openhcl/underhill_init/src/lib.rs +++ b/openhcl/underhill_init/src/lib.rs @@ -344,7 +344,7 @@ fn init_logging() { } } -fn load_modules(modules_path: &str) -> anyhow::Result<()> { +fn parse_module_options() -> anyhow::Result> { // Get the kernel command line. let cmdline = fs_err::read_to_string("/proc/cmdline")?; let mut params = HashMap::new(); @@ -357,60 +357,92 @@ fn load_modules(modules_path: &str) -> anyhow::Result<()> { } } } + Ok(params) +} +fn load_modules( + all_params: &mut HashMap, + modules_path: &str, +) -> anyhow::Result<()> { // Load the modules. for module in WalkDir::new(modules_path).sort_by_file_name() { let module = module?; if !module.file_type().is_file() { continue; } + load_module(all_params, module.path())?; + } - let module = module.path(); - let module_name = module - .file_stem() - .unwrap() - .to_str() - .unwrap() - .replace('-', "_"); + // Once the kernel modules are loaded into memory, the module files are not needed anymore. + // By deleting them after, we can save some memory. + fs_err::remove_dir_all(modules_path)?; + Ok(()) +} - let params = params.get_mut(&module_name); +fn load_module(all_params: &mut HashMap, module: &Path) -> anyhow::Result<()> { + let module_name = module + .file_stem() + .unwrap() + .to_str() + .unwrap() + .replace('-', "_"); - log::info!( - "loading kernel module {}: {}", - module.display(), - params.as_ref().map_or("", |s| s.as_str()) - ); - let file = fs_err::File::open(module).context("failed to open module")?; + let mut params = all_params.remove(&module_name); - let params = if let Some(params) = params { - // Null terminate - params.pop(); - params.push('\0'); - params.as_bytes() - } else { - b"\0" - }; + log::info!( + "loading kernel module {}: {}", + module.display(), + params.as_ref().map_or("", |s| s.as_str()) + ); + let file = fs_err::File::open(module).context("failed to open module")?; - // SAFETY: calling the syscall as documented. Of course, the module - // being loaded has full kernel privileges, but the contents of the file - // system are trusted. - let r = - unsafe { libc::syscall(libc::SYS_finit_module, file.as_raw_fd(), params.as_ptr(), 0) }; - if r < 0 { - return Err(io::Error::last_os_error()) - .with_context(|| format!("failed to load module {}", module.display())); - } + let params = if let Some(params) = &mut params { + // Null terminate + params.pop(); + params.push('\0'); + params.as_bytes() + } else { + b"\0" + }; - log::info!("load complete for {}", module.display()); + // SAFETY: calling the syscall as documented. Of course, the module + // being loaded has full kernel privileges, but the contents of the file + // system are trusted. + let r = unsafe { libc::syscall(libc::SYS_finit_module, file.as_raw_fd(), params.as_ptr(), 0) }; + if r < 0 { + return Err(io::Error::last_os_error()) + .with_context(|| format!("failed to load module {}", module.display())); } - // Once the kernel modules are loaded into memory, the module files are not needed anymore. - // By deleting them after, we can save some memory. - fs_err::remove_dir_all(modules_path)?; + log::info!("load complete for {}", module.display()); Ok(()) } +fn load_kvm(all_params: &mut HashMap) -> anyhow::Result<()> { + load_module(all_params, "/lib/modules/kvm.ko".as_ref())?; + #[cfg(target_arch = "x86_64")] + { + let vendor_name = { + let result = + safe_intrinsics::cpuid(x86defs::cpuid::CpuidFunction::VendorAndMaxFunction.0, 0); + let vendor = + x86defs::cpuid::Vendor::from_ebx_ecx_edx(result.ebx, result.ecx, result.edx); + if vendor.is_intel_compatible() { + Some("intel") + } else if vendor.is_amd_compatible() { + Some("amd") + } else { + None + } + }; + if let Some(name) = vendor_name { + load_module(all_params, format!("/lib/modules/kvm-{name}.ko").as_ref())?; + } + } + Ok(()) +} + fn timestamp() -> u64 { let mut tp; // SAFETY: calling `clock_gettime` as documented. @@ -567,9 +599,17 @@ fn do_main() -> anyhow::Result<()> { log::info!("registered vfio-pci as driver for nvme"); } - // Start loading modules in parallel. - std::thread::spawn(|| { - if let Err(err) = load_modules("/lib/modules") { + let mut all_params = parse_module_options()?; + + // If requested, load KVM, choosing the right module based on the + // environment. + if std::env::var_os("OPENHCL_KVM").is_some() { + load_kvm(&mut all_params).context("failed to load kvm modules")?; + } + + // Start loading modules in parallel with the main process. + std::thread::spawn(move || { + if let Err(err) = load_modules(&mut all_params, "/lib/modules/auto") { panic!("failed to load modules: {:#}", err); } }); diff --git a/openhcl/underhill_mem/Cargo.toml b/openhcl/underhill_mem/Cargo.toml index bf5b115ba..3602db5a7 100644 --- a/openhcl/underhill_mem/Cargo.toml +++ b/openhcl/underhill_mem/Cargo.toml @@ -24,6 +24,7 @@ pal_async.workspace = true sparse_mmap.workspace = true anyhow.workspace = true +fs-err.workspace = true futures.workspace = true parking_lot.workspace = true thiserror.workspace = true diff --git a/openhcl/underhill_mem/src/devmem.rs b/openhcl/underhill_mem/src/devmem.rs new file mode 100644 index 000000000..554c2341a --- /dev/null +++ b/openhcl/underhill_mem/src/devmem.rs @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +// UNSAFETY: required for mapping memory to a partition. +#![allow(unsafe_code)] + +use crate::AccessGuestMemory; +use anyhow::Context; +use guestmem::GuestMemory; +use inspect::Inspect; +use std::sync::Arc; +use std::sync::Weak; +use vm_topology::memory::MemoryLayout; + +/// Guest OS memory accessed via /dev/mem. +/// +/// This is less efficient than using [`MemoryMappings`](crate::MemoryMappings), +/// but it works without extra driver support. +#[derive(Inspect)] +pub struct DevMemMemory { + #[inspect(skip)] + mapping: Arc, + mem: GuestMemory, + layout: MemoryLayout, + #[inspect(skip)] + partition: Option>, +} + +impl DevMemMemory { + /// Opens and maps ranges from /dev/mem. + pub fn new(layout: &MemoryLayout) -> anyhow::Result { + let mmap = sparse_mmap::SparseMapping::new(layout.end_of_ram() as usize) + .context("failed to allocate VA space")?; + let ram = fs_err::OpenOptions::new() + .read(true) + .write(true) + .open("/dev/mem")?; + for range in layout.ram() { + let range = range.range; + mmap.map_file( + range.start() as usize, + range.len() as usize, + ram.file(), + range.start(), + true, + ) + .with_context(|| format!("failed to map range {range}"))?; + } + let mmap = Arc::new(mmap); + Ok(Self { + mapping: mmap.clone(), + mem: GuestMemory::new("guest", mmap), + layout: layout.clone(), + partition: None, + }) + } +} + +impl AccessGuestMemory for DevMemMemory { + fn vtl0(&self) -> &GuestMemory { + &self.mem + } + + fn vtl1(&self) -> Option<&GuestMemory> { + None + } + + fn untrusted_dma_memory(&self) -> &GuestMemory { + &self.mem + } + + fn private_vtl0_memory(&self) -> Option<&GuestMemory> { + None + } + + fn isolated_memory_protector( + &self, + ) -> anyhow::Result>> { + Ok(None) + } + + fn map_partition(&mut self, partition: &dyn virt::PartitionMemoryMapper) -> anyhow::Result<()> { + let map = partition.memory_mapper(hvdef::Vtl::Vtl0); + for range in self.layout.ram() { + let range = range.range; + // SAFETY: the VA range is valid until `drop`, which unmaps the + // memory from the partition. + unsafe { + map.map_range( + (self.mapping.as_ptr() as *mut u8).add(range.start() as usize), + range.len() as usize, + range.start(), + true, + true, + ) + .with_context(|| format!("failed to map range {range}"))?; + } + } + self.partition = Some(Arc::downgrade(&map)); + Ok(()) + } +} + +impl Drop for DevMemMemory { + fn drop(&mut self) { + let Some(partition) = self.partition.take().and_then(|p| p.upgrade()) else { + return; + }; + for range in self.layout.ram() { + let range = range.range; + partition.unmap_range(range.start(), range.len()).unwrap(); + } + } +} diff --git a/openhcl/underhill_mem/src/init.rs b/openhcl/underhill_mem/src/init.rs index 2d5dbbc11..2ceabe8f4 100644 --- a/openhcl/underhill_mem/src/init.rs +++ b/openhcl/underhill_mem/src/init.rs @@ -6,6 +6,7 @@ use crate::mapping::GuestMemoryMapping; use crate::mapping::HardwareIsolatedMemoryProtector; use crate::mapping::MemoryAcceptor; +use crate::AccessGuestMemory; use anyhow::Context; use futures::future::try_join_all; use guestmem::GuestMemory; @@ -48,24 +49,20 @@ pub struct MemoryMappings { isolation: IsolationType, } -impl MemoryMappings { - /// Includes all VTL0 memory (trusted and untrusted). - pub fn vtl0(&self) -> &GuestMemory { +impl AccessGuestMemory for MemoryMappings { + fn vtl0(&self) -> &GuestMemory { &self.vtl0_gm } - pub fn vtl1(&self) -> Option<&GuestMemory> { + fn vtl1(&self) -> Option<&GuestMemory> { self.vtl1_gm.as_ref() } - pub fn untrusted_dma_memory(&self) -> &GuestMemory { + fn untrusted_dma_memory(&self) -> &GuestMemory { &self.untrusted_dma_memory } - /// Includes only trusted VTL0 memory. - pub fn private_vtl0_memory(&self) -> Option<&GuestMemory> { + fn private_vtl0_memory(&self) -> Option<&GuestMemory> { self.private_vtl0_memory.as_ref() } - pub fn isolated_memory_protector( - &self, - ) -> anyhow::Result>> { + fn isolated_memory_protector(&self) -> anyhow::Result>> { match self.isolation { IsolationType::Snp | IsolationType::Tdx => Ok(self.shared.as_ref().map(|shared| { Arc::new(HardwareIsolatedMemoryProtector::new( @@ -78,6 +75,20 @@ impl MemoryMappings { _ => Ok(None), } } + + fn map_partition( + &mut self, + _partition: &dyn virt::PartitionMemoryMapper, + ) -> anyhow::Result<()> { + // Currently we assume this is used with UhPartition, which does not + // issue a map call. + // + // FUTURE: once the driver works without mshv_vtl, we should map here, + // too. Alternatively, perhaps UhPartition could be made to work via + // this map call as well, transparently altering memory protections as + // needed. This would be nice from a consistency perspective. + todo!() + } } pub struct Init<'a> { diff --git a/openhcl/underhill_mem/src/lib.rs b/openhcl/underhill_mem/src/lib.rs index 4cb9f45a6..a071f9d12 100644 --- a/openhcl/underhill_mem/src/lib.rs +++ b/openhcl/underhill_mem/src/lib.rs @@ -6,13 +6,40 @@ //! Underhill VM memory management. +mod devmem; mod init; mod registrar; +pub use devmem::DevMemMemory; pub use init::init; pub use init::Init; pub use init::MemoryMappings; +use guestmem::GuestMemory; +use inspect::Inspect; +use std::sync::Arc; + +/// Trait implemented by the guest memory object to get access and manipulate +/// various aspects of the memory. +pub trait AccessGuestMemory: Send + Sync + Inspect { + /// Access to guest VTL0 memory. + fn vtl0(&self) -> &GuestMemory; + /// Optional access to guest VTL1 memory. + fn vtl1(&self) -> Option<&GuestMemory>; + /// Access to memory that untrusted devices can DMA to. + fn untrusted_dma_memory(&self) -> &GuestMemory; + /// Access only to private VTL0 memory, i.e. VTL0 memory that untrusted + /// devices _cannot_ DMA to. + fn private_vtl0_memory(&self) -> Option<&GuestMemory>; + /// The memory protector for use with the partition. + fn isolated_memory_protector( + &self, + ) -> anyhow::Result>>; + + /// Map the memory into the specified partition. + fn map_partition(&mut self, partition: &dyn virt::PartitionMemoryMapper) -> anyhow::Result<()>; +} + mod mapping { // UNSAFETY: Implementing GuestMemoryAccess. #![allow(unsafe_code)] diff --git a/vm/loader/manifests/openhcl-x64-nested.json b/vm/loader/manifests/openhcl-x64-nested.json new file mode 100644 index 000000000..00fc16f8f --- /dev/null +++ b/vm/loader/manifests/openhcl-x64-nested.json @@ -0,0 +1,18 @@ +{ + "guest_arch": "x64", + "guest_configs": [ + { + "guest_svn": 1, + "max_vtl": 0, + "isolation_type": "none", + "image": { + "openhcl": { + "command_line": "OPENHCL_KVM=1", + "memory_page_count": 163840, + "memory_page_base": 131072, + "uefi": true + } + } + } + ] +} \ No newline at end of file