pub fn load_config_x86(
importer: &mut impl ImageLoad<X86Register>,
load_info: &LoadInfo,
cmdline: &CString,
mem_layout: &MemoryLayout,
build_acpi: impl FnOnce(u64) -> AcpiTables,
smbios: Option<SmbiosTables<'_>>,
snp_boot: Option<SnpBootConfig>,
) -> Result<(), Error>Expand description
Place the ACPI tables, SMBIOS tables, boot metadata, zero page, and initial
registers for a Linux kernel that has already been loaded into guest
memory (as described by load_info).
The loader owns the entire sub-1 MB memory map; callers supply only contents, never addresses:
cmdline- the kernel command line.mem_layout- the guest memory layout, used to build the e820 map.build_acpi- a builder handed the nominal RSDP address; it must return ACPI tables self-consistent for placement one page above that address. The loader re-homes the RSDP to the fixed 0xe0000 legacy-scan location.smbios- an optional SMBIOS identity; when present the loader assembles the_SM3_entry point and structure table into the F-segment.snp_boot- optionally allocate SEV-SNP Linux boot protocol pages.