hv: vapci: add tpm2 support for pre-launched vm

On WHL platform, we need to pass through TPM to Secure pre-launched VM. In order
to do this, we need to add TPM2 ACPI Table and add TPM DSDT ACPI table to include
the _CRS.

Now we only support the TPM 2.0 device (TPM 1.2 device is not support). Besides,
the TPM must use Start Method 7 (Uses the Command Response Buffer Interface)
to notify the TPM 2.0 device that a command is available for processing.

Tracked-On: #5053
Signed-off-by: Li Fei1 <fei1.li@intel.com>
This commit is contained in:
Li Fei1
2020-07-09 11:26:58 +08:00
committed by wenlingz
parent 7971f34344
commit 1859727abc
6 changed files with 66 additions and 4 deletions

View File

@@ -57,6 +57,7 @@
#define ACPI_SIG_DMAR "DMAR"
#define ACPI_SIG_MCFG "MCFG" /* Memory Mapped Configuration table */
#define ACPI_SIG_DSDT "DSDT" /* Differentiated System Description Table */
#define ACPI_SIG_TPM2 "TPM2" /* Trusted Platform Module hardware interface table */
struct packed_gas {
uint8_t space_id;
@@ -227,6 +228,14 @@ struct acpi_dmar_device_scope {
uint8_t bus;
} __packed;
struct acpi_table_tpm2 {
struct acpi_table_header header;
uint16_t platform_class;
uint16_t reserved;
uint64_t control_address;
uint32_t start_method;
} __packed;
void *get_acpi_tbl(const char *signature);
struct ioapic_info;