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;

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
@@ -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 \
{ \

View File

@@ -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)

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
@@ -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
);

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
@@ -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

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
@@ -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

View File

@@ -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
);

View File

@@ -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");

View File

@@ -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

View File

@@ -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");

View File

@@ -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

View File

@@ -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");

View File

@@ -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) (

View File

@@ -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()