hv: tpm2: do tpm2 fixup for security vm

ACRN used to prepare the vTPM2 ACPI Table for pre-launched VM at the build stage
using config tools. This is OK if the TPM2 ACPI Table never changes. However,
TPM2 ACPI Table may be changed in some conditions: change BIOS configuration or
update BIOS.

This patch do TPM2 fixup to update the vTPM2 ACPI Table and TPM2 MMIO resource
configuration according to the physical TPM2 ACPI Table.

Tracked-On: #6366
Signed-off-by: Tao Yuhong <yuhong.tao@intel.com>
Signed-off-by: Fei Li <fei1.li@intel.com>
This commit is contained in:
Fei Li
2021-08-06 14:12:13 +08:00
committed by wenlingz
parent f81b39225c
commit 74e68e39d1
11 changed files with 125 additions and 4 deletions

View File

@@ -235,6 +235,11 @@ struct acpi_table_tpm2 {
uint16_t reserved;
uint64_t control_address;
uint32_t start_method;
#ifdef CONFIG_SECURITY_VM_FIXUP
uint8_t start_method_spec_para[12];
uint32_t laml;
uint64_t lasa;
#endif
} __packed;
void init_acpi(void);

View File

@@ -73,4 +73,5 @@ void init_acrn_boot_info(uint32_t *registers);
int32_t sanitize_acrn_boot_info(struct acrn_boot_info *abi);
struct acrn_boot_info *get_acrn_boot_info(void);
struct abi_module *get_mod_by_tag(const struct acrn_boot_info *abi, const char *tag);
#endif /* BOOT_H */