]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassProcessor.h
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Guid / DataHubRecords / DataHubSubClassProcessor.h
index ed0c885da03e90d2781ab27a2bd8f5d158a931d0..f55bd30830ff250bb9a501985680d5ff2aebf816 100644 (file)
@@ -1,7 +1,7 @@
 /*++\r
 \r
-Copyright (c) 2004 - 2006, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<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
 http://opensource.org/licenses/bsd-license.php                                            \r
@@ -27,7 +27,7 @@ Revision History
 #define EFI_PROCESSOR_SUBCLASS_VERSION    0x00010000\r
 \r
 #define EFI_PROCESSOR_SUBCLASS_GUID \\r
-  { 0x26fdeb7e, 0xb8af, 0x4ccf, 0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7 }\r
+  { 0x26fdeb7e, 0xb8af, 0x4ccf, {0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7} }\r
 \r
 \r
 typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA;\r
@@ -50,6 +50,8 @@ typedef STRING_REF            EFI_PROCESSOR_SERIAL_NUMBER_DATA;
 \r
 typedef STRING_REF            EFI_PROCESSOR_ASSET_TAG_DATA;\r
 \r
+typedef STRING_REF            EFI_PROCESSOR_PART_NUMBER_DATA;\r
+\r
 typedef struct {\r
   UINT32  ProcessorSteppingId:4;\r
   UINT32  ProcessorModel:     4;\r
@@ -158,6 +160,10 @@ typedef enum {
   EfiProcessorFamilyPowerPC620   = 0x25,\r
   EfiProcessorFamilyPowerPC704   = 0x26,\r
   EfiProcessorFamilyPowerPC750   = 0x27,\r
+  EfiProcessorFamilyIntelCoreDuo = 0x28,\r
+  EfiProcessorFamilyIntelCoreDuoMobile = 0x29,\r
+  EfiProcessorFamilyIntelCoreSoloMobile = 0x2A,\r
+  EfiProcessorFamilyIntelAtom    = 0x2B,\r
   EfiProcessorFamilyAlpha2       = 0x30,\r
   EfiProcessorFamilyAlpha21064   = 0x31,\r
   EfiProcessorFamilyAlpha21066   = 0x32,\r
@@ -190,10 +196,22 @@ typedef enum {
   EfiProcessorFamilyHobbit       = 0x70,\r
   EfiProcessorFamilyCrusoeTM5000 = 0x78,\r
   EfiProcessorFamilyCrusoeTM3000 = 0x79,\r
+  EfiProcessorFamilyEfficeonTM8000 = 0x7A,\r
   EfiProcessorFamilyWeitek       = 0x80,\r
   EfiProcessorFamilyItanium      = 0x82,\r
   EfiProcessorFamilyAmdAthlon64  = 0x83,\r
   EfiProcessorFamilyAmdOpteron   = 0x84,\r
+  EfiProcessorFamilyAmdSempron   = 0x85,\r
+  EfiProcessorFamilyAmdTurion64Mobile = 0x86,\r
+  EfiProcessorFamilyDualCoreAmdOpteron = 0x87,\r
+  EfiProcessorFamilyAmdAthlon64X2DualCore = 0x88,\r
+  EfiProcessorFamilyAmdTurion64X2Mobile   = 0x89,\r
+  EfiProcessorFamilyQuadCoreAmdOpteron = 0x8A,\r
+  EfiProcessorFamilyThirdGenerationAmdOpteron = 0x8B,\r
+  EfiProcessorFamilyAmdPhenomFxQuadCore = 0x8C,\r
+  EfiProcessorFamilyAmdPhenomX4QuadCore = 0x8D,\r
+  EfiProcessorFamilyAmdPhenomX2DualCore = 0x8E,\r
+  EfiProcessorFamilyAmdAthlonX2DualCore = 0x8F,\r
   EfiProcessorFamilyPARISC       = 0x90,\r
   EfiProcessorFamilyPaRisc8500   = 0x91,\r
   EfiProcessorFamilyPaRisc8000   = 0x92,\r
@@ -202,6 +220,21 @@ typedef enum {
   EfiProcessorFamilyPaRisc7100LC = 0x95,\r
   EfiProcessorFamilyPaRisc7100   = 0x96,\r
   EfiProcessorFamilyV30          = 0xA0,\r
+  EfiProcessorFamilyQuadCoreIntelXeon3200Series  = 0xA1,\r
+  EfiProcessorFamilyDualCoreIntelXeon3000Series  = 0xA2,\r
+  EfiProcessorFamilyQuadCoreIntelXeon5300Series  = 0xA3,\r
+  EfiProcessorFamilyDualCoreIntelXeon5100Series  = 0xA4,\r
+  EfiProcessorFamilyDualCoreIntelXeon5000Series  = 0xA5,\r
+  EfiProcessorFamilyDualCoreIntelXeonLV          = 0xA6,\r
+  EfiProcessorFamilyDualCoreIntelXeonULV         = 0xA7,\r
+  EfiProcessorFamilyDualCoreIntelXeon7100Series  = 0xA8,\r
+  EfiProcessorFamilyQuadCoreIntelXeon5400Series  = 0xA9,\r
+  EfiProcessorFamilyQuadCoreIntelXeon            = 0xAA,\r
+  EfiProcessorFamilyDualCoreIntelXeon5200Series  = 0xAB,\r
+  EfiProcessorFamilyDualCoreIntelXeon7200Series  = 0xAC,\r
+  EfiProcessorFamilyQuadCoreIntelXeon7300Series  = 0xAD,\r
+  EfiProcessorFamilyQuadCoreIntelXeon7400Series  = 0xAE,\r
+  EfiProcessorFamilyMultiCoreIntelXeon7400Series = 0xAF,\r
   EfiProcessorFamilyPentiumIIIXeon = 0xB0,\r
   EfiProcessorFamilyPentiumIIISpeedStep = 0xB1,\r
   EfiProcessorFamilyPentium4     = 0xB2,\r
@@ -215,13 +248,57 @@ typedef enum {
   EfiProcessorFamilyIntelCeleronD = 0xBA,\r
   EfiProcessorFamilyIntelPentiumD = 0xBB,\r
   EfiProcessorFamilyIntelPentiumEx = 0xBC,\r
+  EfiProcessorFamilyIntelCoreSolo  = 0xBD,  // SMBIOS spec 2.6 correct this value\r
+  EfiProcessorFamilyReserved       = 0xBE,\r
+  EfiProcessorFamilyIntelCore2     = 0xBF,\r
+  EfiProcessorFamilyIntelCore2Solo          = 0xC0,\r
+  EfiProcessorFamilyIntelCore2Extreme       = 0xC1,\r
+  EfiProcessorFamilyIntelCore2Quad          = 0xC2,\r
+  EfiProcessorFamilyIntelCore2ExtremeMobile = 0xC3,\r
+  EfiProcessorFamilyIntelCore2DuoMobile     = 0xC4,\r
+  EfiProcessorFamilyIntelCore2SoloMobile    = 0xC5,\r
+  EfiProcessorFamilyIntelCoreI7             = 0xC6,\r
+  EfiProcessorFamilyDualCoreIntelCeleron    = 0xC7,\r
   EfiProcessorFamilyIBM390       = 0xC8,\r
   EfiProcessorFamilyG4           = 0xC9,\r
   EfiProcessorFamilyG5           = 0xCA,\r
+  EfiProcessorFamilyG6           = 0xCB,\r
+  EfiProcessorFamilyzArchitectur = 0xCC,\r
+  EfiProcessorFamilyViaC7M      = 0xD2,\r
+  EfiProcessorFamilyViaC7D      = 0xD3,\r
+  EfiProcessorFamilyViaC7       = 0xD4,\r
+  EfiProcessorFamilyViaEden     = 0xD5,\r
+  EfiProcessorFamilyMultiCoreIntelXeon           = 0xD6,\r
+  EfiProcessorFamilyDualCoreIntelXeon3Series     = 0xD7,\r
+  EfiProcessorFamilyQuadCoreIntelXeon3Series     = 0xD8,\r
+  EfiProcessorFamilyDualCoreIntelXeon5Series     = 0xDA,\r
+  EfiProcessorFamilyQuadCoreIntelXeon5Series     = 0xDB,\r
+  EfiProcessorFamilyDualCoreIntelXeon7Series     = 0xDD,\r
+  EfiProcessorFamilyQuadCoreIntelXeon7Series     = 0xDE,\r
+  EfiProcessorFamilyMultiCoreIntelXeon7Series    = 0xDF,\r
+  EfiProcessorFamilyEmbeddedAmdOpteronQuadCore   = 0xE6,\r
+  EfiProcessorFamilyAmdPhenomTripleCore          = 0xE7,\r
+  EfiProcessorFamilyAmdTurionUltraDualCoreMobile = 0xE8,\r
+  EfiProcessorFamilyAmdTurionDualCoreMobile      = 0xE9,\r
+  EfiProcessorFamilyAmdAthlonDualCore            = 0xEA,\r
+  EfiProcessorFamilyAmdSempronSI                 = 0xEB,\r
   EfiProcessorFamilyi860         = 0xFA,\r
-  EfiProcessorFamilyi960         = 0xFB\r
+  EfiProcessorFamilyi960         = 0xFB,\r
+  EfiProcessorFamilyIndicatorFamily2    = 0xFE\r
 } EFI_PROCESSOR_FAMILY_DATA;\r
 \r
+typedef enum {\r
+  EfiProcessorFamilySh3           = 0x104,\r
+  EfiProcessorFamilySh4           = 0x105,\r
+  EfiProcessorFamilyArm           = 0x118,\r
+  EfiProcessorFamilyStrongArm     = 0x119,\r
+  EfiProcessorFamily6x86          = 0x12C,\r
+  EfiProcessorFamilyMediaGx       = 0x12D,\r
+  EfiProcessorFamilyMii           = 0x12E,\r
+  EfiProcessorFamilyWinChip       = 0x140,\r
+  EfiProcessorFamilyDsp           = 0x15E,\r
+  EfiProcessorFamilyVideo         = 0x1F4\r
+} EFI_PROCESSOR_FAMILY2_DATA;  \r
 \r
 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_VOLTAGE_DATA;\r
 \r
@@ -282,7 +359,11 @@ typedef enum {
   EfiProcessorSocket939 = 0x12,\r
   EfiProcessorSocketmPGA604 = 0x13,\r
   EfiProcessorSocketLGA771 = 0x14,\r
-  EfiProcessorSocketLGA775 = 0x15\r
+  EfiProcessorSocketLGA775 = 0x15,\r
+  EfiProcessorSocketS1 = 0x16,\r
+  EfiProcessorSocketAm2 = 0x17,\r
+  EfiProcessorSocketF   = 0x18,\r
+  EfiProcessorSocketLGA1366 = 0x19\r
 } EFI_PROCESSOR_SOCKET_TYPE_DATA;\r
 \r
 typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA;\r
@@ -297,7 +378,42 @@ typedef enum {
 \r
 typedef UINTN   EFI_PROCESSOR_PACKAGE_NUMBER_DATA;\r
 \r
-typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;\r
+typedef UINT8   EFI_PROCESSOR_CORE_COUNT_DATA;\r
+typedef UINT8   EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA;\r
+typedef UINT8   EFI_PROCESSOR_THREAD_COUNT_DATA;\r
+\r
+typedef struct {\r
+  UINT16  Reserved              :1;\r
+  UINT16  Unknown               :1;\r
+  UINT16  Capable64Bit          :1;\r
+  UINT16  Reserved2             :13;\r
+} EFI_PROCESSOR_CHARACTERISTICS_DATA;\r
+\r
+typedef struct {\r
+  EFI_PROCESSOR_SOCKET_NAME_DATA          ProcessorSocketName;\r
+  EFI_PROCESSOR_TYPE_DATA                 ProcessorType;\r
+  EFI_PROCESSOR_FAMILY_DATA               ProcessorFamily;\r
+  EFI_PROCESSOR_MANUFACTURER_DATA         ProcessorManufacturer;\r
+  EFI_PROCESSOR_ID_DATA                   ProcessorId;\r
+  EFI_PROCESSOR_VERSION_DATA              ProcessorVersion;\r
+  EFI_PROCESSOR_VOLTAGE_DATA              ProcessorVoltage;\r
+  EFI_PROCESSOR_FSB_FREQUENCY_DATA        ProcessorFsbFrequency;\r
+  EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA   ProcessorMaxCoreFrequency;  \r
+  EFI_PROCESSOR_CORE_FREQUENCY_DATA       ProcessorCoreFrequency;\r
+  EFI_PROCESSOR_STATUS_DATA               ProcessorStatus;  \r
+  EFI_PROCESSOR_SOCKET_TYPE_DATA          ProcessorSocketType;\r
+  EFI_CACHE_ASSOCIATION_DATA              ProcessorL1LinkData;\r
+  EFI_CACHE_ASSOCIATION_DATA              ProcessorL2LinkData;\r
+  EFI_CACHE_ASSOCIATION_DATA              ProcessorL3LinkData;\r
+  EFI_PROCESSOR_SERIAL_NUMBER_DATA        ProcessorSerialNumber;\r
+  EFI_PROCESSOR_ASSET_TAG_DATA            ProcessorAssetTag;\r
+  EFI_PROCESSOR_PART_NUMBER_DATA          ProcessorPartNumber;\r
+  EFI_PROCESSOR_CORE_COUNT_DATA           ProcessorCoreCount;\r
+  EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA   ProcessorEnabledCoreCount;\r
+  EFI_PROCESSOR_THREAD_COUNT_DATA         ProcessorThreadCount;\r
+  EFI_PROCESSOR_CHARACTERISTICS_DATA      ProcessorCharacteristics;\r
+  EFI_PROCESSOR_FAMILY2_DATA              ProcessorFamily2;\r
+} EFI_PROCESSOR_SOCKET_DATA;\r
 \r
 typedef enum {\r
   ProcessorCoreFrequencyRecordType = 1,\r
@@ -323,7 +439,14 @@ typedef enum {
   ProcessorPackageNumberRecordType = 21,\r
   ProcessorCoreFrequencyListRecordType = 22,\r
   ProcessorFsbFrequencyListRecordType  = 23,\r
-  ProcessorHealthStatusRecordType  = 24\r
+  ProcessorHealthStatusRecordType  = 24,\r
+  ProcessorCoreCountRecordType = 25,\r
+  ProcessorEnabledCoreCountRecordType = 26,\r
+  ProcessorThreadCountRecordType = 27,\r
+  ProcessorCharacteristicsRecordType = 28,\r
+  ProcessorFamily2RecordType = 29,\r
+  ProcessorPartNumberRecordType = 30,\r
+  ProcessorSocketRecordType = 31\r
 } EFI_CPU_VARIABLE_RECORD_TYPE;\r
 \r
 typedef union {\r
@@ -348,8 +471,15 @@ typedef union {
   EFI_PROCESSOR_SOCKET_TYPE_DATA          ProcessorSocketType;\r
   EFI_PROCESSOR_SOCKET_NAME_DATA          ProcessorSocketName;\r
   EFI_PROCESSOR_ASSET_TAG_DATA            ProcessorAssetTag;\r
+  EFI_PROCESSOR_PART_NUMBER_DATA          ProcessorPartNumber;\r
   EFI_PROCESSOR_HEALTH_STATUS             ProcessorHealthStatus;\r
   EFI_PROCESSOR_PACKAGE_NUMBER_DATA       ProcessorPackageNumber;\r
+  EFI_PROCESSOR_CORE_COUNT_DATA           ProcessorCoreCount;\r
+  EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA   ProcessorEnabledCoreCount;\r
+  EFI_PROCESSOR_THREAD_COUNT_DATA         ProcessorThreadCount;\r
+  EFI_PROCESSOR_CHARACTERISTICS_DATA      ProcessorCharacteristics;\r
+  EFI_PROCESSOR_FAMILY2_DATA              ProcessorFamily2;\r
+  EFI_PROCESSOR_SOCKET_DATA               ProcessorSocket;\r
 } EFI_CPU_VARIABLE_RECORD;\r
 \r
 typedef struct {\r