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:
@@ -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
|
||||
//
|
||||
|
@@ -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;
|
||||
|
||||
//
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
@@ -59,6 +59,11 @@ typedef struct {
|
||||
VOID* CapsulePtr[1];
|
||||
} EFI_CAPSULE_TABLE;
|
||||
|
||||
//
|
||||
// This struct is deprecated because VendorTable entries physical address will not be fixed up when
|
||||
// transitioning from preboot to runtime phase. So we don't need CapsuleInfoTable to record capsule
|
||||
// GUIDs any more for runtime convert.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 CapsuleGuidNumber;
|
||||
EFI_GUID CapsuleGuidPtr[1];
|
||||
@@ -66,6 +71,7 @@ typedef struct {
|
||||
|
||||
//
|
||||
// This GUID is used for collecting all capsules' Guids who install in ConfigTable.
|
||||
// This GUID is deprecated as well.
|
||||
//
|
||||
#define EFI_CAPSULE_INFO_GUID \
|
||||
{ \
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 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
|
||||
@@ -50,11 +50,10 @@ typedef enum {
|
||||
} EFI_PEI_PCI_CFG_PPI_WIDTH;
|
||||
|
||||
#define EFI_PEI_PCI_CFG_ADDRESS(bus, dev, func, reg) \
|
||||
( ((bus) << 24) | \
|
||||
((dev) << 16) | \
|
||||
((func) << 8) | \
|
||||
((reg) < 256 ? (reg): ((UINT64)(reg) << 32)))
|
||||
|
||||
(UINT64) ((((UINTN) (bus)) << 24) | \
|
||||
(((UINTN) (dev)) << 16) | \
|
||||
(((UINTN) (func)) << 8) | \
|
||||
((reg) < 256 ? ((UINTN) (reg)): ((UINT64) (reg) << 32)))
|
||||
|
||||
#if (PI_SPECIFICATION_VERSION < 0x00010000)
|
||||
|
||||
|
@@ -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
|
||||
@@ -361,8 +361,8 @@ EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_NEXT_FILE2) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_FV_FILETYPE SearchType,
|
||||
IN CONST EFI_PEI_FV_HANDLE *FwVolHeader,
|
||||
IN OUT EFI_PEI_FILE_HANDLE **FileHandle
|
||||
IN CONST EFI_PEI_FV_HANDLE FvHandle,
|
||||
IN OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
typedef
|
||||
@@ -370,7 +370,7 @@ EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_FIND_SECTION_DATA2) (
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_SECTION_TYPE SectionType,
|
||||
IN EFI_PEI_FILE_HANDLE *FileHandle,
|
||||
IN EFI_PEI_FILE_HANDLE FileHandle,
|
||||
OUT VOID **SectionData
|
||||
);
|
||||
|
||||
@@ -443,7 +443,7 @@ EFI_STATUS
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FFS_GET_VOLUME_INFO) (
|
||||
IN EFI_PEI_FV_HANDLE *VolumeHandle,
|
||||
IN EFI_PEI_FV_HANDLE VolumeHandle,
|
||||
OUT EFI_FV_INFO *VolumeInfo
|
||||
);
|
||||
|
||||
|
@@ -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
|
||||
@@ -22,28 +22,11 @@ Abstract:
|
||||
#ifndef _TIANO_SPEC_DEVICE_PATH_H
|
||||
#define _TIANO_SPEC_DEVICE_PATH_H
|
||||
|
||||
#pragma pack(1)
|
||||
#include "EfiDevicePath.h"
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION <= 0x00020000)
|
||||
//
|
||||
// EFI Specification extension on Media Device Path. MEDIA_FW_VOL_FILEPATH_DEVICE_PATH is adopted by UEFI later and added in UEFI2.10.
|
||||
// In EdkCompatibility Package, we only support MEDIA_FW_VOL_FILEPATH_DEVICE_PATH that complies with
|
||||
// EFI 1.10 and UEFI 2.10.
|
||||
// MEDIA_FW_VOL_FILEPATH_DEVICE_PATH and MEDIA_FW_VOL_DEVICE_PATH are defined in
|
||||
// EfiDevicePath.h
|
||||
//
|
||||
#define MEDIA_FV_FILEPATH_DP 0x06
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
EFI_GUID NameGuid;
|
||||
} MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;
|
||||
#endif
|
||||
|
||||
|
||||
#if (EFI_SPECIFICATION_VERSION > 0x00020000)
|
||||
//
|
||||
// EFI Specification extension on Media Device Path was added to UEFI 2.1 specification,
|
||||
// so the definition is moved to EfiDevicePath.h
|
||||
//
|
||||
#endif
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
|
@@ -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
|
||||
@@ -102,4 +102,7 @@ COMPONENT_TYPE= LIBRARY
|
||||
GuidedSectionExtraction/GuidedSectionExtraction.c
|
||||
EcpPciCfg/EcpPciCfg.h
|
||||
EcpPciCfg/EcpPciCfg.c
|
||||
|
||||
TemporaryRamSupport/TemporaryRamSupport.h
|
||||
TemporaryRamSupport/TemporaryRamSupport.c
|
||||
LoadedImage/LoadedImage.h
|
||||
LoadedImage/LoadedImage.c
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 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
|
||||
@@ -77,7 +77,7 @@ EFI_STATUS
|
||||
(EFIAPI *EFI_PEI_FV_FIND_FILE_NAME) (
|
||||
IN CONST EFI_PEI_FIRMWARE_VOLUME_PPI *This,
|
||||
IN CONST EFI_GUID *FileName,
|
||||
IN EFI_PEI_FV_HANDLE FvHandle,
|
||||
IN OUT EFI_PEI_FV_HANDLE *FvHandle,
|
||||
OUT EFI_PEI_FILE_HANDLE *FileHandle
|
||||
);
|
||||
|
||||
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2009 - 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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
LoadedImage.c
|
||||
|
||||
Abstract:
|
||||
|
||||
The file describes the PPI which notifies other drivers
|
||||
of the PEIM being initialized by the PEI Dispatcher.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (LoadedImage)
|
||||
|
||||
EFI_GUID gEfiPeiLoadedImagePpiGuid = EFI_PEI_LOADED_IMAGE_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiPeiLoadedImagePpiGuid, "LoadedImagePpi", "LoadedImage PPI");
|
@@ -0,0 +1,56 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2009 - 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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
LoadedImage.h
|
||||
|
||||
Abstract:
|
||||
|
||||
The file describes the PPI which notifies other drivers
|
||||
of the PEIM being initialized by the PEI Dispatcher.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __LOADED_IMAGE_PPI_H__
|
||||
#define __LOADED_IMAGE_PPI_H__
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#define EFI_PEI_LOADED_IMAGE_PPI_GUID \
|
||||
{ 0xc1fcd448, 0x6300, 0x4458, {0xb8, 0x64, 0x28, 0xdf, 0x01, 0x53, 0x64, 0xbc} }
|
||||
|
||||
typedef struct _EFI_PEI_LOADED_IMAGE_PPI EFI_PEI_LOADED_IMAGE_PPI;
|
||||
|
||||
///
|
||||
/// This interface is installed by the PEI Dispatcher after the image has been
|
||||
/// loaded and after all security checks have been performed,
|
||||
/// to notify other PEIMs of the files which are being loaded.
|
||||
///
|
||||
struct _EFI_PEI_LOADED_IMAGE_PPI {
|
||||
///
|
||||
/// Address of the image at the address where it will be executed.
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS ImageAddress;
|
||||
///
|
||||
/// Size of the image as it will be executed.
|
||||
///
|
||||
UINT64 ImageSize;
|
||||
///
|
||||
/// File handle from which the image was loaded.
|
||||
/// Can be NULL, indicating the image was not loaded from a handle.
|
||||
///
|
||||
EFI_PEI_FILE_HANDLE FileHandle;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiPeiLoadedImagePpiGuid;
|
||||
|
||||
#endif
|
@@ -0,0 +1,30 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2009 - 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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
TemporaryRamSupport.c
|
||||
|
||||
Abstract:
|
||||
|
||||
This file declares Temporary RAM Support PPI.
|
||||
This Ppi provides the service that migrates temporary RAM into permanent memory.
|
||||
|
||||
--*/
|
||||
|
||||
#include "Tiano.h"
|
||||
#include "PeiBind.h"
|
||||
#include "PeiApi.h"
|
||||
#include EFI_PPI_DEFINITION (TemporaryRamSupport)
|
||||
|
||||
EFI_GUID gEfiTemporaryRamSupportPpiGuid = TEMPORARY_RAM_SUPPORT_PPI_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiTemporaryRamSupportPpiGuid, "TemporaryRamSupportPpi", "TemporaryRamSupport PPI");
|
@@ -0,0 +1,66 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2009 - 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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
TemporaryRamSupport.h
|
||||
|
||||
Abstract:
|
||||
|
||||
This file declares Temporary RAM Support PPI.
|
||||
This Ppi provides the service that migrates temporary RAM into permanent memory.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __TEMPORARY_RAM_SUPPORT_H__
|
||||
#define __TEMPORARY_RAM_SUPPORT_H__
|
||||
|
||||
#include "Tiano.h"
|
||||
|
||||
#define TEMPORARY_RAM_SUPPORT_PPI_GUID \
|
||||
{ \
|
||||
0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} \
|
||||
}
|
||||
|
||||
/**
|
||||
This service of the TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into
|
||||
permanent memory.
|
||||
|
||||
@param PeiServices Pointer to the PEI Services Table.
|
||||
@param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the
|
||||
Temporary RAM contents.
|
||||
@param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the
|
||||
Temporary RAM contents.
|
||||
@param CopySize Amount of memory to migrate from temporary to permanent memory.
|
||||
|
||||
@retval EFI_SUCCESS The data was successfully returned.
|
||||
@retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when TemporaryMemoryBase > PermanentMemoryBase.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI * TEMPORARY_RAM_MIGRATION)(
|
||||
IN CONST EFI_PEI_SERVICES **PeiServices,
|
||||
IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,
|
||||
IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,
|
||||
IN UINTN CopySize
|
||||
);
|
||||
|
||||
///
|
||||
/// This service abstracts the ability to migrate contents of the platform early memory store.
|
||||
///
|
||||
typedef struct {
|
||||
TEMPORARY_RAM_MIGRATION TemporaryRamMigration;
|
||||
} TEMPORARY_RAM_SUPPORT_PPI;
|
||||
|
||||
extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;
|
||||
|
||||
#endif
|
@@ -1,6 +1,6 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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
|
||||
@@ -27,5 +27,7 @@ Abstract:
|
||||
#include EFI_PROTOCOL_DEFINITION (FirmwareVolumeBlock)
|
||||
|
||||
EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid = EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID;
|
||||
EFI_GUID gEfiFirmwareVolumeBlock2ProtocolGuid = EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID;
|
||||
|
||||
EFI_GUID_STRING(&gEfiFirmwareVolumeBlockProtocolGuid, "FirmwareVolumeBlock Protocol", "Firmware Volume Block protocol");
|
||||
EFI_GUID_STRING(&gEfiFirmwareVolumeBlock2ProtocolGuid, "FirmwareVolumeBlock2 Protocol", "Firmware Volume Block2 protocol");
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004 - 2009, 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
|
||||
@@ -40,6 +40,8 @@ Abstract:
|
||||
|
||||
EFI_FORWARD_DECLARATION (EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL);
|
||||
|
||||
typedef EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FVB_GET_ATTRIBUTES) (
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2004, 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
|
||||
@@ -174,10 +174,17 @@ typedef struct {
|
||||
UINT16 command_set_feature_enb_86; // word 86
|
||||
UINT16 command_set_feature_default; // word 87
|
||||
UINT16 ultra_dma_mode; // word 88
|
||||
UINT16 reserved_89_127[39];
|
||||
UINT16 reserved_89_105[17];
|
||||
UINT16 phy_logic_sector_support; // word 106
|
||||
UINT16 reserved_107_116[10];
|
||||
UINT16 logic_sector_size_lo; // word 117
|
||||
UINT16 logic_sector_size_hi; // word 118
|
||||
UINT16 reserved_119_127[9];
|
||||
UINT16 security_status;
|
||||
UINT16 vendor_data_129_159[31];
|
||||
UINT16 reserved_160_255[96];
|
||||
UINT16 reserved_160_208[49];
|
||||
UINT16 alignment_logic_in_phy_blocks; // word 209
|
||||
UINT16 reserved_210_255[46];
|
||||
} EFI_ATA_IDENTIFY_DATA;
|
||||
|
||||
#pragma pack()
|
||||
|
Reference in New Issue
Block a user