pub enum Image {
None,
Uefi {
config_type: UefiConfigType,
},
Openhcl {
command_line: String,
static_command_line: bool,
memory_page_base: Option<u64>,
memory_page_count: u64,
uefi: bool,
linux: Option<LinuxImage>,
product_policy: Option<ProductPolicy>,
},
Linux(LinuxImage),
SnpLinuxDirect {
linux: LinuxImage,
processor_count: u32,
memory_page_count: u64,
c_bit_position: u8,
},
}Expand description
Configuration on what to load.
Variants§
None
Load nothing.
Uefi
Load UEFI.
Fields
config_type: UefiConfigTypeOpenhcl
Load the OpenHCL paravisor.
Fields
static_command_line: boolIf false, the host may provide additional kernel command line parameters at runtime.
memory_page_base: Option<u64>The base page number for paravisor memory. None means relocation is used.
linux: Option<LinuxImage>Include the Linux kernel for loading into the guest.
product_policy: Option<ProductPolicy>Optional measured product policy. When Some, the IGVM
build emits the policy into the measured VTL2 config region.
The manifest schema is the wire schema; see
[product_policy]. We don’t gate this property behind a feature
to avoid having multiple igvmfilegen tools with and without the feature.
Linux(LinuxImage)
Load the Linux kernel. TODO: Currently, this only works with underhill.
SnpLinuxDirect
Load Linux directly into a self-contained SNP guest.
Implementations§
Source§impl Image
impl Image
Sourcepub fn required_resources(&self) -> Vec<ResourceType>
pub fn required_resources(&self) -> Vec<ResourceType>
Get the required resources for this image config.
Sourcepub fn validate(&self) -> Result<(), ImageValidationError>
pub fn validate(&self) -> Result<(), ImageValidationError>
Validate constraints intrinsic to this image configuration.