SecurityPkg: Tcg2Config: TPM2 ACPI Table Rev Option
Add TPM2 ACPI Table Rev Option in Tcg2Config UI. Rev 4 is defined in TCG ACPI Specification 00.37 Cc: Star Zeng <star.zeng@intel.com> Cc: Yao Jiewen <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
This commit is contained in:
@@ -82,6 +82,7 @@ InitializeTcg2VersionInfo (
|
||||
TCG2_VERSION Tcg2Version;
|
||||
UINTN DataSize;
|
||||
UINT64 PcdTcg2PpiVersion;
|
||||
UINT8 PcdTpm2AcpiTableRev;
|
||||
|
||||
//
|
||||
// Get the PCD value before initializing efi varstore configuration data.
|
||||
@@ -93,6 +94,8 @@ InitializeTcg2VersionInfo (
|
||||
AsciiStrSize ((CHAR8 *) PcdGetPtr (PcdTcgPhysicalPresenceInterfaceVer))
|
||||
);
|
||||
|
||||
PcdTpm2AcpiTableRev = PcdGet8 (PcdTpm2AcpiTableRev);
|
||||
|
||||
//
|
||||
// Initialize efi varstore configuration data.
|
||||
//
|
||||
@@ -175,6 +178,10 @@ InitializeTcg2VersionInfo (
|
||||
DEBUG ((DEBUG_WARN, "WARNING: PcdTcgPhysicalPresenceInterfaceVer default value is not same with the default value in VFR\n"));
|
||||
DEBUG ((DEBUG_WARN, "WARNING: The default value in VFR has be chosen\n"));
|
||||
}
|
||||
if (PcdTpm2AcpiTableRev != Tcg2Version.Tpm2AcpiTableRev) {
|
||||
DEBUG ((DEBUG_WARN, "WARNING: PcdTpm2AcpiTableRev default value is not same with the default value in VFR\n"));
|
||||
DEBUG ((DEBUG_WARN, "WARNING: The default value in VFR has be chosen\n"));
|
||||
}
|
||||
}
|
||||
}
|
||||
FreePool (ConfigRequestHdr);
|
||||
@@ -206,6 +213,29 @@ InitializeTcg2VersionInfo (
|
||||
ASSERT (FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
// Get the PcdTpm2AcpiTableRev value again.
|
||||
// If the PCD value is not equal to the value in variable,
|
||||
// the PCD is not DynamicHii type and does not map to TCG2_VERSION Variable.
|
||||
//
|
||||
PcdTpm2AcpiTableRev = PcdGet8 (PcdTpm2AcpiTableRev);
|
||||
if (PcdTpm2AcpiTableRev != Tcg2Version.Tpm2AcpiTableRev) {
|
||||
DEBUG ((DEBUG_WARN, "WARNING: PcdTpm2AcpiTableRev is not DynamicHii type and does not map to TCG2_VERSION.Tpm2AcpiTableRev\n"));
|
||||
DEBUG ((DEBUG_WARN, "WARNING: The Tpm2 ACPI Revision configuring from setup page will not work\n"));
|
||||
}
|
||||
|
||||
switch (PcdTpm2AcpiTableRev) {
|
||||
case EFI_TPM2_ACPI_TABLE_REVISION_3:
|
||||
HiiSetString (PrivateData->HiiHandle, STRING_TOKEN (STR_TPM2_ACPI_REVISION_STATE_CONTENT), L"Rev 3", NULL);
|
||||
break;
|
||||
case EFI_TPM2_ACPI_TABLE_REVISION_4:
|
||||
HiiSetString (PrivateData->HiiHandle, STRING_TOKEN (STR_TPM2_ACPI_REVISION_STATE_CONTENT), L"Rev 4", NULL);
|
||||
break;
|
||||
default:
|
||||
ASSERT (FALSE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user