From 46f3ed0d53db6daf38c230dff0d2910bcb61fbe2 Mon Sep 17 00:00:00 2001 From: Jason Andryuk Date: Tue, 16 Dec 2025 09:40:18 +0100 Subject: [PATCH] xen/x86: Pass TPM ACPI table to PVH dom0 Pass the TPM2 ACPI table so that the device can be found by a PVH dom0. Otherwise dom0 shows: tpm_tis MSFT0101:00: [Firmware Bug]: failed to get TPM2 ACPI table tpm_tis MSFT0101:00: probe with driver tpm_tis failed with error -22 TCPA is "Trusted Computing Platform Alliance table", but it is really the table for a TPM 1.2. Pass that as well. While doing this, move ACPI_SIG_WPBT to alpabetize the entries. This exposes TPM event log tables on PVH dom0, bring it in line with a PV dom0. Signed-off-by: Jason Andryuk Acked-by: Andrew Cooper --- xen/arch/x86/hvm/dom0_build.c | 2 +- xen/include/acpi/actbl3.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c index 5ac2cf8394..7eccadf7aa 100644 --- a/xen/arch/x86/hvm/dom0_build.c +++ b/xen/arch/x86/hvm/dom0_build.c @@ -1013,7 +1013,7 @@ static bool __init pvh_acpi_table_allowed(const char *sig, ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_FACS, ACPI_SIG_PSDT, ACPI_SIG_SSDT, ACPI_SIG_SBST, ACPI_SIG_MCFG, ACPI_SIG_SLIC, ACPI_SIG_MSDM, ACPI_SIG_WDAT, ACPI_SIG_FPDT, ACPI_SIG_S3PT, - ACPI_SIG_VFCT, + ACPI_SIG_TCPA, ACPI_SIG_TPM2, ACPI_SIG_VFCT, }; unsigned int i; diff --git a/xen/include/acpi/actbl3.h b/xen/include/acpi/actbl3.h index 6858d3e60f..636d3f5f5b 100644 --- a/xen/include/acpi/actbl3.h +++ b/xen/include/acpi/actbl3.h @@ -78,8 +78,10 @@ #define ACPI_SIG_CSRT "CSRT" /* Core System Resources Table */ #define ACPI_SIG_MATR "MATR" /* Memory Address Translation Table */ #define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */ -#define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */ +#define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */ +#define ACPI_SIG_TPM2 "TPM2" /* Trusted Platform Module 2.0 H/W interface table */ #define ACPI_SIG_VFCT "VFCT" /* AMD Video BIOS */ +#define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */ /* * All tables must be byte-packed to match the ACPI specification, since