// System Slots (Type 9)\r
//\r
case 9:\r
- PRINT_PENDING_STRING (Struct, Type9, SlotDesignation);\r
- DisplaySystemSlotType (Struct->Type9->SlotType, Option);\r
- DisplaySystemSlotDataBusWidth (Struct->Type9->SlotDataBusWidth, Option);\r
- DisplaySystemSlotCurrentUsage (Struct->Type9->CurrentUsage, Option);\r
- DisplaySystemSlotLength (Struct->Type9->SlotLength, Option);\r
- DisplaySystemSlotId (\r
- Struct->Type9->SlotID,\r
- Struct->Type9->SlotType,\r
- Option\r
- );\r
- DisplaySlotCharacteristics1 (*(UINT8 *) &(Struct->Type9->SlotCharacteristics1), Option);\r
- DisplaySlotCharacteristics2 (*(UINT8 *) &(Struct->Type9->SlotCharacteristics2), Option);\r
- if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0xD)) {\r
- PRINT_STRUCT_VALUE_H (Struct, Type9, SegmentGroupNum);\r
- PRINT_STRUCT_VALUE_H (Struct, Type9, BusNum);\r
- PRINT_STRUCT_VALUE_H (Struct, Type9, DevFuncNum);\r
+ {\r
+ MISC_SLOT_PEER_GROUP *PeerGroupPtr;\r
+ UINT8 PeerGroupCount;\r
+\r
+ PRINT_PENDING_STRING (Struct, Type9, SlotDesignation);\r
+ DisplaySystemSlotType (Struct->Type9->SlotType, Option);\r
+ DisplaySystemSlotDataBusWidth (Struct->Type9->SlotDataBusWidth, Option);\r
+ DisplaySystemSlotCurrentUsage (Struct->Type9->CurrentUsage, Option);\r
+ DisplaySystemSlotLength (Struct->Type9->SlotLength, Option);\r
+ DisplaySystemSlotId (\r
+ Struct->Type9->SlotID,\r
+ Struct->Type9->SlotType,\r
+ Option\r
+ );\r
+ DisplaySlotCharacteristics1 (*(UINT8 *) &(Struct->Type9->SlotCharacteristics1), Option);\r
+ DisplaySlotCharacteristics2 (*(UINT8 *) &(Struct->Type9->SlotCharacteristics2), Option);\r
+ if (AE_SMBIOS_VERSION (0x2, 0x6) && (Struct->Hdr->Length > 0xD)) {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type9, SegmentGroupNum);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type9, BusNum);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type9, DevFuncNum);\r
+ }\r
+ if (AE_SMBIOS_VERSION (0x3, 0x2)) {\r
+ if (Struct->Hdr->Length > 0x11) {\r
+ PRINT_STRUCT_VALUE (Struct, Type9, DataBusWidth);\r
+ }\r
+ if (Struct->Hdr->Length > 0x12) {\r
+ PRINT_STRUCT_VALUE (Struct, Type9, PeerGroupingCount);\r
+\r
+ PeerGroupCount = Struct->Type9->PeerGroupingCount;\r
+ PeerGroupPtr = Struct->Type9->PeerGroups;\r
+ for (Index = 0; Index < PeerGroupCount; Index++) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SLOT_PEER_GROUPS), gShellDebug1HiiHandle, Index + 1);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_SEGMENT_GROUP_NUM), gShellDebug1HiiHandle, PeerGroupPtr[Index].SegmentGroupNum);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_BUS_NUM), gShellDebug1HiiHandle, PeerGroupPtr[Index].BusNum);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DEV_FUNC_NUM), gShellDebug1HiiHandle, PeerGroupPtr[Index].DevFuncNum);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_DATA_BUS_WIDTH), gShellDebug1HiiHandle, PeerGroupPtr[Index].DataBusWidth);\r
+ }\r
+ }\r
+ }\r
}\r
break;\r
\r
PRINT_STRUCT_VALUE (Struct, Type17, MaximumVoltage);\r
PRINT_STRUCT_VALUE (Struct, Type17, ConfiguredVoltage);\r
}\r
+ if (AE_SMBIOS_VERSION (0x3, 0x2)) {\r
+ if (Struct->Hdr->Length > 0x28) {\r
+ DisplayMemoryDeviceMemoryTechnology (Struct->Type17->MemoryTechnology, Option);\r
+ DisplayMemoryDeviceMemoryOperatingModeCapability (Struct->Type17->MemoryOperatingModeCapability.Uint16, Option);\r
+ PRINT_PENDING_STRING (Struct, Type17, FirwareVersion);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleManufacturerID);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, ModuleProductID);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, MemorySubsystemControllerManufacturerID);\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, MemorySubsystemControllerProductID);\r
+ }\r
+ if (Struct->Hdr->Length > 0x34) {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, NonVolatileSize);\r
+ }\r
+ if (Struct->Hdr->Length > 0x3C) {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, VolatileSize);\r
+ }\r
+ if (Struct->Hdr->Length > 0x44) {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, CacheSize);\r
+ }\r
+ if (Struct->Hdr->Length > 0x4C) {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type17, LogicalSize);\r
+ }\r
+ }\r
break;\r
\r
//\r
//\r
case 42:\r
DisplayMCHostInterfaceType (Struct->Type42->InterfaceType, Option);\r
+ if (AE_SMBIOS_VERSION (0x3, 0x2)) {\r
+ PRINT_STRUCT_VALUE_H (Struct, Type42, InterfaceTypeSpecificDataLength);\r
+ PRINT_BIT_FIELD (Struct, Type42, InterfaceTypeSpecificData, Struct->Type42->InterfaceTypeSpecificDataLength);\r
+ }\r
break;\r
\r
//\r
Print (L"Intel Core i3 processor\n");\r
break;\r
\r
+ case 0xCF:\r
+ Print (L"Intel Core i9 processor\n");\r
+ break;\r
+\r
case 0xD2:\r
Print (L"ViaC7M\n");\r
break;\r
{\r
0x38,\r
L"Socket SP3r2"\r
+ },\r
+ {\r
+ 0x39,\r
+ L"Socket LGA2066"\r
+ },\r
+ {\r
+ 0x3A,\r
+ L"Socket BGA1392"\r
+ },\r
+ {\r
+ 0x3B,\r
+ L"Socket BGA1510"\r
+ },\r
+ {\r
+ 0x3C,\r
+ L"Socket BGA1528"\r
}\r
};\r
\r
0x22,\r
L"SAS/SATA Plug Receptacle"\r
},\r
+ {\r
+ 0x23,\r
+ L"USB Type-C Receptacle"\r
+ },\r
{\r
0xA0,\r
L"PC-98"\r
0x21,\r
L"SAS Port"\r
},\r
+ {\r
+ 0x22,\r
+ L"Multi-Function Display Port (MFDP)"\r
+ },\r
+ {\r
+ 0x23,\r
+ L"Thunderbolt"\r
+ },\r
{\r
0xA0,\r
L"8251 Compatible"\r
0x04,\r
L" In use"\r
},\r
+ {\r
+ 0x05,\r
+ L" Unavailable"\r
+ }\r
};\r
\r
TABLE_ITEM SystemSlotLengthTable[] = {\r
{\r
2,\r
L" PCI slot supports SMBus signal"\r
+ },\r
+ {\r
+ 3,\r
+ L" PCIe slot supports bifurcation"\r
}\r
};\r
\r
{\r
0x1E,\r
L" LPDDR4"\r
+ },\r
+ {\r
+ 0x1F,\r
+ L" Logical non-volatile device"\r
}\r
};\r
\r
}\r
};\r
\r
+TABLE_ITEM MemoryDeviceMemoryTechnologyTable[] = {\r
+ {\r
+ 0x01,\r
+ L" Other"\r
+ },\r
+ {\r
+ 0x02,\r
+ L" Unknown"\r
+ },\r
+ {\r
+ 0x03,\r
+ L" DRAM"\r
+ },\r
+ {\r
+ 0x04,\r
+ L" NVDIMM-N"\r
+ },\r
+ {\r
+ 0x05,\r
+ L" NVDIMM-F"\r
+ },\r
+ {\r
+ 0x06,\r
+ L" NVDIMM-P"\r
+ },\r
+ {\r
+ 0x07,\r
+ L" Intel persistent memory"\r
+ }\r
+};\r
+\r
+TABLE_ITEM MemoryDeviceMemoryOperatingModeCapabilityTable[] = {\r
+ {\r
+ 1,\r
+ L" Other"\r
+ },\r
+ {\r
+ 2,\r
+ L" Unknown"\r
+ },\r
+ {\r
+ 3,\r
+ L" Volatile memory"\r
+ },\r
+ {\r
+ 4,\r
+ L" Byte-accessible persistent memory"\r
+ },\r
+ {\r
+ 5,\r
+ L" Block-accessible persistent memory"\r
+ }\r
+};\r
+\r
+\r
TABLE_ITEM MemoryErrorTypeTable[] = {\r
{\r
0x01,\r
L" BT: Block Transfer "\r
},\r
{\r
- 0xFF04,\r
+ 0x04,\r
+ L" SSIF: SMBus System Interface "\r
+ },\r
+ {\r
+ 0xFF05,\r
L" Reserved for future assignment by this specification "\r
},\r
};\r
PRINT_BITS_INFO (MemoryDeviceTypeDetailTable, Para);\r
}\r
\r
+/**\r
+ Display Memory Device (Type 17) memory technology.\r
+\r
+ @param[in] Para The key of the structure.\r
+ @param[in] Option The optional information.\r
+**/\r
+VOID\r
+DisplayMemoryDeviceMemoryTechnology (\r
+ IN UINT8 Para,\r
+ IN UINT8 Option\r
+ )\r
+{\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY), gShellDebug1HiiHandle);\r
+ PRINT_INFO_OPTION (Para, Option);\r
+ PRINT_TABLE_ITEM (MemoryDeviceMemoryTechnologyTable, Para);\r
+}\r
+\r
+/**\r
+ Display Memory Device (Type 17) memory operating mode capability.\r
+\r
+ @param[in] Para The key of the structure.\r
+ @param[in] Option The optional information.\r
+**/\r
+VOID\r
+DisplayMemoryDeviceMemoryOperatingModeCapability (\r
+ IN UINT16 Para,\r
+ IN UINT8 Option\r
+ )\r
+{\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA), gShellDebug1HiiHandle);\r
+ PRINT_INFO_OPTION (Para, Option);\r
+ PRINT_BITS_INFO (MemoryDeviceMemoryOperatingModeCapabilityTable, Para);\r
+}\r
+\r
/**\r
Display 32-bit Memory Error Information (Type 18) type.\r
\r
// /**\r
//\r
-// Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>\r
// (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>\r
// This program and the accompanying materials\r
#string STR_SMBIOSVIEW_PRINTINFO_INSTALLED #language en-US "Installed "\r
#string STR_SMBIOSVIEW_PRINTINFO_ENABLED #language en-US "Enabled "\r
#string STR_SMBIOSVIEW_PRINTINFO_EXTERNAL #language en-US "External "\r
+#string STR_SMBIOSVIEW_PRINTINFO_SLOT_PEER_GROUPS #language en-US "Peer Groups %d:\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_SEGMENT_GROUP_NUM #language en-US " SegmentGroup Num: 0x%04x\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_BUS_NUM #language en-US " Bus Num: 0x%02x\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_DEV_FUNC_NUM #language en-US " DevFunc Num: 0x%02x\r\n"\r
+#string STR_SMBIOSVIEW_PRINTINFO_DATA_BUS_WIDTH #language en-US " DataBus Width: %d\r\n"\r
#string STR_SMBIOSVIEW_PRINTINFO_DESC_STRING #language en-US "Description String: "\r
#string STR_SMBIOSVIEW_PRINTINFO_SUPOPRTED_EVENT #language en-US "Supported Event Log Type Descriptors %d:\r\n"\r
#string STR_SMBIOSVIEW_PRINTINFO_ACCESS_METHOD_NOT_SUPOPRTED #language en-US "Access Method %d has not supported\r\n"\r
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_FORM_FACTOR #language en-US "Memory Device - Form Factor: "\r
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE #language en-US "Memory Device - Type: "\r
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_TYPE_DETAIL #language en-US "Memory Device - Type Detail: "\r
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEMORY_TECHNOLOGY #language en-US "Memory Device - Memory Technology: "\r
+#string STR_SMBIOSVIEW_QUERYTABLE_MEM_DEVICE_MEM_OPER_MODE_CAPA #language en-US "Memory Device - Memory Operating Mode Capability: "\r
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_INFO #language en-US "32-bit Memory Error Information - Type: "\r
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_GRANULARITY #language en-US "Memory Error - Error granularity: "\r
#string STR_SMBIOSVIEW_QUERYTABLE_MEM_ERROR_OP #language en-US "Memory Error - Error Operation: "\r