Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11094 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2010-11-26 01:54:49 +00:00
parent 68bb5ce77e
commit 3e99020dbf
183 changed files with 15250 additions and 2636 deletions

View File

@@ -1,6 +1,6 @@
/*++
Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -140,7 +140,9 @@ typedef enum _EFI_MEMORY_ARRAY_TYPE {
EfiMemoryTypeRdram = 0x11,
EfiMemoryTypeDdr = 0x12,
EfiMemoryTypeDdr2 = 0x13,
EfiMemoryTypeDdr2FbDimm = 0x14
EfiMemoryTypeDdr2FbDimm = 0x14,
EfiMemoryTypeDdr3 = 0x18,
EfiMemoryTypeFbd2 = 0x19
} EFI_MEMORY_ARRAY_TYPE;
typedef struct {
@@ -189,6 +191,8 @@ typedef struct {
UINT16 MemorySpeed;
EFI_MEMORY_STATE MemoryState;
UINT8 MemoryAttributes;
UINT8 MemoryBankConnections;
UINT8 MemoryErrorStatus;
} EFI_MEMORY_ARRAY_LINK;
@@ -304,11 +308,15 @@ typedef struct {
typedef struct {
UINT8 Five :1;
UINT8 There :1;
UINT8 Three :1;
UINT8 Two :1;
UINT8 Reserved :5;
} EFI_MEMORY_MODULE_VOLTAGE_TYPE;
//
// EFI_MEMORY_CONTROLLER_INFORMATION is obsolete
// Use EFI_MEMORY_CONTROLLER_INFORMATION_DATA instead
//
typedef struct {
EFI_MEMORY_ERROR_DETECT_METHOD_TYPE ErrorDetectingMethod;
EFI_MEMORY_ERROR_CORRECT_CAPABILITY ErrorCorrectingCapability;
@@ -323,6 +331,20 @@ typedef struct {
UINT16 *MemoryModuleConfigHandles;
} EFI_MEMORY_CONTROLLER_INFORMATION;
typedef struct {
EFI_MEMORY_ERROR_DETECT_METHOD_TYPE ErrorDetectingMethod;
EFI_MEMORY_ERROR_CORRECT_CAPABILITY ErrorCorrectingCapability;
EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE MemorySupportedInterleave;
EFI_MEMORY_SUPPORT_INTERLEAVE_TYPE MemoryCurrentInterleave;
UINT8 MaxMemoryModuleSize;
EFI_MEMORY_SPEED_TYPE MemorySpeedType;
EFI_MEMORY_SUPPORTED_TYPE MemorySupportedType;
EFI_MEMORY_MODULE_VOLTAGE_TYPE MemoryModuleVoltage;
UINT8 NumberofMemorySlot;
EFI_MEMORY_ERROR_CORRECT_CAPABILITY EnabledCorrectingCapability;
EFI_INTER_LINK_DATA MemoryModuleConfig[1];
} EFI_MEMORY_CONTROLLER_INFORMATION_DATA;
//
// Memory. Error Information - SMBIOS Type 18
//

View File

@@ -1,6 +1,6 @@
/*++
Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -261,6 +261,7 @@ typedef enum {
typedef struct {
UINT32 RecordType :1;
UINT32 Type :7;
UINT32 Reserved :24;
} EFI_MISC_ELEMENT_TYPE;
@@ -417,7 +418,7 @@ typedef enum {
EfiSlotTypeApg2X = 0x10,
EfiSlotTypeAgp4X = 0x11,
EfiSlotTypePciX = 0x12,
EfiSlotTypeAgp4x = 0x13,
EfiSlotTypeAgp8X = 0x13,
EfiSlotTypePC98C20 = 0xA0,
EfiSlotTypePC98C24 = 0xA1,
EfiSlotTypePC98E = 0xA2,
@@ -428,7 +429,13 @@ typedef enum {
EfiSlotTypePciExpressX2 = 0xA7,
EfiSlotTypePciExpressX4 = 0xA8,
EfiSlotTypePciExpressX8 = 0xA9,
EfiSlotTypePciExpressX16 = 0xAA
EfiSlotTypePciExpressX16 = 0xAA,
EfiSlotTypePciExpressGen2 = 0xAB,
EfiSlotTypePciExpressGen2X1 = 0xAC,
EfiSlotTypePciExpressGen2X2 = 0xAD,
EfiSlotTypePciExpressGen2X4 = 0xAE,
EfiSlotTypePciExpressGen2X8 = 0xAF,
EfiSlotTypePciExpressGen2X16 = 0xB0
} EFI_MISC_SLOT_TYPE;
typedef enum {
@@ -595,6 +602,7 @@ typedef struct {
EFI_INTER_LINK_DATA GroupLink;
UINT16 GroupId;
UINT16 GroupElementId;
UINT8 ItemType;
} EFI_MISC_GROUP_ITEM_SET_DATA;
//
@@ -711,7 +719,12 @@ typedef struct {
//
// Misc. Hardware Security - SMBIOS Type 24
//
#define EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER 0x00000012
#define EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER 0x00000012
//
// Backward Compatibility
//
#define EFI_MISC_HARDWARE_SECURITY_SETTINGS_DATA_RECORD_NUMBER EFI_MISC_HARDWARE_SECURITY_RECORD_NUMBER
typedef enum {
EfiHardwareSecurityStatusDisabled = 0,
@@ -966,6 +979,7 @@ typedef struct {
EFI_INTER_LINK_DATA ManagementDeviceLink;
EFI_INTER_LINK_DATA ManagementDeviceComponentLink;
EFI_INTER_LINK_DATA ManagementDeviceThresholdLink;
UINT8 ComponentType;
} EFI_MISC_MANAGEMENT_DEVICE_COMPONENT_DESCRIPTION;
//
@@ -1013,7 +1027,7 @@ typedef struct {
} POWER_SUPPLY_CHARACTERISTICS;
typedef struct {
UINT8 PowerUnitGroup;
UINT16 PowerUnitGroup;
STRING_REF PowerSupplyLocation;
STRING_REF PowerSupplyDeviceName;
STRING_REF PowerSupplyManufacturer;
@@ -1098,18 +1112,62 @@ typedef struct {
// Misc. System Event Log - SMBIOS Type 15
//
#define EFI_MISC_SYSTEM_EVENT_LOG_RECORD_NUMBER 0x00000020
typedef enum {
EfiEventLogTypeReserved1 = 0,
EfiEventLogTypeSingleBitEccMemoryError = 1,
EfiEventLogTypeMultiBitEccMemoryError = 2,
EfiEventLogTypeParityMemoryError = 3,
EfiEventLogTypeBusTimeOut = 4,
EfiEventLogTypeIoChannelCheck = 5,
EfiEventLogTypeSoftwareNmi = 6,
EfiEventLogTypePostMemoryResize = 7,
EfiEventLogTypePostError = 8,
EfiEventLogTypePciParityError = 9,
EfiEventLogTypePciSystemError = 0xA,
EfiEventLogTypeCpuFailure = 0xB,
EfiEventLogTypeEisaFailSafeTimerTimeOut = 0xC,
EfiEventLogTypeCorrectableMemoryLogDisabled = 0xD,
EfiEventLogTypeLoggingDisabled = 0xE,
EfiEventLogTypeReserved2 = 0xF,
EfiEventLogTypeSystemLimitExceeded = 0x10,
EfiEventLogTypeAsynchronousHardwareTimerExpired = 0x11,
EfiEventLogTypeSystemConfigurationInformation = 0x12,
EfiEventLogTypeHardDiskInformation = 0x13,
EfiEventLogTypeSystemReconfigured = 0x14,
EfiEventLogTypeUncorrectableCpuComplexError = 0x15,
EfiEventLogTypeLogAreaResetCleared = 0x16,
EfiEventLogTypeSystemBoot = 0x17,
EfiEventLogTypeEndOfLog = 0xFF
} EFI_MISC_LOG_TYPE;
typedef enum {
EfiEventLogDataFormatTypeNone = 0,
EfiEventLogDataFormatTypeHandle = 1,
EfiEventLogDataFormatTypeMultipleEvent = 2,
EfiEventLogDataFormatTypeMultipleEventHandle = 3,
EfiEventLogDataFormatTypePostResultsBitmap = 4,
EfiEventLogDataFormatTypeSystemManagement = 5,
EfiEventLogDataFormatTypeMultipleEventSystemManagement = 6
} EFI_MISC_VARIABLE_DATA_FORMAT_TYPE;
typedef struct {
//SMBIOS_STRUCTURE_HDR Header;
UINT16 LogAreaLength;
UINT16 LogHeaderStartOffset;
UINT16 LogDataStartOffset;
UINT8 AccessMethod;
UINT8 LogStatus;
UINT32 LogChangeToken;
UINT32 AccessMethodAddress;
UINT8 LogHeaderFormat;
UINT8 NumberOfSupportedLogType;
UINT8 LengthOfLogDescriptor;
UINT8 LogType;
UINT8 DataFormatType;
} EFI_MISC_EVENT_LOG_TYPE;
typedef struct {
UINT16 LogAreaLength;
UINT16 LogHeaderStartOffset;
UINT16 LogDataStartOffset;
UINT8 AccessMethod;
UINT8 LogStatus;
UINT32 LogChangeToken;
UINT32 AccessMethodAddress;
UINT8 LogHeaderFormat;
UINT8 NumberOfSupportedLogType;
UINT8 LengthOfLogDescriptor;
EFI_PHYSICAL_ADDRESS EventLogTypeDescriptors; // Pointer to EFI_MISC_EVENT_LOG_TYPE
} EFI_MISC_SYSTEM_EVENT_LOG;
//

View File

@@ -1,6 +1,6 @@
/*++
Copyright (c) 2004 - 2007, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -49,6 +49,7 @@ typedef STRING_REF EFI_PROCESSOR_MANUFACTURER_DATA;
typedef STRING_REF EFI_PROCESSOR_SERIAL_NUMBER_DATA;
typedef STRING_REF EFI_PROCESSOR_ASSET_TAG_DATA;
typedef STRING_REF EFI_PROCESSOR_PART_NUMBER_DATA;
typedef struct {
@@ -159,6 +160,10 @@ typedef enum {
EfiProcessorFamilyPowerPC620 = 0x25,
EfiProcessorFamilyPowerPC704 = 0x26,
EfiProcessorFamilyPowerPC750 = 0x27,
EfiProcessorFamilyIntelCoreDuo = 0x28,
EfiProcessorFamilyIntelCoreDuoMobile = 0x29,
EfiProcessorFamilyIntelCoreSoloMobile = 0x2A,
EfiProcessorFamilyIntelAtom = 0x2B,
EfiProcessorFamilyAlpha2 = 0x30,
EfiProcessorFamilyAlpha21064 = 0x31,
EfiProcessorFamilyAlpha21066 = 0x32,
@@ -201,6 +206,12 @@ typedef enum {
EfiProcessorFamilyDualCoreAmdOpteron = 0x87,
EfiProcessorFamilyAmdAthlon64X2DualCore = 0x88,
EfiProcessorFamilyAmdTurion64X2Mobile = 0x89,
EfiProcessorFamilyQuadCoreAmdOpteron = 0x8A,
EfiProcessorFamilyThirdGenerationAmdOpteron = 0x8B,
EfiProcessorFamilyAmdPhenomFxQuadCore = 0x8C,
EfiProcessorFamilyAmdPhenomX4QuadCore = 0x8D,
EfiProcessorFamilyAmdPhenomX2DualCore = 0x8E,
EfiProcessorFamilyAmdAthlonX2DualCore = 0x8F,
EfiProcessorFamilyPARISC = 0x90,
EfiProcessorFamilyPaRisc8500 = 0x91,
EfiProcessorFamilyPaRisc8000 = 0x92,
@@ -209,6 +220,21 @@ typedef enum {
EfiProcessorFamilyPaRisc7100LC = 0x95,
EfiProcessorFamilyPaRisc7100 = 0x96,
EfiProcessorFamilyV30 = 0xA0,
EfiProcessorFamilyQuadCoreIntelXeon3200Series = 0xA1,
EfiProcessorFamilyDualCoreIntelXeon3000Series = 0xA2,
EfiProcessorFamilyQuadCoreIntelXeon5300Series = 0xA3,
EfiProcessorFamilyDualCoreIntelXeon5100Series = 0xA4,
EfiProcessorFamilyDualCoreIntelXeon5000Series = 0xA5,
EfiProcessorFamilyDualCoreIntelXeonLV = 0xA6,
EfiProcessorFamilyDualCoreIntelXeonULV = 0xA7,
EfiProcessorFamilyDualCoreIntelXeon7100Series = 0xA8,
EfiProcessorFamilyQuadCoreIntelXeon5400Series = 0xA9,
EfiProcessorFamilyQuadCoreIntelXeon = 0xAA,
EfiProcessorFamilyDualCoreIntelXeon5200Series = 0xAB,
EfiProcessorFamilyDualCoreIntelXeon7200Series = 0xAC,
EfiProcessorFamilyQuadCoreIntelXeon7300Series = 0xAD,
EfiProcessorFamilyQuadCoreIntelXeon7400Series = 0xAE,
EfiProcessorFamilyMultiCoreIntelXeon7400Series = 0xAF,
EfiProcessorFamilyPentiumIIIXeon = 0xB0,
EfiProcessorFamilyPentiumIIISpeedStep = 0xB1,
EfiProcessorFamilyPentium4 = 0xB2,
@@ -222,9 +248,17 @@ typedef enum {
EfiProcessorFamilyIntelCeleronD = 0xBA,
EfiProcessorFamilyIntelPentiumD = 0xBB,
EfiProcessorFamilyIntelPentiumEx = 0xBC,
EfiProcessorFamilyIntelCoreBrand = 0xBD,
EfiProcessorFamilyIntelCoreSolo = 0xBD, // SMBIOS spec 2.6 correct this value
EfiProcessorFamilyReserved = 0xBE,
EfiProcessorFamilyIntelCore2 = 0xBF,
EfiProcessorFamilyIntelCore2Solo = 0xC0,
EfiProcessorFamilyIntelCore2Extreme = 0xC1,
EfiProcessorFamilyIntelCore2Quad = 0xC2,
EfiProcessorFamilyIntelCore2ExtremeMobile = 0xC3,
EfiProcessorFamilyIntelCore2DuoMobile = 0xC4,
EfiProcessorFamilyIntelCore2SoloMobile = 0xC5,
EfiProcessorFamilyIntelCoreI7 = 0xC6,
EfiProcessorFamilyDualCoreIntelCeleron = 0xC7,
EfiProcessorFamilyIBM390 = 0xC8,
EfiProcessorFamilyG4 = 0xC9,
EfiProcessorFamilyG5 = 0xCA,
@@ -234,6 +268,20 @@ typedef enum {
EfiProcessorFamilyViaC7D = 0xD3,
EfiProcessorFamilyViaC7 = 0xD4,
EfiProcessorFamilyViaEden = 0xD5,
EfiProcessorFamilyMultiCoreIntelXeon = 0xD6,
EfiProcessorFamilyDualCoreIntelXeon3Series = 0xD7,
EfiProcessorFamilyQuadCoreIntelXeon3Series = 0xD8,
EfiProcessorFamilyDualCoreIntelXeon5Series = 0xDA,
EfiProcessorFamilyQuadCoreIntelXeon5Series = 0xDB,
EfiProcessorFamilyDualCoreIntelXeon7Series = 0xDD,
EfiProcessorFamilyQuadCoreIntelXeon7Series = 0xDE,
EfiProcessorFamilyMultiCoreIntelXeon7Series = 0xDF,
EfiProcessorFamilyEmbeddedAmdOpteronQuadCore = 0xE6,
EfiProcessorFamilyAmdPhenomTripleCore = 0xE7,
EfiProcessorFamilyAmdTurionUltraDualCoreMobile = 0xE8,
EfiProcessorFamilyAmdTurionDualCoreMobile = 0xE9,
EfiProcessorFamilyAmdAthlonDualCore = 0xEA,
EfiProcessorFamilyAmdSempronSI = 0xEB,
EfiProcessorFamilyi860 = 0xFA,
EfiProcessorFamilyi960 = 0xFB,
EfiProcessorFamilyIndicatorFamily2 = 0xFE
@@ -314,7 +362,8 @@ typedef enum {
EfiProcessorSocketLGA775 = 0x15,
EfiProcessorSocketS1 = 0x16,
EfiProcessorSocketAm2 = 0x17,
EfiProcessorSocketF = 0x18
EfiProcessorSocketF = 0x18,
EfiProcessorSocketLGA1366 = 0x19
} EFI_PROCESSOR_SOCKET_TYPE_DATA;
typedef STRING_REF EFI_PROCESSOR_SOCKET_NAME_DATA;