hv: quirks: SMBIOS passthrough for prelaunched-VM

This feature is guarded under config CONFIG_SECURITY_VM_FIXUP, which
by default should be disabled.

This patch passthrough native SMBIOS information to prelaunched VM.
SMBIOS table contains a small entry point structure and a table, of which
the entry point structure will be put in 0xf0000-0xfffff region in guest
address space, and the table will be put in the ACPI_NVS region in guest
address space.

v2 -> v3:
uuid_is_equal moved to util.h as inline API
result -> pVendortable, in function efi_search_guid
recalc_checksum -> generate_checksum
efi_search_smbios -> efi_search_smbios_eps
scan_smbios_eps -> mem_search_smbios_eps
EFI GUID definition kept

Tracked-On: #6320
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
This commit is contained in:
Yifan Liu
2021-08-19 16:07:12 +08:00
committed by wenlingz
parent 975ff33e01
commit d33c76f701
4 changed files with 300 additions and 0 deletions

View File

@@ -7,6 +7,7 @@
#ifndef _SECURITY_VM_FIXUP_H_
#define _SECURITY_VM_FIXUP_H_
void passthrough_smbios(struct acrn_vm *vm, struct acrn_boot_info *abi);
void security_vm_fixup(uint16_t vm_id);
#endif /* _SECURITY_VM_FIXUP_H_ */