]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/SmBios.h
MdePkg: Add ProcessorUpgradeSocketLGA4677 from SMBIOS 3.5.0
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SmBios.h
index 400bdef90b4fb32f9483c8232744cdbc9a9b0cc8..2c2b32b8d462d8cd3cb6126c01009ea364162161 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Industry Standard Definitions of SMBIOS Table Specification v3.3.0.\r
 \r
-Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>\r
 (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>\r
 (C) Copyright 2015 - 2019 Hewlett Packard Enterprise Development LP<BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
@@ -810,7 +810,10 @@ typedef enum {
   ProcessorUpgradeSocketLGA2066   = 0x39,\r
   ProcessorUpgradeSocketBGA1392   = 0x3A,\r
   ProcessorUpgradeSocketBGA1510   = 0x3B,\r
-  ProcessorUpgradeSocketBGA1528   = 0x3C\r
+  ProcessorUpgradeSocketBGA1528   = 0x3C,\r
+  ProcessorUpgradeSocketLGA4189   = 0x3D,\r
+  ProcessorUpgradeSocketLGA1200   = 0x3E,\r
+  ProcessorUpgradeSocketLGA4677   = 0x3F\r
 } PROCESSOR_UPGRADE;\r
 \r
 ///\r
@@ -875,6 +878,19 @@ typedef struct {
   UINT16  ProcessorReserved2              :6;\r
 } PROCESSOR_CHARACTERISTIC_FLAGS;\r
 \r
+///\r
+/// Processor Information - Status\r
+///\r
+typedef union {\r
+  struct {\r
+    UINT8 CpuStatus       :3; ///< Indicates the status of the processor.\r
+    UINT8 Reserved1       :3; ///< Reserved for future use. Must be set to zero.\r
+    UINT8 SocketPopulated :1; ///< Indicates if the processor socket is populated or not.\r
+    UINT8 Reserved2       :1; ///< Reserved for future use. Must be set to zero.\r
+  } Bits;\r
+  UINT8 Data;\r
+} PROCESSOR_STATUS_DATA;\r
+\r
 typedef struct {\r
   PROCESSOR_SIGNATURE     Signature;\r
   PROCESSOR_FEATURE_FLAGS FeatureFlags;\r
@@ -894,7 +910,7 @@ typedef struct {
   SMBIOS_TABLE_STRING   Socket;\r
   UINT8                 ProcessorType;          ///< The enumeration value from PROCESSOR_TYPE_DATA.\r
   UINT8                 ProcessorFamily;        ///< The enumeration value from PROCESSOR_FAMILY_DATA.\r
-  SMBIOS_TABLE_STRING   ProcessorManufacture;\r
+  SMBIOS_TABLE_STRING   ProcessorManufacturer;\r
   PROCESSOR_ID_DATA     ProcessorId;\r
   SMBIOS_TABLE_STRING   ProcessorVersion;\r
   PROCESSOR_VOLTAGE     Voltage;\r
@@ -1380,7 +1396,10 @@ typedef struct {
   UINT8  HotPlugDevicesSupported :1;\r
   UINT8  SmbusSignalSupported    :1;\r
   UINT8  BifurcationSupported    :1;\r
-  UINT8  Reserved                :4;  ///< Set to 0.\r
+  UINT8  AsyncSurpriseRemoval    :1;\r
+  UINT8  FlexbusSlotCxl10Capable :1;\r
+  UINT8  FlexbusSlotCxl20Capable :1;\r
+  UINT8  Reserved                :1;  ///< Set to 0.\r
 } MISC_SLOT_CHARACTERISTICS2;\r
 \r
 ///\r
@@ -1422,6 +1441,12 @@ typedef struct {
   UINT8                       DataBusWidth;\r
   UINT8                       PeerGroupingCount;\r
   MISC_SLOT_PEER_GROUP        PeerGroups[1];\r
+  //\r
+  // Add for smbios 3.4\r
+  //\r
+  UINT8                       SlotInformation;\r
+  UINT8                       SlotPhysicalWidth;\r
+  UINT16                      SlotPitch;\r
 } SMBIOS_TABLE_TYPE9;\r
 \r
 ///\r
@@ -1615,7 +1640,7 @@ typedef enum {
   MemoryArrayLocationPc98C24AddonCard      = 0xA1,\r
   MemoryArrayLocationPc98EAddonCard        = 0xA2,\r
   MemoryArrayLocationPc98LocalBusAddonCard = 0xA3,\r
-  MemoryArrayLocationCXLFlexbus10AddonCard = 0xA4\r
+  MemoryArrayLocationCXLAddonCard          = 0xA4\r
 } MEMORY_ARRAY_LOCATION;\r
 \r
 ///\r
@@ -1750,17 +1775,18 @@ typedef struct {
 /// Memory Device - Memory Technology\r
 ///\r
 typedef enum {\r
-  MemoryTechnologyOther                     = 0x01,\r
-  MemoryTechnologyUnknown                   = 0x02,\r
-  MemoryTechnologyDram                      = 0x03,\r
-  MemoryTechnologyNvdimmN                   = 0x04,\r
-  MemoryTechnologyNvdimmF                   = 0x05,\r
-  MemoryTechnologyNvdimmP                   = 0x06,\r
+  MemoryTechnologyOther                          = 0x01,\r
+  MemoryTechnologyUnknown                        = 0x02,\r
+  MemoryTechnologyDram                           = 0x03,\r
+  MemoryTechnologyNvdimmN                        = 0x04,\r
+  MemoryTechnologyNvdimmF                        = 0x05,\r
+  MemoryTechnologyNvdimmP                        = 0x06,\r
   //\r
   // This definition is updated to represent Intel\r
-  // Optane DC Presistent Memory in SMBIOS spec 3.3.0\r
+  // Optane DC Persistent Memory in SMBIOS spec 3.4.0\r
   //\r
-  MemoryTechnologyIntelPersistentMemory     = 0x07\r
+  MemoryTechnologyIntelOptanePersistentMemory    = 0x07\r
+\r
 } MEMORY_DEVICE_TECHNOLOGY;\r
 \r
 ///\r
@@ -1837,7 +1863,7 @@ typedef struct {
   //\r
   UINT8                                     MemoryTechnology;   ///< The enumeration value from MEMORY_DEVICE_TECHNOLOGY\r
   MEMORY_DEVICE_OPERATING_MODE_CAPABILITY   MemoryOperatingModeCapability;\r
-  SMBIOS_TABLE_STRING                       FirwareVersion;\r
+  SMBIOS_TABLE_STRING                       FirmwareVersion;\r
   UINT16                                    ModuleManufacturerID;\r
   UINT16                                    ModuleProductID;\r
   UINT16                                    MemorySubsystemControllerManufacturerID;\r