PRINT_STRUCT_VALUE_H (Struct, Type42, InterfaceType);\r
break;\r
\r
+ //\r
+ // TPM Device (Type 43)\r
+ //\r
+ case 43:\r
+ PRINT_BIT_FIELD (Struct, Type43, VendorID, 4);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type43, MajorSpecVersion);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type43, MinorSpecVersion);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type43, FirmwareVersion1);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type43, FirmwareVersion2);\r
+ PRINT_PENDING_STRING (Struct, Type43, Description);\r
+ DisplayTpmDeviceCharacteristics (ReadUnaligned64 ((UINT64 *) (UINTN) &(Struct->Type43->Characteristics)), Option);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type43, OemDefined);\r
+ break;\r
+\r
//\r
// Inactive (Type 126)\r
//\r
ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_POWER_SUPPLY_NOT_REPLACE), gShellDebug1HiiHandle);\r
}\r
}\r
+\r
+/**\r
+ Display TPM Device (Type 43) Characteristics.\r
+\r
+ @param[in] Chara The information bits.\r
+ @param[in] Option The optional information.\r
+**/\r
+VOID\r
+DisplayTpmDeviceCharacteristics (\r
+ IN UINT64 Chara,\r
+ IN UINT8 Option\r
+ )\r
+{\r
+ //\r
+ // Print header\r
+ //\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR), gShellDebug1HiiHandle);\r
+ //\r
+ // print option\r
+ //\r
+ PRINT_INFO_OPTION (Chara, Option);\r
+\r
+ //\r
+ // Check all the bits and print information\r
+ // This function does not use Table because table of bits\r
+ // are designed not to deal with UINT64\r
+ //\r
+ if (BIT (Chara, 0) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT), gShellDebug1HiiHandle);\r
+ }\r
+\r
+ if (BIT (Chara, 1) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_RESERVED_BIT), gShellDebug1HiiHandle);\r
+ }\r
+ if (BIT (Chara, 2) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR_NOT_SUPPORTED), gShellDebug1HiiHandle);\r
+ }\r
+\r
+ if (BIT (Chara, 3) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_FWU), gShellDebug1HiiHandle);\r
+ }\r
+\r
+ if (BIT (Chara, 4) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_PLAT_SW), gShellDebug1HiiHandle);\r
+ }\r
+\r
+ if (BIT (Chara, 5) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_OEM), gShellDebug1HiiHandle);\r
+ }\r
+\r
+ //\r
+ // Just print the Reserved\r
+ //\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BITS_06_63), gShellDebug1HiiHandle);\r
+\r
+}\r
//\r
// Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>\r
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>\r
-// (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
+// (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>\r
// This program and the accompanying materials\r
// are licensed and made available under the terms and conditions of the BSD License\r
// which accompanies this distribution. The full text of the license may be found at\r
#string STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_TABLE #language en-US "SmbiosView: SMBIOS table damaged\r\n"\r
#string STR_SMBIOSVIEW_SMBIOSVIEW_OUT_OF_MEM #language en-US "SmbiosView: Out of memory\r\n"\r
#string STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_STATS #language en-US "SmbiosView: Cannot access statistics table\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR #language en-US "TPM Device Characteristics: \r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CHAR_NOT_SUPPORTED #language en-US "TPM Device Characteristics Not Supported\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_FWU #language en-US "Family configurable via firmware update\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_PLAT_SW #language en-US "Family configurable via platform software support\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_TPM_DEVICE_CONFIG_OEM #language en-US "Family configurable via OEM proprietary mechanism\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_BITS_06_63 #language en-US "Bits 6:63 are reserved\r\n"\r
\r