]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/SmBios.h
UefiPayloadPkg: Add a macro to select the SecurityStubDxe driver.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SmBios.h
index f2db11f947d15dff503e24392757570e83f9bc13..6918f58cce445f98b8a4917be5d856f922fbe3bc 100644 (file)
@@ -862,18 +862,32 @@ typedef struct {
 } PROCESSOR_FEATURE_FLAGS;\r
 \r
 typedef struct {\r
-  UINT32  ProcessorReserved1             :1;\r
-  UINT32  ProcessorUnknown               :1;\r
-  UINT32  Processor64BitCapble           :1;\r
-  UINT32  ProcessorMultiCore             :1;\r
-  UINT32  ProcessorHardwareThread        :1;\r
-  UINT32  ProcessorExecuteProtection     :1;\r
-  UINT32  ProcessorEnhancedVirtulization :1;\r
-  UINT32  ProcessorPowerPerformanceCtrl  :1;\r
-  UINT32  Processor128bitCapble          :1;\r
-  UINT32  ProcessorReserved2             :7;\r
+  UINT16  ProcessorReserved1              :1;\r
+  UINT16  ProcessorUnknown                :1;\r
+  UINT16  Processor64BitCapable           :1;\r
+  UINT16  ProcessorMultiCore              :1;\r
+  UINT16  ProcessorHardwareThread         :1;\r
+  UINT16  ProcessorExecuteProtection      :1;\r
+  UINT16  ProcessorEnhancedVirtualization :1;\r
+  UINT16  ProcessorPowerPerformanceCtrl   :1;\r
+  UINT16  Processor128BitCapable          :1;\r
+  UINT16  ProcessorArm64SocId             :1;\r
+  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
@@ -893,7 +907,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
@@ -1379,7 +1393,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
@@ -1421,6 +1438,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
@@ -1614,7 +1637,7 @@ typedef enum {
   MemoryArrayLocationPc98C24AddonCard      = 0xA1,\r
   MemoryArrayLocationPc98EAddonCard        = 0xA2,\r
   MemoryArrayLocationPc98LocalBusAddonCard = 0xA3,\r
-  MemoryArrayLocationCXLFlexbus10AddonCard = 0xA4\r
+  MemoryArrayLocationCXLAddonCard          = 0xA4\r
 } MEMORY_ARRAY_LOCATION;\r
 \r
 ///\r
@@ -1749,17 +1772,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
@@ -1836,7 +1860,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