pub enum Firmware {
LinuxDirect {
kernel: ResolvedArtifact,
initrd: ResolvedArtifact,
},
OpenhclLinuxDirect {
igvm_path: ResolvedArtifact,
openhcl_config: OpenHclConfig,
},
Pcat {
guest: PcatGuest,
bios_firmware: ResolvedOptionalArtifact,
svga_firmware: ResolvedOptionalArtifact,
},
OpenhclPcat {
guest: PcatGuest,
igvm_path: ResolvedArtifact,
bios_firmware: ResolvedOptionalArtifact,
svga_firmware: ResolvedOptionalArtifact,
openhcl_config: OpenHclConfig,
},
Uefi {
guest: UefiGuest,
uefi_firmware: ResolvedArtifact,
uefi_config: UefiConfig,
},
OpenhclUefi {
guest: UefiGuest,
isolation: Option<IsolationType>,
igvm_path: ResolvedArtifact,
uefi_config: UefiConfig,
openhcl_config: OpenHclConfig,
},
}Expand description
Firmware to load into the test VM.
Variants§
LinuxDirect
Boot Linux directly, without any firmware.
OpenhclLinuxDirect
Boot Linux directly, without any firmware, with OpenHCL in VTL2.
Fields
igvm_path: ResolvedArtifactThe path to the IGVM file to use.
openhcl_config: OpenHclConfigOpenHCL configuration
Pcat
Boot a PCAT-based VM.
Fields
bios_firmware: ResolvedOptionalArtifactThe firmware to use.
svga_firmware: ResolvedOptionalArtifactThe SVGA firmware to use.
OpenhclPcat
Boot a PCAT-based VM with OpenHCL in VTL2.
Fields
igvm_path: ResolvedArtifactThe path to the IGVM file to use.
bios_firmware: ResolvedOptionalArtifactThe firmware to use.
svga_firmware: ResolvedOptionalArtifactThe SVGA firmware to use.
openhcl_config: OpenHclConfigOpenHCL configuration
Uefi
Boot a UEFI-based VM.
Fields
uefi_firmware: ResolvedArtifactThe firmware to use.
uefi_config: UefiConfigUEFI configuration
OpenhclUefi
Boot a UEFI-based VM with OpenHCL in VTL2.
Fields
isolation: Option<IsolationType>The isolation type of the VM.
igvm_path: ResolvedArtifactThe path to the IGVM file to use.
uefi_config: UefiConfigUEFI configuration
openhcl_config: OpenHclConfigOpenHCL configuration
Implementations§
Source§impl Firmware
impl Firmware
Sourcepub fn linux_direct(resolver: &ArtifactResolver<'_>, arch: MachineArch) -> Self
pub fn linux_direct(resolver: &ArtifactResolver<'_>, arch: MachineArch) -> Self
Constructs a standard Firmware::LinuxDirect configuration.
Sourcepub fn openhcl_linux_direct(
resolver: &ArtifactResolver<'_>,
arch: MachineArch,
) -> Self
pub fn openhcl_linux_direct( resolver: &ArtifactResolver<'_>, arch: MachineArch, ) -> Self
Constructs a standard Firmware::OpenhclLinuxDirect configuration.
Sourcepub fn pcat(resolver: &ArtifactResolver<'_>, guest: PcatGuest) -> Self
pub fn pcat(resolver: &ArtifactResolver<'_>, guest: PcatGuest) -> Self
Constructs a standard Firmware::Pcat configuration.
Sourcepub fn uefi(
resolver: &ArtifactResolver<'_>,
arch: MachineArch,
guest: UefiGuest,
) -> Self
pub fn uefi( resolver: &ArtifactResolver<'_>, arch: MachineArch, guest: UefiGuest, ) -> Self
Constructs a standard Firmware::Uefi configuration.
Sourcepub fn openhcl_uefi(
resolver: &ArtifactResolver<'_>,
arch: MachineArch,
guest: UefiGuest,
isolation: Option<IsolationType>,
vtl2_nvme_boot: bool,
) -> Self
pub fn openhcl_uefi( resolver: &ArtifactResolver<'_>, arch: MachineArch, guest: UefiGuest, isolation: Option<IsolationType>, vtl2_nvme_boot: bool, ) -> Self
Constructs a standard Firmware::OpenhclUefi configuration.