]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassProcessor.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Guid / DataHubRecords / DataHubSubClassProcessor.h
diff --git a/EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassProcessor.h b/EdkCompatibilityPkg/Foundation/Framework/Guid/DataHubRecords/DataHubSubClassProcessor.h
new file mode 100644 (file)
index 0000000..ed0c885
--- /dev/null
@@ -0,0 +1,360 @@
+/*++\r
+\r
+Copyright (c) 2004 - 2006, Intel Corporation                                                         \r
+All rights reserved. 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
+                                                                                          \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+Module Name:\r
+\r
+  DataHubSubClassProcessor.h\r
+\r
+Abstract:\r
+\r
+  Definitions for processor sub class data records\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+#ifndef _DATAHUB_SUBCLASS_PROCESSOR_H_\r
+#define _DATAHUB_SUBCLASS_PROCESSOR_H_\r
+\r
+#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
+\r
+\r
+typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA;\r
+\r
+typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;\r
+\r
+typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_CORE_FREQUENCY_DATA;\r
+\r
+typedef EFI_EXP_BASE10_DATA  *EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA;\r
+\r
+typedef EFI_EXP_BASE10_DATA  *EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA;\r
+\r
+typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_FSB_FREQUENCY_DATA;\r
+\r
+typedef STRING_REF            EFI_PROCESSOR_VERSION_DATA;\r
+\r
+typedef STRING_REF            EFI_PROCESSOR_MANUFACTURER_DATA;\r
+\r
+typedef STRING_REF            EFI_PROCESSOR_SERIAL_NUMBER_DATA;\r
+\r
+typedef STRING_REF            EFI_PROCESSOR_ASSET_TAG_DATA;\r
+\r
+typedef struct {\r
+  UINT32  ProcessorSteppingId:4;\r
+  UINT32  ProcessorModel:     4;\r
+  UINT32  ProcessorFamily:    4;\r
+  UINT32  ProcessorType:      2;\r
+  UINT32  ProcessorReserved1: 2;\r
+  UINT32  ProcessorXModel:    4;\r
+  UINT32  ProcessorXFamily:   8;\r
+  UINT32  ProcessorReserved2: 4;\r
+} EFI_PROCESSOR_SIGNATURE;\r
+\r
+typedef struct {\r
+  UINT32  ProcessorBrandIndex :8;\r
+  UINT32  ProcessorClflush    :8;\r
+  UINT32  ProcessorReserved   :8;\r
+  UINT32  ProcessorDfltApicId :8;\r
+} EFI_PROCESSOR_MISC_INFO;\r
+\r
+typedef struct {\r
+  UINT32  ProcessorFpu:       1;\r
+  UINT32  ProcessorVme:       1;\r
+  UINT32  ProcessorDe:        1;\r
+  UINT32  ProcessorPse:       1;\r
+  UINT32  ProcessorTsc:       1;\r
+  UINT32  ProcessorMsr:       1;\r
+  UINT32  ProcessorPae:       1;\r
+  UINT32  ProcessorMce:       1;\r
+  UINT32  ProcessorCx8:       1;\r
+  UINT32  ProcessorApic:      1;\r
+  UINT32  ProcessorReserved1: 1;\r
+  UINT32  ProcessorSep:       1;\r
+  UINT32  ProcessorMtrr:      1;\r
+  UINT32  ProcessorPge:       1;\r
+  UINT32  ProcessorMca:       1;\r
+  UINT32  ProcessorCmov:      1;\r
+  UINT32  ProcessorPat:       1;\r
+  UINT32  ProcessorPse36:     1;\r
+  UINT32  ProcessorPsn:       1;\r
+  UINT32  ProcessorClfsh:     1;\r
+  UINT32  ProcessorReserved2: 1;\r
+  UINT32  ProcessorDs:        1;\r
+  UINT32  ProcessorAcpi:      1;\r
+  UINT32  ProcessorMmx:       1;\r
+  UINT32  ProcessorFxsr:      1;\r
+  UINT32  ProcessorSse:       1;\r
+  UINT32  ProcessorSse2:      1;\r
+  UINT32  ProcessorSs:        1;\r
+  UINT32  ProcessorReserved3: 1;\r
+  UINT32  ProcessorTm:        1;\r
+  UINT32  ProcessorReserved4: 2;\r
+} EFI_PROCESSOR_FEATURE_FLAGS;\r
+\r
+typedef struct {\r
+  EFI_PROCESSOR_SIGNATURE     Signature;\r
+  EFI_PROCESSOR_MISC_INFO     MiscInfo;\r
+  UINT32                      Reserved;\r
+  EFI_PROCESSOR_FEATURE_FLAGS FeatureFlags;\r
+} EFI_PROCESSOR_ID_DATA;\r
+\r
+typedef enum {\r
+  EfiProcessorOther = 1,\r
+  EfiProcessorUnknown = 2,\r
+  EfiCentralProcessor = 3,\r
+  EfiMathProcessor = 4,\r
+  EfiDspProcessor = 5,\r
+  EfiVideoProcessor = 6\r
+} EFI_PROCESSOR_TYPE_DATA;\r
+\r
+typedef enum {\r
+  EfiProcessorFamilyOther        = 1, \r
+  EfiProcessorFamilyUnknown      = 2,\r
+  EfiProcessorFamily8086         = 3, \r
+  EfiProcessorFamily80286        = 4,\r
+  EfiProcessorFamilyIntel386     = 5, \r
+  EfiProcessorFamilyIntel486     = 6,\r
+  EfiProcessorFamily8087         = 7,\r
+  EfiProcessorFamily80287        = 8,\r
+  EfiProcessorFamily80387        = 9, \r
+  EfiProcessorFamily80487        = 0x0A,\r
+  EfiProcessorFamilyPentium      = 0x0B, \r
+  EfiProcessorFamilyPentiumPro   = 0x0C,\r
+  EfiProcessorFamilyPentiumII    = 0x0D,\r
+  EfiProcessorFamilyPentiumMMX   = 0x0E,\r
+  EfiProcessorFamilyCeleron      = 0x0F,\r
+  EfiProcessorFamilyPentiumIIXeon = 0x10,\r
+  EfiProcessorFamilyPentiumIII   = 0x11, \r
+  EfiProcessorFamilyM1           = 0x12,\r
+  EfiProcessorFamilyM2           = 0x13,\r
+  EfiProcessorFamilyM1Reserved2 = 0x14,\r
+  EfiProcessorFamilyM1Reserved3  = 0x15,\r
+  EfiProcessorFamilyM1Reserved4  = 0x16,\r
+  EfiProcessorFamilyM1Reserved5  = 0x17,\r
+  EfiProcessorFamilyAmdDuron     = 0x18,\r
+  EfiProcessorFamilyK5           = 0x19, \r
+  EfiProcessorFamilyK6           = 0x1A,\r
+  EfiProcessorFamilyK6_2         = 0x1B,\r
+  EfiProcessorFamilyK6_3         = 0x1C,\r
+  EfiProcessorFamilyAmdAthlon    = 0x1D,\r
+  EfiProcessorFamilyK6_2Plus     = 0x1E,\r
+  EfiProcessorFamilyK5Reserved6  = 0x1F,\r
+  EfiProcessorFamilyPowerPC      = 0x20,\r
+  EfiProcessorFamilyPowerPC601   = 0x21,\r
+  EfiProcessorFamilyPowerPC603   = 0x22,\r
+  EfiProcessorFamilyPowerPC603Plus = 0x23,\r
+  EfiProcessorFamilyPowerPC604   = 0x24,\r
+  EfiProcessorFamilyPowerPC620   = 0x25,\r
+  EfiProcessorFamilyPowerPC704   = 0x26,\r
+  EfiProcessorFamilyPowerPC750   = 0x27,\r
+  EfiProcessorFamilyAlpha2       = 0x30,\r
+  EfiProcessorFamilyAlpha21064   = 0x31,\r
+  EfiProcessorFamilyAlpha21066   = 0x32,\r
+  EfiProcessorFamilyAlpha21164   = 0x33,\r
+  EfiProcessorFamilyAlpha21164PC = 0x34,\r
+  EfiProcessorFamilyAlpha21164a  = 0x35,\r
+  EfiProcessorFamilyAlpha21264   = 0x36,\r
+  EfiProcessorFamilyAlpha21364   = 0x37,\r
+  EfiProcessorFamilyMips         = 0x40,\r
+  EfiProcessorFamilyMIPSR4000    = 0x41,\r
+  EfiProcessorFamilyMIPSR4200    = 0x42,\r
+  EfiProcessorFamilyMIPSR4400    = 0x43,\r
+  EfiProcessorFamilyMIPSR4600    = 0x44,\r
+  EfiProcessorFamilyMIPSR10000   = 0x45,\r
+  EfiProcessorFamilySparc        = 0x50,\r
+  EfiProcessorFamilySuperSparc   = 0x51,\r
+  EfiProcessorFamilymicroSparcII = 0x52,\r
+  EfiProcessorFamilymicroSparcIIep = 0x53,\r
+  EfiProcessorFamilyUltraSparc   = 0x54,\r
+  EfiProcessorFamilyUltraSparcII = 0x55,\r
+  EfiProcessorFamilyUltraSparcIIi = 0x56,\r
+  EfiProcessorFamilyUltraSparcIII = 0x57,\r
+  EfiProcessorFamilyUltraSparcIIIi = 0x58,\r
+  EfiProcessorFamily68040        = 0x60,\r
+  EfiProcessorFamily68xxx        = 0x61,\r
+  EfiProcessorFamily68000        = 0x62,\r
+  EfiProcessorFamily68010        = 0x63,\r
+  EfiProcessorFamily68020        = 0x64,\r
+  EfiProcessorFamily68030        = 0x65,\r
+  EfiProcessorFamilyHobbit       = 0x70,\r
+  EfiProcessorFamilyCrusoeTM5000 = 0x78,\r
+  EfiProcessorFamilyCrusoeTM3000 = 0x79,\r
+  EfiProcessorFamilyWeitek       = 0x80,\r
+  EfiProcessorFamilyItanium      = 0x82,\r
+  EfiProcessorFamilyAmdAthlon64  = 0x83,\r
+  EfiProcessorFamilyAmdOpteron   = 0x84,\r
+  EfiProcessorFamilyPARISC       = 0x90,\r
+  EfiProcessorFamilyPaRisc8500   = 0x91,\r
+  EfiProcessorFamilyPaRisc8000   = 0x92,\r
+  EfiProcessorFamilyPaRisc7300LC = 0x93,\r
+  EfiProcessorFamilyPaRisc7200   = 0x94,\r
+  EfiProcessorFamilyPaRisc7100LC = 0x95,\r
+  EfiProcessorFamilyPaRisc7100   = 0x96,\r
+  EfiProcessorFamilyV30          = 0xA0,\r
+  EfiProcessorFamilyPentiumIIIXeon = 0xB0,\r
+  EfiProcessorFamilyPentiumIIISpeedStep = 0xB1,\r
+  EfiProcessorFamilyPentium4     = 0xB2,\r
+  EfiProcessorFamilyIntelXeon    = 0xB3,\r
+  EfiProcessorFamilyAS400        = 0xB4,\r
+  EfiProcessorFamilyIntelXeonMP  = 0xB5,\r
+  EfiProcessorFamilyAMDAthlonXP = 0xB6,\r
+  EfiProcessorFamilyAMDAthlonMP = 0xB7,\r
+  EfiProcessorFamilyIntelItanium2 = 0xB8,\r
+  EfiProcessorFamilyIntelPentiumM = 0xB9,\r
+  EfiProcessorFamilyIntelCeleronD = 0xBA,\r
+  EfiProcessorFamilyIntelPentiumD = 0xBB,\r
+  EfiProcessorFamilyIntelPentiumEx = 0xBC,\r
+  EfiProcessorFamilyIBM390       = 0xC8,\r
+  EfiProcessorFamilyG4           = 0xC9,\r
+  EfiProcessorFamilyG5           = 0xCA,\r
+  EfiProcessorFamilyi860         = 0xFA,\r
+  EfiProcessorFamilyi960         = 0xFB\r
+} EFI_PROCESSOR_FAMILY_DATA;\r
+\r
+\r
+typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_VOLTAGE_DATA;\r
+\r
+typedef EFI_PHYSICAL_ADDRESS EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA;\r
+\r
+typedef UINT32 EFI_PROCESSOR_APIC_ID_DATA;\r
+\r
+typedef UINT32 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA;\r
+\r
+typedef enum {\r
+  EfiProcessorIa32Microcode = 1,\r
+  EfiProcessorIpfPalAMicrocode = 2,\r
+  EfiProcessorIpfPalBMicrocode = 3\r
+} EFI_PROCESSOR_MICROCODE_TYPE;\r
+\r
+typedef struct {\r
+  EFI_PROCESSOR_MICROCODE_TYPE  ProcessorMicrocodeType;\r
+  UINT32                        ProcessorMicrocodeRevisionNumber;\r
+} EFI_PROCESSOR_MICROCODE_REVISION_DATA;\r
+\r
+typedef struct {\r
+  UINT32      CpuStatus       :3;\r
+  UINT32      Reserved1        :3;\r
+  UINT32      SocketPopulated     :1;\r
+  UINT32      Reserved2        :1;\r
+  UINT32      ApicEnable        :1;\r
+  UINT32      BootApplicationProcessor  :1;\r
+  UINT32      Reserved3        :22;\r
+} EFI_PROCESSOR_STATUS_DATA;\r
+\r
+typedef enum {\r
+  EfiCpuStatusUnknown = 0,\r
+  EfiCpuStatusEnabled = 1,\r
+  EfiCpuStatusDisabledByUser = 2,\r
+  EfiCpuStatusDisabledbyBios = 3,\r
+  EfiCpuStatusIdle = 4,\r
+  EfiCpuStatusOther = 7\r
+} EFI_CPU_STATUS;\r
+\r
+typedef enum {\r
+  EfiProcessorSocketOther = 1,\r
+  EfiProcessorSocketUnknown = 2,\r
+  EfiProcessorSocketDaughterBoard = 3,\r
+  EfiProcessorSocketZIF = 4,\r
+  EfiProcessorSocketReplacePiggyBack = 5,\r
+  EfiProcessorSocketNone = 6,\r
+  EfiProcessorSocketLIF = 7,\r
+  EfiProcessorSocketSlot1 = 8,\r
+  EfiProcessorSocketSlot2 = 9,\r
+  EfiProcessorSocket370Pin = 0xA,\r
+  EfiProcessorSocketSlotA = 0xB,\r
+  EfiProcessorSocketSlotM = 0xC,\r
+  EfiProcessorSocket423 = 0xD,\r
+  EfiProcessorSocketA462 = 0xE,\r
+  EfiProcessorSocket478 = 0xF,\r
+  EfiProcessorSocket754 = 0x10,\r
+  EfiProcessorSocket940 = 0x11,\r
+  EfiProcessorSocket939 = 0x12,\r
+  EfiProcessorSocketmPGA604 = 0x13,\r
+  EfiProcessorSocketLGA771 = 0x14,\r
+  EfiProcessorSocketLGA775 = 0x15\r
+} EFI_PROCESSOR_SOCKET_TYPE_DATA;\r
+\r
+typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA;\r
+\r
+typedef EFI_INTER_LINK_DATA EFI_CACHE_ASSOCIATION_DATA;\r
+\r
+typedef enum {\r
+  EfiProcessorHealthy = 1,\r
+  EfiProcessorPerfRestricted = 2,\r
+  EfiProcessorFuncRestricted = 3\r
+} EFI_PROCESSOR_HEALTH_STATUS;  \r
+\r
+typedef UINTN   EFI_PROCESSOR_PACKAGE_NUMBER_DATA;\r
+\r
+typedef EFI_EXP_BASE10_DATA   EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA;\r
+\r
+typedef enum {\r
+  ProcessorCoreFrequencyRecordType = 1,\r
+  ProcessorFsbFrequencyRecordType = 2,\r
+  ProcessorVersionRecordType = 3,\r
+  ProcessorManufacturerRecordType = 4,\r
+  ProcessorSerialNumberRecordType = 5,\r
+  ProcessorIdRecordType = 6,\r
+  ProcessorTypeRecordType = 7,\r
+  ProcessorFamilyRecordType = 8,\r
+  ProcessorVoltageRecordType = 9,\r
+  ProcessorApicBaseAddressRecordType = 10,\r
+  ProcessorApicIdRecordType = 11,\r
+  ProcessorApicVersionNumberRecordType = 12,\r
+  CpuUcodeRevisionDataRecordType = 13,\r
+  ProcessorStatusRecordType = 14,\r
+  ProcessorSocketTypeRecordType = 15,\r
+  ProcessorSocketNameRecordType = 16,\r
+  CacheAssociationRecordType = 17,\r
+  ProcessorMaxCoreFrequencyRecordType = 18,\r
+  ProcessorAssetTagRecordType = 19,\r
+  ProcessorMaxFsbFrequencyRecordType = 20,\r
+  ProcessorPackageNumberRecordType = 21,\r
+  ProcessorCoreFrequencyListRecordType = 22,\r
+  ProcessorFsbFrequencyListRecordType  = 23,\r
+  ProcessorHealthStatusRecordType  = 24\r
+} EFI_CPU_VARIABLE_RECORD_TYPE;\r
+\r
+typedef union {\r
+  EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA  ProcessorCoreFrequencyList;\r
+  EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA   ProcessorFsbFrequencyList;\r
+  EFI_PROCESSOR_SERIAL_NUMBER_DATA        ProcessorSerialNumber;\r
+  EFI_PROCESSOR_CORE_FREQUENCY_DATA       ProcessorCoreFrequency;\r
+  EFI_PROCESSOR_FSB_FREQUENCY_DATA        ProcessorFsbFrequency;\r
+  EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA   ProcessorMaxCoreFrequency;\r
+  EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA    ProcessorMaxFsbFrequency;\r
+  EFI_PROCESSOR_VERSION_DATA              ProcessorVersion;\r
+  EFI_PROCESSOR_MANUFACTURER_DATA         ProcessorManufacturer;\r
+  EFI_PROCESSOR_ID_DATA                   ProcessorId;\r
+  EFI_PROCESSOR_TYPE_DATA                 ProcessorType;\r
+  EFI_PROCESSOR_FAMILY_DATA               ProcessorFamily;\r
+  EFI_PROCESSOR_VOLTAGE_DATA              ProcessorVoltage;\r
+  EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA    ProcessorApicBase;\r
+  EFI_PROCESSOR_APIC_ID_DATA              ProcessorApicId;\r
+  EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA  ProcessorApicVersionNumber;\r
+  EFI_PROCESSOR_MICROCODE_REVISION_DATA   CpuUcodeRevisionData;\r
+  EFI_PROCESSOR_STATUS_DATA               ProcessorStatus;\r
+  EFI_PROCESSOR_SOCKET_TYPE_DATA          ProcessorSocketType;\r
+  EFI_PROCESSOR_SOCKET_NAME_DATA          ProcessorSocketName;\r
+  EFI_PROCESSOR_ASSET_TAG_DATA            ProcessorAssetTag;\r
+  EFI_PROCESSOR_HEALTH_STATUS             ProcessorHealthStatus;\r
+  EFI_PROCESSOR_PACKAGE_NUMBER_DATA       ProcessorPackageNumber;\r
+} EFI_CPU_VARIABLE_RECORD;\r
+\r
+typedef struct {\r
+  EFI_SUBCLASS_TYPE1_HEADER      DataRecordHeader;\r
+  EFI_CPU_VARIABLE_RECORD        VariableRecord;\r
+} EFI_CPU_DATA_RECORD;\r
+\r
+#endif\r