// These fields should be filled in in production\r
//\r
},\r
- 0, // Flags\r
+ 0, // BIT0~15: PlatformClass\r
+ // BIT16~31: Reserved\r
0, // Control Area\r
EFI_TPM2_ACPI_TABLE_START_METHOD_TIS, // StartMethod\r
};\r
{\r
EFI_STATUS Status;\r
UINT8 *DataPtr;\r
- CHAR8 HID[TPM_HID_ACPI_SIZE];\r
+ CHAR8 Hid[TPM_HID_ACPI_SIZE];\r
UINT32 ManufacturerID;\r
UINT32 FirmwareVersion1;\r
UINT32 FirmwareVersion2;\r
//\r
// Initialize HID with Default PNP string\r
//\r
- ZeroMem(HID, TPM_HID_ACPI_SIZE);\r
+ ZeroMem(Hid, TPM_HID_ACPI_SIZE);\r
\r
//\r
// Get Manufacturer ID\r
if (!EFI_ERROR(Status)) {\r
DEBUG((EFI_D_INFO, "TPM_PT_MANUFACTURER 0x%08x\n", ManufacturerID));\r
//\r
- // ManfacturerID defined in TCG Vendor ID Registry \r
+ // ManufacturerID defined in TCG Vendor ID Registry \r
// may tailed with 0x00 or 0x20\r
//\r
if ((ManufacturerID >> 24) == 0x00 || ((ManufacturerID >> 24) == 0x20)) {\r
// HID containing PNP ID "NNN####"\r
// NNN is uppercase letter for Vendor ID specified by manufacturer\r
//\r
- CopyMem(HID, &ManufacturerID, 3);\r
+ CopyMem(Hid, &ManufacturerID, 3);\r
} else {\r
//\r
// HID containing ACP ID "NNNN####"\r
// NNNN is uppercase letter for Vendor ID specified by manufacturer\r
//\r
- CopyMem(HID, &ManufacturerID, 4);\r
+ CopyMem(Hid, &ManufacturerID, 4);\r
PnpHID = FALSE;\r
}\r
} else {\r
// #### is Firmware Version 1\r
//\r
if (PnpHID) {\r
- AsciiSPrint(HID + 3, TPM_HID_PNP_SIZE - 3, "%02d%02d", ((FirmwareVersion1 & 0xFFFF0000) >> 16), (FirmwareVersion1 && 0x0000FFFF));\r
+ AsciiSPrint(Hid + 3, TPM_HID_PNP_SIZE - 3, "%02d%02d", ((FirmwareVersion1 & 0xFFFF0000) >> 16), (FirmwareVersion1 & 0x0000FFFF));\r
} else {\r
- AsciiSPrint(HID + 4, TPM_HID_ACPI_SIZE - 4, "%02d%02d", ((FirmwareVersion1 & 0xFFFF0000) >> 16), (FirmwareVersion1 && 0x0000FFFF));\r
+ AsciiSPrint(Hid + 4, TPM_HID_ACPI_SIZE - 4, "%02d%02d", ((FirmwareVersion1 & 0xFFFF0000) >> 16), (FirmwareVersion1 & 0x0000FFFF));\r
}\r
\r
} else {\r
DataPtr += 1) {\r
if (AsciiStrCmp((CHAR8 *)DataPtr, TPM_HID_TAG) == 0) {\r
if (PnpHID) {\r
- CopyMem(DataPtr, HID, TPM_HID_PNP_SIZE);\r
+ CopyMem(DataPtr, Hid, TPM_HID_PNP_SIZE);\r
//\r
// if HID is PNP ID, patch the last byte in HID TAG to Noop\r
//\r
*(DataPtr + TPM_HID_PNP_SIZE) = AML_NOOP_OP;\r
} else {\r
\r
- CopyMem(DataPtr, HID, TPM_HID_ACPI_SIZE);\r
+ CopyMem(DataPtr, Hid, TPM_HID_ACPI_SIZE);\r
}\r
- DEBUG((EFI_D_INFO, "TPM2 ACPI _HID updated to %a\n", HID));\r
+ DEBUG((DEBUG_INFO, "TPM2 ACPI _HID is patched to %a\n", DataPtr));\r
+\r
return Status;\r
}\r
}\r
Status = UpdatePPVersion(Table, (CHAR8 *)PcdGetPtr(PcdTcgPhysicalPresenceInterfaceVer));\r
ASSERT_EFI_ERROR (Status);\r
\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "Current physical presence interface version - %a\n",\r
+ (CHAR8 *) PcdGetPtr(PcdTcgPhysicalPresenceInterfaceVer)\r
+ ));\r
+\r
//\r
// Update TPM2 HID before measuring it to PCR\r
//\r
EFI_TPM2_ACPI_CONTROL_AREA *ControlArea;\r
PTP_INTERFACE_TYPE InterfaceType;\r
\r
+ mTpm2AcpiTemplate.Header.Revision = PcdGet8(PcdTpm2AcpiTableRev);\r
+ DEBUG((DEBUG_INFO, "Tpm2 ACPI table revision is %d\n", mTpm2AcpiTemplate.Header.Revision));\r
+\r
//\r
// Measure to PCR[0] with event EV_POST_CODE ACPI DATA\r
//\r