1 /*++ 2 3 Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 DataHubSubClassProcessor.h 15 16 Abstract: 17 18 Definitions for processor sub class data records 19 20 Revision History 21 22 --*/ 23 24 #ifndef _DATAHUB_SUBCLASS_PROCESSOR_H_ 25 #define _DATAHUB_SUBCLASS_PROCESSOR_H_ 26 27 #define EFI_PROCESSOR_SUBCLASS_VERSION 0x00010000 28 29 #define EFI_PROCESSOR_SUBCLASS_GUID \ 30 { 0x26fdeb7e, 0xb8af, 0x4ccf, {0xaa, 0x97, 0x02, 0x63, 0x3c, 0xe4, 0x8c, 0xa7} } 31 32 33 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA; 34 35 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA; 36 37 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_CORE_FREQUENCY_DATA; 38 39 typedef EFI_EXP_BASE10_DATA *EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA; 40 41 typedef EFI_EXP_BASE10_DATA *EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA; 42 43 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_FSB_FREQUENCY_DATA; 44 45 typedef STRING_REF EFI_PROCESSOR_VERSION_DATA; 46 47 typedef STRING_REF EFI_PROCESSOR_MANUFACTURER_DATA; 48 49 typedef STRING_REF EFI_PROCESSOR_SERIAL_NUMBER_DATA; 50 51 typedef STRING_REF EFI_PROCESSOR_ASSET_TAG_DATA; 52 53 typedef STRING_REF EFI_PROCESSOR_PART_NUMBER_DATA; 54 55 typedef struct { 56 UINT32 ProcessorSteppingId:4; 57 UINT32 ProcessorModel: 4; 58 UINT32 ProcessorFamily: 4; 59 UINT32 ProcessorType: 2; 60 UINT32 ProcessorReserved1: 2; 61 UINT32 ProcessorXModel: 4; 62 UINT32 ProcessorXFamily: 8; 63 UINT32 ProcessorReserved2: 4; 64 } EFI_PROCESSOR_SIGNATURE; 65 66 typedef struct { 67 UINT32 ProcessorBrandIndex :8; 68 UINT32 ProcessorClflush :8; 69 UINT32 ProcessorReserved :8; 70 UINT32 ProcessorDfltApicId :8; 71 } EFI_PROCESSOR_MISC_INFO; 72 73 typedef struct { 74 UINT32 ProcessorFpu: 1; 75 UINT32 ProcessorVme: 1; 76 UINT32 ProcessorDe: 1; 77 UINT32 ProcessorPse: 1; 78 UINT32 ProcessorTsc: 1; 79 UINT32 ProcessorMsr: 1; 80 UINT32 ProcessorPae: 1; 81 UINT32 ProcessorMce: 1; 82 UINT32 ProcessorCx8: 1; 83 UINT32 ProcessorApic: 1; 84 UINT32 ProcessorReserved1: 1; 85 UINT32 ProcessorSep: 1; 86 UINT32 ProcessorMtrr: 1; 87 UINT32 ProcessorPge: 1; 88 UINT32 ProcessorMca: 1; 89 UINT32 ProcessorCmov: 1; 90 UINT32 ProcessorPat: 1; 91 UINT32 ProcessorPse36: 1; 92 UINT32 ProcessorPsn: 1; 93 UINT32 ProcessorClfsh: 1; 94 UINT32 ProcessorReserved2: 1; 95 UINT32 ProcessorDs: 1; 96 UINT32 ProcessorAcpi: 1; 97 UINT32 ProcessorMmx: 1; 98 UINT32 ProcessorFxsr: 1; 99 UINT32 ProcessorSse: 1; 100 UINT32 ProcessorSse2: 1; 101 UINT32 ProcessorSs: 1; 102 UINT32 ProcessorReserved3: 1; 103 UINT32 ProcessorTm: 1; 104 UINT32 ProcessorReserved4: 2; 105 } EFI_PROCESSOR_FEATURE_FLAGS; 106 107 typedef struct { 108 EFI_PROCESSOR_SIGNATURE Signature; 109 EFI_PROCESSOR_MISC_INFO MiscInfo; 110 UINT32 Reserved; 111 EFI_PROCESSOR_FEATURE_FLAGS FeatureFlags; 112 } EFI_PROCESSOR_ID_DATA; 113 114 typedef enum { 115 EfiProcessorOther = 1, 116 EfiProcessorUnknown = 2, 117 EfiCentralProcessor = 3, 118 EfiMathProcessor = 4, 119 EfiDspProcessor = 5, 120 EfiVideoProcessor = 6 121 } EFI_PROCESSOR_TYPE_DATA; 122 123 typedef enum { 124 EfiProcessorFamilyOther = 1, 125 EfiProcessorFamilyUnknown = 2, 126 EfiProcessorFamily8086 = 3, 127 EfiProcessorFamily80286 = 4, 128 EfiProcessorFamilyIntel386 = 5, 129 EfiProcessorFamilyIntel486 = 6, 130 EfiProcessorFamily8087 = 7, 131 EfiProcessorFamily80287 = 8, 132 EfiProcessorFamily80387 = 9, 133 EfiProcessorFamily80487 = 0x0A, 134 EfiProcessorFamilyPentium = 0x0B, 135 EfiProcessorFamilyPentiumPro = 0x0C, 136 EfiProcessorFamilyPentiumII = 0x0D, 137 EfiProcessorFamilyPentiumMMX = 0x0E, 138 EfiProcessorFamilyCeleron = 0x0F, 139 EfiProcessorFamilyPentiumIIXeon = 0x10, 140 EfiProcessorFamilyPentiumIII = 0x11, 141 EfiProcessorFamilyM1 = 0x12, 142 EfiProcessorFamilyM2 = 0x13, 143 EfiProcessorFamilyM1Reserved2 = 0x14, 144 EfiProcessorFamilyM1Reserved3 = 0x15, 145 EfiProcessorFamilyM1Reserved4 = 0x16, 146 EfiProcessorFamilyM1Reserved5 = 0x17, 147 EfiProcessorFamilyAmdDuron = 0x18, 148 EfiProcessorFamilyK5 = 0x19, 149 EfiProcessorFamilyK6 = 0x1A, 150 EfiProcessorFamilyK6_2 = 0x1B, 151 EfiProcessorFamilyK6_3 = 0x1C, 152 EfiProcessorFamilyAmdAthlon = 0x1D, 153 EfiProcessorFamilyK6_2Plus = 0x1E, 154 EfiProcessorFamilyK5Reserved6 = 0x1F, 155 EfiProcessorFamilyPowerPC = 0x20, 156 EfiProcessorFamilyPowerPC601 = 0x21, 157 EfiProcessorFamilyPowerPC603 = 0x22, 158 EfiProcessorFamilyPowerPC603Plus = 0x23, 159 EfiProcessorFamilyPowerPC604 = 0x24, 160 EfiProcessorFamilyPowerPC620 = 0x25, 161 EfiProcessorFamilyPowerPC704 = 0x26, 162 EfiProcessorFamilyPowerPC750 = 0x27, 163 EfiProcessorFamilyIntelCoreDuo = 0x28, 164 EfiProcessorFamilyIntelCoreDuoMobile = 0x29, 165 EfiProcessorFamilyIntelCoreSoloMobile = 0x2A, 166 EfiProcessorFamilyIntelAtom = 0x2B, 167 EfiProcessorFamilyAlpha2 = 0x30, 168 EfiProcessorFamilyAlpha21064 = 0x31, 169 EfiProcessorFamilyAlpha21066 = 0x32, 170 EfiProcessorFamilyAlpha21164 = 0x33, 171 EfiProcessorFamilyAlpha21164PC = 0x34, 172 EfiProcessorFamilyAlpha21164a = 0x35, 173 EfiProcessorFamilyAlpha21264 = 0x36, 174 EfiProcessorFamilyAlpha21364 = 0x37, 175 EfiProcessorFamilyMips = 0x40, 176 EfiProcessorFamilyMIPSR4000 = 0x41, 177 EfiProcessorFamilyMIPSR4200 = 0x42, 178 EfiProcessorFamilyMIPSR4400 = 0x43, 179 EfiProcessorFamilyMIPSR4600 = 0x44, 180 EfiProcessorFamilyMIPSR10000 = 0x45, 181 EfiProcessorFamilySparc = 0x50, 182 EfiProcessorFamilySuperSparc = 0x51, 183 EfiProcessorFamilymicroSparcII = 0x52, 184 EfiProcessorFamilymicroSparcIIep = 0x53, 185 EfiProcessorFamilyUltraSparc = 0x54, 186 EfiProcessorFamilyUltraSparcII = 0x55, 187 EfiProcessorFamilyUltraSparcIIi = 0x56, 188 EfiProcessorFamilyUltraSparcIII = 0x57, 189 EfiProcessorFamilyUltraSparcIIIi = 0x58, 190 EfiProcessorFamily68040 = 0x60, 191 EfiProcessorFamily68xxx = 0x61, 192 EfiProcessorFamily68000 = 0x62, 193 EfiProcessorFamily68010 = 0x63, 194 EfiProcessorFamily68020 = 0x64, 195 EfiProcessorFamily68030 = 0x65, 196 EfiProcessorFamilyHobbit = 0x70, 197 EfiProcessorFamilyCrusoeTM5000 = 0x78, 198 EfiProcessorFamilyCrusoeTM3000 = 0x79, 199 EfiProcessorFamilyEfficeonTM8000 = 0x7A, 200 EfiProcessorFamilyWeitek = 0x80, 201 EfiProcessorFamilyItanium = 0x82, 202 EfiProcessorFamilyAmdAthlon64 = 0x83, 203 EfiProcessorFamilyAmdOpteron = 0x84, 204 EfiProcessorFamilyAmdSempron = 0x85, 205 EfiProcessorFamilyAmdTurion64Mobile = 0x86, 206 EfiProcessorFamilyDualCoreAmdOpteron = 0x87, 207 EfiProcessorFamilyAmdAthlon64X2DualCore = 0x88, 208 EfiProcessorFamilyAmdTurion64X2Mobile = 0x89, 209 EfiProcessorFamilyQuadCoreAmdOpteron = 0x8A, 210 EfiProcessorFamilyThirdGenerationAmdOpteron = 0x8B, 211 EfiProcessorFamilyAmdPhenomFxQuadCore = 0x8C, 212 EfiProcessorFamilyAmdPhenomX4QuadCore = 0x8D, 213 EfiProcessorFamilyAmdPhenomX2DualCore = 0x8E, 214 EfiProcessorFamilyAmdAthlonX2DualCore = 0x8F, 215 EfiProcessorFamilyPARISC = 0x90, 216 EfiProcessorFamilyPaRisc8500 = 0x91, 217 EfiProcessorFamilyPaRisc8000 = 0x92, 218 EfiProcessorFamilyPaRisc7300LC = 0x93, 219 EfiProcessorFamilyPaRisc7200 = 0x94, 220 EfiProcessorFamilyPaRisc7100LC = 0x95, 221 EfiProcessorFamilyPaRisc7100 = 0x96, 222 EfiProcessorFamilyV30 = 0xA0, 223 EfiProcessorFamilyQuadCoreIntelXeon3200Series = 0xA1, 224 EfiProcessorFamilyDualCoreIntelXeon3000Series = 0xA2, 225 EfiProcessorFamilyQuadCoreIntelXeon5300Series = 0xA3, 226 EfiProcessorFamilyDualCoreIntelXeon5100Series = 0xA4, 227 EfiProcessorFamilyDualCoreIntelXeon5000Series = 0xA5, 228 EfiProcessorFamilyDualCoreIntelXeonLV = 0xA6, 229 EfiProcessorFamilyDualCoreIntelXeonULV = 0xA7, 230 EfiProcessorFamilyDualCoreIntelXeon7100Series = 0xA8, 231 EfiProcessorFamilyQuadCoreIntelXeon5400Series = 0xA9, 232 EfiProcessorFamilyQuadCoreIntelXeon = 0xAA, 233 EfiProcessorFamilyDualCoreIntelXeon5200Series = 0xAB, 234 EfiProcessorFamilyDualCoreIntelXeon7200Series = 0xAC, 235 EfiProcessorFamilyQuadCoreIntelXeon7300Series = 0xAD, 236 EfiProcessorFamilyQuadCoreIntelXeon7400Series = 0xAE, 237 EfiProcessorFamilyMultiCoreIntelXeon7400Series = 0xAF, 238 EfiProcessorFamilyPentiumIIIXeon = 0xB0, 239 EfiProcessorFamilyPentiumIIISpeedStep = 0xB1, 240 EfiProcessorFamilyPentium4 = 0xB2, 241 EfiProcessorFamilyIntelXeon = 0xB3, 242 EfiProcessorFamilyAS400 = 0xB4, 243 EfiProcessorFamilyIntelXeonMP = 0xB5, 244 EfiProcessorFamilyAMDAthlonXP = 0xB6, 245 EfiProcessorFamilyAMDAthlonMP = 0xB7, 246 EfiProcessorFamilyIntelItanium2 = 0xB8, 247 EfiProcessorFamilyIntelPentiumM = 0xB9, 248 EfiProcessorFamilyIntelCeleronD = 0xBA, 249 EfiProcessorFamilyIntelPentiumD = 0xBB, 250 EfiProcessorFamilyIntelPentiumEx = 0xBC, 251 EfiProcessorFamilyIntelCoreSolo = 0xBD, // SMBIOS spec 2.6 correct this value 252 EfiProcessorFamilyReserved = 0xBE, 253 EfiProcessorFamilyIntelCore2 = 0xBF, 254 EfiProcessorFamilyIntelCore2Solo = 0xC0, 255 EfiProcessorFamilyIntelCore2Extreme = 0xC1, 256 EfiProcessorFamilyIntelCore2Quad = 0xC2, 257 EfiProcessorFamilyIntelCore2ExtremeMobile = 0xC3, 258 EfiProcessorFamilyIntelCore2DuoMobile = 0xC4, 259 EfiProcessorFamilyIntelCore2SoloMobile = 0xC5, 260 EfiProcessorFamilyIntelCoreI7 = 0xC6, 261 EfiProcessorFamilyDualCoreIntelCeleron = 0xC7, 262 EfiProcessorFamilyIBM390 = 0xC8, 263 EfiProcessorFamilyG4 = 0xC9, 264 EfiProcessorFamilyG5 = 0xCA, 265 EfiProcessorFamilyG6 = 0xCB, 266 EfiProcessorFamilyzArchitectur = 0xCC, 267 EfiProcessorFamilyViaC7M = 0xD2, 268 EfiProcessorFamilyViaC7D = 0xD3, 269 EfiProcessorFamilyViaC7 = 0xD4, 270 EfiProcessorFamilyViaEden = 0xD5, 271 EfiProcessorFamilyMultiCoreIntelXeon = 0xD6, 272 EfiProcessorFamilyDualCoreIntelXeon3Series = 0xD7, 273 EfiProcessorFamilyQuadCoreIntelXeon3Series = 0xD8, 274 EfiProcessorFamilyDualCoreIntelXeon5Series = 0xDA, 275 EfiProcessorFamilyQuadCoreIntelXeon5Series = 0xDB, 276 EfiProcessorFamilyDualCoreIntelXeon7Series = 0xDD, 277 EfiProcessorFamilyQuadCoreIntelXeon7Series = 0xDE, 278 EfiProcessorFamilyMultiCoreIntelXeon7Series = 0xDF, 279 EfiProcessorFamilyEmbeddedAmdOpteronQuadCore = 0xE6, 280 EfiProcessorFamilyAmdPhenomTripleCore = 0xE7, 281 EfiProcessorFamilyAmdTurionUltraDualCoreMobile = 0xE8, 282 EfiProcessorFamilyAmdTurionDualCoreMobile = 0xE9, 283 EfiProcessorFamilyAmdAthlonDualCore = 0xEA, 284 EfiProcessorFamilyAmdSempronSI = 0xEB, 285 EfiProcessorFamilyi860 = 0xFA, 286 EfiProcessorFamilyi960 = 0xFB, 287 EfiProcessorFamilyIndicatorFamily2 = 0xFE 288 } EFI_PROCESSOR_FAMILY_DATA; 289 290 typedef enum { 291 EfiProcessorFamilySh3 = 0x104, 292 EfiProcessorFamilySh4 = 0x105, 293 EfiProcessorFamilyArm = 0x118, 294 EfiProcessorFamilyStrongArm = 0x119, 295 EfiProcessorFamily6x86 = 0x12C, 296 EfiProcessorFamilyMediaGx = 0x12D, 297 EfiProcessorFamilyMii = 0x12E, 298 EfiProcessorFamilyWinChip = 0x140, 299 EfiProcessorFamilyDsp = 0x15E, 300 EfiProcessorFamilyVideo = 0x1F4 301 } EFI_PROCESSOR_FAMILY2_DATA; 302 303 typedef EFI_EXP_BASE10_DATA EFI_PROCESSOR_VOLTAGE_DATA; 304 305 typedef EFI_PHYSICAL_ADDRESS EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA; 306 307 typedef UINT32 EFI_PROCESSOR_APIC_ID_DATA; 308 309 typedef UINT32 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA; 310 311 typedef enum { 312 EfiProcessorIa32Microcode = 1, 313 EfiProcessorIpfPalAMicrocode = 2, 314 EfiProcessorIpfPalBMicrocode = 3 315 } EFI_PROCESSOR_MICROCODE_TYPE; 316 317 typedef struct { 318 EFI_PROCESSOR_MICROCODE_TYPE ProcessorMicrocodeType; 319 UINT32 ProcessorMicrocodeRevisionNumber; 320 } EFI_PROCESSOR_MICROCODE_REVISION_DATA; 321 322 typedef struct { 323 UINT32 CpuStatus :3; 324 UINT32 Reserved1 :3; 325 UINT32 SocketPopulated :1; 326 UINT32 Reserved2 :1; 327 UINT32 ApicEnable :1; 328 UINT32 BootApplicationProcessor :1; 329 UINT32 Reserved3 :22; 330 } EFI_PROCESSOR_STATUS_DATA; 331 332 typedef enum { 333 EfiCpuStatusUnknown = 0, 334 EfiCpuStatusEnabled = 1, 335 EfiCpuStatusDisabledByUser = 2, 336 EfiCpuStatusDisabledbyBios = 3, 337 EfiCpuStatusIdle = 4, 338 EfiCpuStatusOther = 7 339 } EFI_CPU_STATUS; 340 341 typedef enum { 342 EfiProcessorSocketOther = 1, 343 EfiProcessorSocketUnknown = 2, 344 EfiProcessorSocketDaughterBoard = 3, 345 EfiProcessorSocketZIF = 4, 346 EfiProcessorSocketReplacePiggyBack = 5, 347 EfiProcessorSocketNone = 6, 348 EfiProcessorSocketLIF = 7, 349 EfiProcessorSocketSlot1 = 8, 350 EfiProcessorSocketSlot2 = 9, 351 EfiProcessorSocket370Pin = 0xA, 352 EfiProcessorSocketSlotA = 0xB, 353 EfiProcessorSocketSlotM = 0xC, 354 EfiProcessorSocket423 = 0xD, 355 EfiProcessorSocketA462 = 0xE, 356 EfiProcessorSocket478 = 0xF, 357 EfiProcessorSocket754 = 0x10, 358 EfiProcessorSocket940 = 0x11, 359 EfiProcessorSocket939 = 0x12, 360 EfiProcessorSocketmPGA604 = 0x13, 361 EfiProcessorSocketLGA771 = 0x14, 362 EfiProcessorSocketLGA775 = 0x15, 363 EfiProcessorSocketS1 = 0x16, 364 EfiProcessorSocketAm2 = 0x17, 365 EfiProcessorSocketF = 0x18, 366 EfiProcessorSocketLGA1366 = 0x19 367 } EFI_PROCESSOR_SOCKET_TYPE_DATA; 368 369 typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA; 370 371 typedef EFI_INTER_LINK_DATA EFI_CACHE_ASSOCIATION_DATA; 372 373 typedef enum { 374 EfiProcessorHealthy = 1, 375 EfiProcessorPerfRestricted = 2, 376 EfiProcessorFuncRestricted = 3 377 } EFI_PROCESSOR_HEALTH_STATUS; 378 379 typedef UINTN EFI_PROCESSOR_PACKAGE_NUMBER_DATA; 380 381 typedef UINT8 EFI_PROCESSOR_CORE_COUNT_DATA; 382 typedef UINT8 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA; 383 typedef UINT8 EFI_PROCESSOR_THREAD_COUNT_DATA; 384 385 typedef struct { 386 UINT16 Reserved :1; 387 UINT16 Unknown :1; 388 UINT16 Capable64Bit :1; 389 UINT16 Reserved2 :13; 390 } EFI_PROCESSOR_CHARACTERISTICS_DATA; 391 392 typedef struct { 393 EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName; 394 EFI_PROCESSOR_TYPE_DATA ProcessorType; 395 EFI_PROCESSOR_FAMILY_DATA ProcessorFamily; 396 EFI_PROCESSOR_MANUFACTURER_DATA ProcessorManufacturer; 397 EFI_PROCESSOR_ID_DATA ProcessorId; 398 EFI_PROCESSOR_VERSION_DATA ProcessorVersion; 399 EFI_PROCESSOR_VOLTAGE_DATA ProcessorVoltage; 400 EFI_PROCESSOR_FSB_FREQUENCY_DATA ProcessorFsbFrequency; 401 EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA ProcessorMaxCoreFrequency; 402 EFI_PROCESSOR_CORE_FREQUENCY_DATA ProcessorCoreFrequency; 403 EFI_PROCESSOR_STATUS_DATA ProcessorStatus; 404 EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType; 405 EFI_CACHE_ASSOCIATION_DATA ProcessorL1LinkData; 406 EFI_CACHE_ASSOCIATION_DATA ProcessorL2LinkData; 407 EFI_CACHE_ASSOCIATION_DATA ProcessorL3LinkData; 408 EFI_PROCESSOR_SERIAL_NUMBER_DATA ProcessorSerialNumber; 409 EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag; 410 EFI_PROCESSOR_PART_NUMBER_DATA ProcessorPartNumber; 411 EFI_PROCESSOR_CORE_COUNT_DATA ProcessorCoreCount; 412 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA ProcessorEnabledCoreCount; 413 EFI_PROCESSOR_THREAD_COUNT_DATA ProcessorThreadCount; 414 EFI_PROCESSOR_CHARACTERISTICS_DATA ProcessorCharacteristics; 415 EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2; 416 } EFI_PROCESSOR_SOCKET_DATA; 417 418 typedef enum { 419 ProcessorCoreFrequencyRecordType = 1, 420 ProcessorFsbFrequencyRecordType = 2, 421 ProcessorVersionRecordType = 3, 422 ProcessorManufacturerRecordType = 4, 423 ProcessorSerialNumberRecordType = 5, 424 ProcessorIdRecordType = 6, 425 ProcessorTypeRecordType = 7, 426 ProcessorFamilyRecordType = 8, 427 ProcessorVoltageRecordType = 9, 428 ProcessorApicBaseAddressRecordType = 10, 429 ProcessorApicIdRecordType = 11, 430 ProcessorApicVersionNumberRecordType = 12, 431 CpuUcodeRevisionDataRecordType = 13, 432 ProcessorStatusRecordType = 14, 433 ProcessorSocketTypeRecordType = 15, 434 ProcessorSocketNameRecordType = 16, 435 CacheAssociationRecordType = 17, 436 ProcessorMaxCoreFrequencyRecordType = 18, 437 ProcessorAssetTagRecordType = 19, 438 ProcessorMaxFsbFrequencyRecordType = 20, 439 ProcessorPackageNumberRecordType = 21, 440 ProcessorCoreFrequencyListRecordType = 22, 441 ProcessorFsbFrequencyListRecordType = 23, 442 ProcessorHealthStatusRecordType = 24, 443 ProcessorCoreCountRecordType = 25, 444 ProcessorEnabledCoreCountRecordType = 26, 445 ProcessorThreadCountRecordType = 27, 446 ProcessorCharacteristicsRecordType = 28, 447 ProcessorFamily2RecordType = 29, 448 ProcessorPartNumberRecordType = 30, 449 ProcessorSocketRecordType = 31 450 } EFI_CPU_VARIABLE_RECORD_TYPE; 451 452 typedef union { 453 EFI_PROCESSOR_CORE_FREQUENCY_LIST_DATA ProcessorCoreFrequencyList; 454 EFI_PROCESSOR_FSB_FREQUENCY_LIST_DATA ProcessorFsbFrequencyList; 455 EFI_PROCESSOR_SERIAL_NUMBER_DATA ProcessorSerialNumber; 456 EFI_PROCESSOR_CORE_FREQUENCY_DATA ProcessorCoreFrequency; 457 EFI_PROCESSOR_FSB_FREQUENCY_DATA ProcessorFsbFrequency; 458 EFI_PROCESSOR_MAX_CORE_FREQUENCY_DATA ProcessorMaxCoreFrequency; 459 EFI_PROCESSOR_MAX_FSB_FREQUENCY_DATA ProcessorMaxFsbFrequency; 460 EFI_PROCESSOR_VERSION_DATA ProcessorVersion; 461 EFI_PROCESSOR_MANUFACTURER_DATA ProcessorManufacturer; 462 EFI_PROCESSOR_ID_DATA ProcessorId; 463 EFI_PROCESSOR_TYPE_DATA ProcessorType; 464 EFI_PROCESSOR_FAMILY_DATA ProcessorFamily; 465 EFI_PROCESSOR_VOLTAGE_DATA ProcessorVoltage; 466 EFI_PROCESSOR_APIC_BASE_ADDRESS_DATA ProcessorApicBase; 467 EFI_PROCESSOR_APIC_ID_DATA ProcessorApicId; 468 EFI_PROCESSOR_APIC_VERSION_NUMBER_DATA ProcessorApicVersionNumber; 469 EFI_PROCESSOR_MICROCODE_REVISION_DATA CpuUcodeRevisionData; 470 EFI_PROCESSOR_STATUS_DATA ProcessorStatus; 471 EFI_PROCESSOR_SOCKET_TYPE_DATA ProcessorSocketType; 472 EFI_PROCESSOR_SOCKET_NAME_DATA ProcessorSocketName; 473 EFI_PROCESSOR_ASSET_TAG_DATA ProcessorAssetTag; 474 EFI_PROCESSOR_PART_NUMBER_DATA ProcessorPartNumber; 475 EFI_PROCESSOR_HEALTH_STATUS ProcessorHealthStatus; 476 EFI_PROCESSOR_PACKAGE_NUMBER_DATA ProcessorPackageNumber; 477 EFI_PROCESSOR_CORE_COUNT_DATA ProcessorCoreCount; 478 EFI_PROCESSOR_ENABLED_CORE_COUNT_DATA ProcessorEnabledCoreCount; 479 EFI_PROCESSOR_THREAD_COUNT_DATA ProcessorThreadCount; 480 EFI_PROCESSOR_CHARACTERISTICS_DATA ProcessorCharacteristics; 481 EFI_PROCESSOR_FAMILY2_DATA ProcessorFamily2; 482 EFI_PROCESSOR_SOCKET_DATA ProcessorSocket; 483 } EFI_CPU_VARIABLE_RECORD; 484 485 typedef struct { 486 EFI_SUBCLASS_TYPE1_HEADER DataRecordHeader; 487 EFI_CPU_VARIABLE_RECORD VariableRecord; 488 } EFI_CPU_DATA_RECORD; 489 490 #endif 491