1. added common header files, Guid header filess, Protocol header files, PPI header files.

2. added Guids/Protocols/PPIs/Pcds definitions in .nspd, .dec files.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2744 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
vanjeff 2007-06-26 08:03:14 +00:00
parent dddf39a96c
commit 88f2012778
32 changed files with 2530 additions and 30 deletions

View File

@ -0,0 +1,28 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
CapsuleName.h
Abstract:
--*/
#ifndef __CAPSULE_NAME_H__
#define __CAPSULE_NAME_H__
//
// If capsule data is passed via a variable, then this name should be used.
//
#define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"
#endif

View File

@ -0,0 +1,87 @@
/**@file
Header file for EFI Variable Services.
Copyright (c) 2006 - 2007 Intel Corporation. <BR>
All rights reserved. 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.
**/
#ifndef __EFI_VARIABLE_H__
#define __EFI_VARIABLE_H__
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
#define MAX_VARIABLE_SIZE 1024
//
// Enlarges the hardware error record maximum variable size to 32K bytes
//
#define MAX_HARDWARE_ERROR_VARIABLE_SIZE 0x8000
#define VARIABLE_DATA 0x55AA
//
// Variable Store Header flags
//
#define VARIABLE_STORE_FORMATTED 0x5a
#define VARIABLE_STORE_HEALTHY 0xfe
//
// The alignment of variable's start offset.
// For IA32/X64 architecture, the alignment is set to 1, and
// 8 is for IPF archtecture.
//
#if defined (MDE_CPU_IPF)
#define ALIGNMENT 8
#else
#define ALIGNMENT 1
#endif
//
// Variable Store Status
//
typedef enum {
EfiRaw,
EfiValid,
EfiInvalid,
EfiUnknown
} VARIABLE_STORE_STATUS;
//
// Variable State flags
//
#define VAR_IN_DELETED_TRANSITION 0xfe // Variable is in obsolete transistion
#define VAR_DELETED 0xfd // Variable is obsolete
#define VAR_ADDED 0x7f // Variable has been completely added
#define IS_VARIABLE_STATE(_c, _Mask) (BOOLEAN) (((~_c) & (~_Mask)) != 0)
#pragma pack(1)
typedef struct {
UINT32 Signature;
UINT32 Size;
UINT8 Format;
UINT8 State;
UINT16 Reserved;
UINT32 Reserved1;
} VARIABLE_STORE_HEADER;
typedef struct {
UINT16 StartId;
UINT8 State;
UINT8 Reserved;
UINT32 Attributes;
UINT32 NameSize;
UINT32 DataSize;
EFI_GUID VendorGuid;
} VARIABLE_HEADER;
#pragma pack()
#endif // _EFI_VARIABLE_H_

View File

@ -0,0 +1,47 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
EfiWorkingBlockHeader.h
Abstract:
Defines data structure that is the headers found at the runtime
updatable firmware volumes, such as the FileSystemGuid of the
working block, the header structure of the variable block, FTW
working block, or event log block.
--*/
#ifndef __EFI_WORKING_BLOCK_HEADER_H__
#define __EFI_WORKING_BLOCK_HEADER_H__
//
// EFI Fault tolerant working block header
// The header is immediately followed by the write queue.
//
typedef struct {
EFI_GUID Signature;
UINT32 Crc;
UINT8 WorkingBlockValid : 1;
UINT8 WorkingBlockInvalid : 1;
#define WORKING_BLOCK_VALID 0x1
#define WORKING_BLOCK_INVALID 0x2
UINT8 Reserved : 6;
UINT8 Reserved3[3];
UINT32 WriteQueueSize;
//
// UINT8 WriteQueue[WriteQueueSize];
//
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
#endif

View File

@ -0,0 +1,32 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
AlternateFvBlock.h
Abstract:
Tiano Guid used to define the Alternate Firmware Volume Block Guid.
--*/
#ifndef __ALT_FVB_GUID_H__
#define __ALT_FVB_GUID_H__
#define EFI_ALTERNATE_FV_BLOCK_GUID \
{ \
0xf496922d, 0x172f, 0x4bbc, {0xa1, 0xeb, 0xe, 0xeb, 0x94, 0x9c, 0x34, 0x86 } \
}
extern EFI_GUID gEfiAlternateFvBlockGuid;
#endif

View File

@ -0,0 +1,62 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
Bmp.h
Abstract:
--*/
#ifndef __BMP_GUID_H__
#define __BMP_GUID_H__
//
// Definitions for BMP files
//
#pragma pack(1)
typedef struct {
UINT8 Blue;
UINT8 Green;
UINT8 Red;
UINT8 Reserved;
} BMP_COLOR_MAP;
typedef struct {
CHAR8 CharB;
CHAR8 CharM;
UINT32 Size;
UINT16 Reserved[2];
UINT32 ImageOffset;
UINT32 HeaderSize;
UINT32 PixelWidth;
UINT32 PixelHeight;
UINT16 Planes; // Must be 1
UINT16 BitPerPixel; // 1, 4, 8, or 24
UINT32 CompressionType;
UINT32 ImageSize; // Compressed image size in bytes
UINT32 XPixelsPerMeter;
UINT32 YPixelsPerMeter;
UINT32 NumberOfColors;
UINT32 ImportantColors;
} BMP_IMAGE_HEADER;
#pragma pack()
#define EFI_DEFAULT_BMP_LOGO_GUID \
{0x7BB28B99,0x61BB,0x11d5,{0x9A,0x5D,0x00,0x90,0x27,0x3F,0xC1,0x4D}}
extern EFI_GUID gEfiDefaultBmpLogoGuid;
#endif

View File

@ -0,0 +1,36 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
BootState.h
Abstract:
Constants and declarations that are common accross PEI and DXE.
--*/
#ifndef __BOOT_STATE_H__
#define __BOOT_STATE_H__
//
// BOOT STATE
//
typedef UINT32 EFI_BOOT_STATE;
#define BOOT_STATE_VARIABLE_NAME L"BootState"
#define EFI_BOOT_STATE_VARIABLE_GUID \
{0x60b5e939, 0xfcf, 0x4227, {0xba, 0x83, 0x6b, 0xbe, 0xd4, 0x5b, 0xc0, 0xe3} }
extern EFI_GUID gEfiBootStateGuid;
#endif

View File

@ -0,0 +1,35 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
CapsuleVendor.h
Abstract:
Capsule update Guid definitions
--*/
#ifndef __EFI_CAPSULE_VENDOR_GUID_H__
#define __EFI_CAPSULE_VENDOR_GUID_H__
//
// Note -- This guid is used as a vendor GUID (depending on implementation)
// for the capsule variable if the capsule pointer is passes through reset
// via a variable.
//
#define EFI_CAPSULE_VENDOR_GUID \
{ 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }
extern EFI_GUID gEfiCapsuleVendorGuid;
#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_

View File

@ -0,0 +1,29 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
ConsoleInDevice.h
Abstract:
--*/
#ifndef __CONSOLE_IN_DEVICE_H__
#define __CONSOLE_IN_DEVICE_H__
#define EFI_CONSOLE_IN_DEVICE_GUID \
{ 0xd3b36f2b, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
extern EFI_GUID gEfiConsoleInDeviceGuid;
#endif

View File

@ -0,0 +1,29 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
ConsoleOutDevice.h
Abstract:
--*/
#ifndef __CONSOLE_OUT_DEVICE_H__
#define __CONSOLE_OUT_DEVICE_H__
#define EFI_CONSOLE_OUT_DEVICE_GUID \
{ 0xd3b36f2c, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
extern EFI_GUID gEfiConsoleOutDeviceGuid;
#endif

View File

@ -0,0 +1,27 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
GenericPlatformVariable.h
Abstract:
The variable space Guid to pair with a Unicode string name to tag an EFI variable.
--*/
#ifndef __GENERIC_PLATFORM_VARIABLE_H__
#define __GENERIC_PLATFORM_VARIABLE_H__
extern EFI_GUID gEfiGenericPlatformVariableGuid;
#endif

View File

@ -0,0 +1,28 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
HotPlugDevice.h
Abstract:
--*/
#ifndef __HOT_PLUG_DEVICE_H__
#define __HOT_PLUG_DEVICE_H__
#define HOT_PLUG_DEVICE_GUID \
{ 0x220ac432, 0x1d43, 0x49e5, {0xa7, 0x4f, 0x4c, 0x9d, 0xa6, 0x7a, 0xd2, 0x3b } }
extern EFI_GUID gEfiHotPlugDeviceGuid;
#endif

View File

@ -0,0 +1,35 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
MemoryTypeInformation.h
Abstract:
GUID used for Memory Type Information entries in the HOB list.
--*/
#ifndef __MEMORY_TYPE_INFORMATION_GUID_H__
#define __MEMORY_TYPE_INFORMATION_GUID_H__
#define EFI_MEMORY_TYPE_INFORMATION_GUID \
{ 0x4c19049f,0x4137,0x4dd3, { 0x9c,0x10,0x8b,0x97,0xa8,0x3f,0xfd,0xfa } }
#define EFI_MEMORY_TYPE_INFORMATION_VARIABLE_NAME L"MemoryTypeInformation"
extern EFI_GUID gEfiMemoryTypeInformationGuid;
typedef struct {
UINT32 Type;
UINT32 NumberOfPages;
} EFI_MEMORY_TYPE_INFORMATION;
#endif

View File

@ -0,0 +1,56 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
PeiPerformanceHob.h
Abstract:
GUIDs used for PEI Performance HOB data structures
--*/
#ifndef __PEI_PERFORMANCE_HOB_H__
#define __PEI_PERFORMANCE_HOB_H__
//
// This is the GUID of PEI performance HOB
//
#define PEI_PERFORMANCE_HOB_GUID \
{ 0xec4df5af, 0x4395, 0x4cc9, { 0x94, 0xde, 0x77, 0x50, 0x6d, 0x12, 0xc7, 0xb8 } }
//
// PEI_PERFORMANCE_STRING_SIZE must be a multiple of 8.
//
#define PEI_PERFORMANCE_STRING_SIZE 8
#define PEI_PERFORMANCE_STRING_LENGTH (PEI_PERFORMANCE_STRING_SIZE - 1)
typedef struct {
EFI_PHYSICAL_ADDRESS Handle;
CHAR8 Token[PEI_PERFORMANCE_STRING_SIZE];
CHAR8 Module[PEI_PERFORMANCE_STRING_SIZE];
UINT64 StartTimeStamp;
UINT64 EndTimeStamp;
} PEI_PERFORMANCE_LOG_ENTRY;
//
// The header must be aligned at 8 bytes.
//
typedef struct {
UINT32 NumberOfEntries;
UINT32 Reserved;
} PEI_PERFORMANCE_LOG_HEADER;
extern EFI_GUID gPeiPerformanceHobGuid;
#endif

View File

@ -0,0 +1,29 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
PrimaryConsoleInDevice.h
Abstract:
--*/
#ifndef __PRIMARY_CONSOLE_IN_DEVICE_H__
#define __PRIMARY_CONSOLE_IN_DEVICE_H__
#define EFI_PRIMARY_CONSOLE_IN_DEVICE_GUID \
{ 0xe451dcbe, 0x96a1, 0x4729, {0xa5, 0xcf, 0x6b, 0x9c, 0x2c, 0xff, 0x47, 0xfd } }
extern EFI_GUID gEfiPrimaryConsoleInDeviceGuid;
#endif

View File

@ -0,0 +1,28 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
PrimaryConsoleOutDevice.h
Abstract:
--*/
#ifndef __PRIMARY_CONSOLE_OUT_DEVICE_H__
#define __PRIMARY_CONSOLE_OUT_DEVICE_H__
#define EFI_PRIMARY_CONSOLE_OUT_DEVICE_GUID \
{ 0x62bdf38a, 0xe3d5, 0x492c, {0x95, 0xc, 0x23, 0xa7, 0xf6, 0x6e, 0x67, 0x2e } }
extern EFI_GUID gEfiPrimaryConsoleOutDeviceGuid;
#endif

View File

@ -0,0 +1,28 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
PrimaryStandardErrorDevice.h
Abstract:
--*/
#ifndef __PRIMARY_STANDARD_ERROR_DEVICE_H__
#define __PRIMARY_STANDARD_ERROR_DEVICE_H__
#define EFI_PRIMARY_STANDARD_ERROR_DEVICE_GUID \
{ 0x5a68191b, 0x9b97, 0x4752, {0x99, 0x46, 0xe3, 0x6a, 0x5d, 0xa9, 0x42, 0xb1 } }
extern EFI_GUID gEfiPrimaryStandardErrorDeviceGuid;
#endif

View File

@ -0,0 +1,29 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
StandardErrorDevice.h
Abstract:
--*/
#ifndef __STANDARD_ERROR_DEVICE_H__
#define __STANDARD_ERROR_DEVICE_H__
#define EFI_STANDARD_ERROR_DEVICE_GUID \
{ 0xd3b36f2d, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
extern EFI_GUID gEfiStandardErrorDeviceGuid;
#endif

View File

@ -0,0 +1,45 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
SystemNvDataGuid.h
Abstract:
GUIDs used for System Non Volatile HOB entries in the in the HOB list and FV Guids carrying
the System specific information.
--*/
#ifndef __SYSTEM_NV_DATA_GUID_H__
#define __SYSTEM_NV_DATA_GUID_H__
#define EFI_SYSTEM_NV_DATA_FV_GUID \
{0xfff12b8d, 0x7696, 0x4c8b, {0xa9, 0x85, 0x27, 0x47, 0x7, 0x5b, 0x4f, 0x50} }
#define EFI_SYSTEM_NV_DATA_HOB_GUID \
{0xd6e5092d, 0xc7b2, 0x4872, {0xaf, 0x66, 0xfd, 0xc0, 0xe6, 0xf9, 0x5e, 0x78} }
typedef struct {
EFI_GUID SystemNvDataHobGuid;
EFI_GUID SystemNvDataFvGuid;
EFI_LBA StartLba;
UINTN StartLbaOffset;
EFI_LBA EndLba;
UINTN EndLbaOffset;
UINT32 DataTypeSignature;
} NV_SYSTEM_DATA_GUID_TYPE;
extern EFI_GUID gEfiSystemNvDataHobGuid;
extern EFI_GUID gEfiSystemNvDataFvGuid;
#endif

View File

@ -0,0 +1,56 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
BaseMemoryTest.h
Abstract:
Pei memory test PPI as defined in Tiano
Used to Pei memory test in PEI
--*/
#ifndef __BASE_MEMORY_TEST_H__
#define __BASE_MEMORY_TEST_H__
#define PEI_BASE_MEMORY_TEST_GUID \
{ 0xb6ec423c, 0x21d2, 0x490d, {0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74 } }
typedef struct _PEI_BASE_MEMORY_TEST_PPI PEI_BASE_MEMORY_TEST_PPI;
typedef enum {
Ignore,
Quick,
Sparse,
Extensive
} PEI_MEMORY_TEST_OP;
typedef
EFI_STATUS
(EFIAPI *PEI_BASE_MEMORY_TEST) (
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_BASE_MEMORY_TEST_PPI * This,
IN EFI_PHYSICAL_ADDRESS BeginAddress,
IN UINT64 MemoryLength,
IN PEI_MEMORY_TEST_OP Operation,
OUT EFI_PHYSICAL_ADDRESS * ErrorAddress
);
struct _PEI_BASE_MEMORY_TEST_PPI {
PEI_BASE_MEMORY_TEST BaseMemoryTest;
};
extern EFI_GUID gPeiBaseMemoryTestPpiGuid;
#endif

View File

@ -0,0 +1,39 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
Capsule.h
Abstract:
Capsule Architectural Protocol is newly added to produce UEFI2.0 capsule runtime services.
--*/
#ifndef __ARCH_PROTOCOL_CAPSULE_ARCH_H__
#define __ARCH_PROTOCOL_CAPSULE_ARCH_H__
//
// Global ID for the Capsule Architectural Protocol
//
#define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
{ 0x5053697e, 0x2ebc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}
extern EFI_GUID gEfiCapsuleArchProtocolGuid;
typedef struct {
UINT32 CapsuleArrayNumber;
VOID* CapsulePtr[1];
} EFI_CAPSULE_TABLE;
#endif

View File

@ -0,0 +1,121 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
ConsoleControl.h
Abstract:
Abstraction of a Text mode or UGA screen
--*/
#ifndef __CONSOLE_CONTROL_H__
#define __CONSOLE_CONTROL_H__
#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \
{ 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 } }
typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL;
typedef enum {
EfiConsoleControlScreenText,
EfiConsoleControlScreenGraphics,
EfiConsoleControlScreenMaxValue
} EFI_CONSOLE_CONTROL_SCREEN_MODE;
typedef
EFI_STATUS
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) (
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,
OUT BOOLEAN *UgaExists, OPTIONAL
OUT BOOLEAN *StdInLocked OPTIONAL
)
/*++
Routine Description:
Return the current video mode information. Also returns info about existence
of UGA Draw devices in system, and if the Std In device is locked. All the
arguments are optional and only returned if a non NULL pointer is passed in.
Arguments:
This - Protocol instance pointer.
Mode - Are we in text of grahics mode.
UgaExists - TRUE if UGA Spliter has found a UGA device
StdInLocked - TRUE if StdIn device is keyboard locked
Returns:
EFI_SUCCESS - Mode information returned.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) (
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE Mode
)
/*++
Routine Description:
Set the current mode to either text or graphics. Graphics is
for Quiet Boot.
Arguments:
This - Protocol instance pointer.
Mode - Mode to set the
Returns:
EFI_SUCCESS - Mode information returned.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) (
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
IN CHAR16 *Password
)
/*++
Routine Description:
Lock Std In devices until Password is typed.
Arguments:
This - Protocol instance pointer.
Password - Password needed to unlock screen. NULL means unlock keyboard
Returns:
EFI_SUCCESS - Mode information returned.
EFI_DEVICE_ERROR - Std In not locked
--*/
;
struct _EFI_CONSOLE_CONTROL_PROTOCOL {
EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;
EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode;
EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn;
};
extern EFI_GUID gEfiConsoleControlProtocolGuid;
#endif

View File

@ -0,0 +1,179 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
DiskInfo.h
Abstract:
Disk Info protocol is used to export Inquiry Data for a drive.
Its needed to support low level formating of drives in a mannor
thats DOS compatible.
--*/
#ifndef __DISK_INFO_H__
#define __DISK_INFO_H__
#define EFI_DISK_INFO_PROTOCOL_GUID \
{ \
0xd432a67f, 0x14dc, 0x484b, {0xb3, 0xbb, 0x3f, 0x2, 0x91, 0x84, 0x93, 0x27 } \
}
//
// Forward reference for pure ANSI compatability
//
typedef struct _EFI_DISK_INFO_PROTOCOL EFI_DISK_INFO_PROTOCOL;
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_INFO_INQUIRY) (
IN EFI_DISK_INFO_PROTOCOL * This,
IN OUT VOID *InquiryData,
IN OUT UINT32 *IntquiryDataSize
)
/*++
Routine Description:
Return the results of the Inquiry command to a drive in InquiryData.
Data format of Inquiry data is defined by the Interface GUID.
Arguments:
This - Protocol instance pointer.
InquiryData - Results of Inquiry command to device
InquiryDataSize - Size of InquiryData in bytes.
Returns:
EFI_SUCCESS - InquiryData valid
EFI_NOT_FOUND - Device does not support this data class
EFI_DEVICE_ERROR - Error reading InquiryData from device
EFI_BUFFER_TOO_SMALL - IntquiryDataSize not big enough
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_INFO_IDENTIFY) (
IN EFI_DISK_INFO_PROTOCOL * This,
IN OUT VOID *IdentifyData,
IN OUT UINT32 *IdentifyDataSize
)
/*++
Routine Description:
Return the results of the Identify command to a drive in IdentifyData.
Data format of Identify data is defined by the Interface GUID.
Arguments:
This - Protocol instance pointer.
IdentifyData - Results of Identify command to device
IdentifyDataSize - Size of IdentifyData in bytes.
Returns:
EFI_SUCCESS - IdentifyData valid
EFI_NOT_FOUND - Device does not support this data class
EFI_DEVICE_ERROR - Error reading IdentifyData from device
EFI_BUFFER_TOO_SMALL - IdentifyDataSize not big enough
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_INFO_SENSE_DATA) (
IN EFI_DISK_INFO_PROTOCOL * This,
IN OUT VOID *SenseData,
IN OUT UINT32 *SenseDataSize,
OUT UINT8 *SenseDataNumber
)
/*++
Routine Description:
Return the results of the Request Sense command to a drive in SenseData.
Data format of Sense data is defined by the Interface GUID.
Arguments:
This - Protocol instance pointer.
SenseData - Results of Request Sense command to device
SenseDataSize - Size of SenseData in bytes.
SenseDataNumber - Type of SenseData
Returns:
EFI_SUCCESS - InquiryData valid
EFI_NOT_FOUND - Device does not support this data class
EFI_DEVICE_ERROR - Error reading InquiryData from device
EFI_BUFFER_TOO_SMALL - SenseDataSize not big enough
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_DISK_INFO_WHICH_IDE) (
IN EFI_DISK_INFO_PROTOCOL * This,
OUT UINT32 *IdeChannel,
OUT UINT32 *IdeDevice
)
/*++
Routine Description:
Return the results of the Request Sense command to a drive in SenseData.
Data format of Sense data is defined by the Interface GUID.
Arguments:
This - Protocol instance pointer.
IdeChannel - Primary or Secondary
IdeDevice - Master or Slave
Returns:
EFI_SUCCESS - IdeChannel and IdeDevice are valid
EFI_UNSUPPORTED - This is not an IDE device
--*/
;
//
// GUIDs for EFI_DISK_INFO_PROTOCOL.Interface. Defines the format of the
// buffers returned by member functions
//
#define EFI_DISK_INFO_IDE_INTERFACE_GUID \
{ \
0x5e948fe3, 0x26d3, 0x42b5, {0xaf, 0x17, 0x61, 0x2, 0x87, 0x18, 0x8d, 0xec } \
}
extern EFI_GUID gEfiDiskInfoIdeInterfaceGuid;
#define EFI_DISK_INFO_SCSI_INTERFACE_GUID \
{ \
0x8f74baa, 0xea36, 0x41d9, {0x95, 0x21, 0x21, 0xa7, 0xf, 0x87, 0x80, 0xbc } \
}
extern EFI_GUID gEfiDiskInfoScsiInterfaceGuid;
#define EFI_DISK_INFO_USB_INTERFACE_GUID \
{ \
0xcb871572, 0xc11a, 0x47b5, {0xb4, 0x92, 0x67, 0x5e, 0xaf, 0xa7, 0x77, 0x27 } \
}
extern EFI_GUID gEfiDiskInfoUsbInterfaceGuid;
struct _EFI_DISK_INFO_PROTOCOL {
EFI_GUID Interface;
EFI_DISK_INFO_INQUIRY Inquiry;
EFI_DISK_INFO_IDENTIFY Identify;
EFI_DISK_INFO_SENSE_DATA SenseData;
EFI_DISK_INFO_WHICH_IDE WhichIde;
};
extern EFI_GUID gEfiDiskInfoProtocolGuid;
#endif

View File

@ -0,0 +1,88 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
FaultTolerantWriteLite.h
Abstract:
This is a simple fault tolerant write driver, based on PlatformFd library.
And it only supports write BufferSize <= SpareAreaLength.
--*/
#ifndef __FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H__
#define __FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H__
#define EFI_FTW_LITE_PROTOCOL_GUID \
{ 0x3f557189, 0x8dae, 0x45ae, {0xa0, 0xb3, 0x2b, 0x99, 0xca, 0x7a, 0xa7, 0xa0 } }
//
// Forward reference for pure ANSI compatability
//
typedef struct _EFI_FTW_LITE_PROTOCOL EFI_FTW_LITE_PROTOCOL;
//
// Protocol API definitions
//
typedef
EFI_STATUS
(EFIAPI * EFI_FTW_LITE_WRITE) (
IN EFI_FTW_LITE_PROTOCOL *This,
IN EFI_HANDLE FvbHandle,
IN EFI_LBA Lba,
IN UINTN Offset,
IN UINTN *NumBytes,
IN VOID *Buffer
);
/*++
Routine Description:
Starts a target block update. This records information about the write
in fault tolerant storage and will complete the write in a recoverable
manner, ensuring at all times that either the original contents or
the modified contents are available.
Arguments:
This - Calling context
FvBlockHandle - The handle of FVB protocol that provides services for
reading, writing, and erasing the target block.
Lba - The logical block address of the target block.
Offset - The offset within the target block to place the data.
Length - The number of bytes to write to the target block.
Buffer - The data to write.
Returns:
EFI_SUCCESS - The function completed successfully
EFI_ABORTED - The function could not complete successfully.
EFI_BAD_BUFFER_SIZE - The write would span a block boundary,
which is not a valid action.
EFI_ACCESS_DENIED - No writes have been allocated.
EFI_NOT_READY - The last write has not been completed.
Restart () must be called to complete it.
--*/
//
// Protocol declaration
//
struct _EFI_FTW_LITE_PROTOCOL {
EFI_FTW_LITE_WRITE Write;
};
extern EFI_GUID gEfiFaultTolerantWriteLiteProtocolGuid;
#endif

View File

@ -0,0 +1,53 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
FvbExtension.h
Abstract:
FVB Extension protocol that extends the FVB Class in a component fashion.
--*/
#ifndef __FVB_EXTENSION_H__
#define __FVB_EXTENSION_H__
#define EFI_FVB_EXTENSION_PROTOCOL_GUID \
{0x53a4c71b, 0xb581, 0x4170, {0x91, 0xb3, 0x8d, 0xb8, 0x7a, 0x4b, 0x5c, 0x46 } }
typedef struct _EFI_FVB_EXTENSION_PROTOCOL EFI_FVB_EXTENSION_PROTOCOL;
//
// FVB Extension Function Prototypes
//
typedef
EFI_STATUS
(EFIAPI * EFI_FV_ERASE_CUSTOM_BLOCK) (
IN EFI_FVB_EXTENSION_PROTOCOL *This,
IN EFI_LBA StartLba,
IN UINTN OffsetStartLba,
IN EFI_LBA LastLba,
IN UINTN OffsetLastLba
);
//
// IPMI TRANSPORT PROTOCOL
//
struct _EFI_FVB_EXTENSION_PROTOCOL {
EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock;
};
extern EFI_GUID gEfiFvbExtensionProtocolGuid;
#endif

View File

@ -0,0 +1,156 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
GenericMemoryTest.h
Abstract:
The EFI generic memory test protocol
For more information please look at EfiMemoryTest.doc
--*/
#ifndef __GENERIC_MEMORY_TEST_H__
#define __GENERIC_MEMORY_TEST_H__
#define EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID \
{ 0x309de7f1, 0x7f5e, 0x4ace, {0xb4, 0x9c, 0x53, 0x1b, 0xe5, 0xaa, 0x95, 0xef} }
typedef struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL EFI_GENERIC_MEMORY_TEST_PROTOCOL;
typedef enum {
IGNORE,
QUICK,
SPARSE,
EXTENSIVE,
MAXLEVEL
} EXTENDMEM_COVERAGE_LEVEL;
typedef
EFI_STATUS
(EFIAPI *EFI_MEMORY_TEST_INIT) (
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
IN EXTENDMEM_COVERAGE_LEVEL Level,
OUT BOOLEAN *RequireSoftECCInit
)
/*++
Routine Description:
Initialize the generic memory test.
Arguments:
This - Protocol instance pointer.
Level - The coverage level of the memory test.
RequireSoftECCInit - Indicate if the memory need software ECC init.
Returns:
EFI_SUCCESS - The generic memory test initialized correctly.
EFI_NO_MEDIA - There is not any non-tested memory found, in this
function if not any non-tesed memory found means
that the memory test driver have not detect any
non-tested extended memory of current system.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_PERFORM_MEMORY_TEST) (
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
OUT UINT64 *TestedMemorySize,
OUT UINT64 *TotalMemorySize,
OUT BOOLEAN *ErrorOut,
IN BOOLEAN IfTestAbort
)
/*++
Routine Description:
Perform the memory test.
Arguments:
This - Protocol instance pointer.
TestedMemorySize - Return the tested extended memory size.
TotalMemorySize - Return the whole system physical memory size, this
value may be changed if in some case some error
DIMMs be disabled.
ErrorOut - Any time the memory error occurs, this will be TRUE.
IfTestAbort - Indicate if the user press "ESC" to skip the memory
test.
Returns:
EFI_SUCCESS - One block of memory test ok, the block size is hide
internally.
EFI_NOT_FOUND - Indicate all the non-tested memory blocks have
already go through.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_MEMORY_TEST_FINISHED) (
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This
)
/*++
Routine Description:
The memory test finished.
Arguments:
This - Protocol instance pointer.
Returns:
EFI_SUCCESS - Successful free all the generic memory test driver
allocated resource and notify to platform memory
test driver that memory test finished.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_MEMORY_TEST_COMPATIBLE_RANGE) (
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
IN EFI_PHYSICAL_ADDRESS StartAddress,
IN UINT64 Length
)
/*++
Routine Description:
Provide capability to test compatible range which used by some sepcial
driver required using memory range before BDS perform memory test.
Arguments:
This - Protocol instance pointer.
StartAddress - The start address of the memory range.
Length - The memory range's length.
Return:
EFI_SUCCESS - The compatible memory range pass the memory test.
EFI_DEVICE_ERROR - The compatible memory range test find memory error
and also return return the error address.
--*/
;
struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL {
EFI_MEMORY_TEST_INIT MemoryTestInit;
EFI_PERFORM_MEMORY_TEST PerformMemoryTest;
EFI_MEMORY_TEST_FINISHED Finished;
EFI_MEMORY_TEST_COMPATIBLE_RANGE CompatibleRangeTest;
};
extern EFI_GUID gEfiGenericMemTestProtocolGuid;
#endif

View File

@ -0,0 +1,79 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
EfiOEMBadging.h
Abstract:
EFI OEM Badging Protocol definition header file
Revision History
--*/
#ifndef __EFI_OEM_BADGING_H__
#define __EFI_OEM_BADGING_H__
//
// GUID for EFI OEM Badging Protocol
//
#define EFI_OEM_BADGING_PROTOCOL_GUID \
{ 0x170e13c0, 0xbf1b, 0x4218, {0x87, 0x1d, 0x2a, 0xbd, 0xc6, 0xf8, 0x87, 0xbc } }
typedef struct _EFI_OEM_BADGING_PROTOCOL EFI_OEM_BADGING_PROTOCOL;
typedef enum {
EfiBadgingFormatBMP,
EfiBadgingFormatJPEG,
EfiBadgingFormatTIFF,
EfiBadgingFormatGIF,
EfiBadgingFormatUnknown
} EFI_BADGING_FORMAT;
typedef enum {
EfiBadgingDisplayAttributeLeftTop,
EfiBadgingDisplayAttributeCenterTop,
EfiBadgingDisplayAttributeRightTop,
EfiBadgingDisplayAttributeCenterRight,
EfiBadgingDisplayAttributeRightBottom,
EfiBadgingDisplayAttributeCenterBottom,
EfiBadgingDisplayAttributeLeftBottom,
EfiBadgingDisplayAttributeCenterLeft,
EfiBadgingDisplayAttributeCenter,
EfiBadgingDisplayAttributeCustomized
} EFI_BADGING_DISPLAY_ATTRIBUTE;
typedef
EFI_STATUS
(EFIAPI *EFI_BADGING_GET_IMAGE) (
IN EFI_OEM_BADGING_PROTOCOL *This,
IN OUT UINT32 *Instance,
OUT EFI_BADGING_FORMAT *Format,
OUT UINT8 **ImageData,
OUT UINTN *ImageSize,
OUT EFI_BADGING_DISPLAY_ATTRIBUTE *Attribute,
OUT UINTN *CoordinateX,
OUT UINTN *CoordinateY
);
struct _EFI_OEM_BADGING_PROTOCOL {
EFI_BADGING_GET_IMAGE GetImage;
};
extern EFI_GUID gEfiOEMBadgingProtocolGuid;
#endif

View File

@ -0,0 +1,166 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
Performance.h
Abstract:
--*/
#ifndef __PERFORMANCE_H__
#define __PERFORMANCE_H__
#define PERFORMANCE_PROTOCOL_GUID \
{ 0x76b6bdfa, 0x2acd, 0x4462, {0x9E, 0x3F, 0xcb, 0x58, 0xC9, 0x69, 0xd9, 0x37 } }
//
// Forward reference for pure ANSI compatability
//
typedef struct _PERFORMANCE_PROTOCOL PERFORMANCE_PROTOCOL;
#define DXE_TOK "DXE"
#define SHELL_TOK "SHELL"
#define PEI_TOK "PEI"
#define BDS_TOK "BDS"
#define DRIVERBINDING_START_TOK "DriverBinding:Start"
#define DRIVERBINDING_SUPPORT_TOK "DriverBinding:Support"
#define START_IMAGE_TOK "StartImage"
#define LOAD_IMAGE_TOK "LoadImage"
//
// DXE_PERFORMANCE_STRING_SIZE must be a multiple of 8.
//
#define DXE_PERFORMANCE_STRING_SIZE 32
#define DXE_PERFORMANCE_STRING_LENGTH (DXE_PERFORMANCE_STRING_SIZE - 1)
//
// The default guage entries number for DXE phase.
//
#define INIT_DXE_GAUGE_DATA_ENTRIES 800
typedef struct {
EFI_PHYSICAL_ADDRESS Handle;
CHAR8 Token[DXE_PERFORMANCE_STRING_SIZE];
CHAR8 Module[DXE_PERFORMANCE_STRING_SIZE];
UINT64 StartTimeStamp;
UINT64 EndTimeStamp;
} GAUGE_DATA_ENTRY;
//
// The header must be aligned at 8 bytes
//
typedef struct {
UINT32 NumberOfEntries;
UINT32 Reserved;
} GAUGE_DATA_HEADER;
/**
Adds a record at the end of the performance measurement log
that records the start time of a performance measurement.
Adds a record to the end of the performance measurement log
that contains the Handle, Token, and Module.
The end time of the new record must be set to zero.
If TimeStamp is not zero, then TimeStamp is used to fill in the start time in the record.
If TimeStamp is zero, the start time in the record is filled in with the value
read from the current time stamp.
@param Handle Pointer to environment specific context used
to identify the component being measured.
@param Token Pointer to a Null-terminated ASCII string
that identifies the component being measured.
@param Module Pointer to a Null-terminated ASCII string
that identifies the module being measured.
@param TimeStamp 64-bit time stamp.
@retval EFI_SUCCESS The data was read correctly from the device.
@retval EFI_OUT_OF_RESOURCES There are not enough resources to record the measurement.
**/
typedef
EFI_STATUS
(EFIAPI * PERFORMANCE_START_GAUGE) (
IN CONST VOID *Handle, OPTIONAL
IN CONST CHAR8 *Token, OPTIONAL
IN CONST CHAR8 *Module, OPTIONAL
IN UINT64 TimeStamp
);
/**
Searches the performance measurement log from the beginning of the log
for the first matching record that contains a zero end time and fills in a valid end time.
Searches the performance measurement log from the beginning of the log
for the first record that matches Handle, Token, and Module and has an end time value of zero.
If the record can not be found then return EFI_NOT_FOUND.
If the record is found and TimeStamp is not zero,
then the end time in the record is filled in with the value specified by TimeStamp.
If the record is found and TimeStamp is zero, then the end time in the matching record
is filled in with the current time stamp value.
@param Handle Pointer to environment specific context used
to identify the component being measured.
@param Token Pointer to a Null-terminated ASCII string
that identifies the component being measured.
@param Module Pointer to a Null-terminated ASCII string
that identifies the module being measured.
@param TimeStamp 64-bit time stamp.
@retval EFI_SUCCESS The end of the measurement was recorded.
@retval EFI_NOT_FOUND The specified measurement record could not be found.
**/
typedef
EFI_STATUS
(EFIAPI * PERFORMANCE_END_GAUGE) (
IN CONST VOID *Handle, OPTIONAL
IN CONST CHAR8 *Token, OPTIONAL
IN CONST CHAR8 *Module, OPTIONAL
IN UINT64 TimeStamp
);
/**
Retrieves a previously logged performance measurement.
Retrieves the performance log entry from the performance log specified by LogEntryKey.
If it stands for a valid entry, then EFI_SUCCESS is returned and
GaugeDataEntry stores the pointer to that entry.
@param LogEntryKey The key for the previous performance measurement log entry.
If 0, then the first performance measurement log entry is retrieved.
@param GaugeDataEntry The indirect pointer to the gauge data entry specified by LogEntryKey
if the retrieval is successful.
@retval EFI_SUCCESS The GuageDataEntry is successfuly found based on LogEntryKey.
@retval EFI_NOT_FOUND The LogEntryKey is the last entry (equals to the total entry number).
@retval EFI_INVALIDE_PARAMETER The LogEntryKey is not a valid entry (greater than the total entry number).
@retval EFI_INVALIDE_PARAMETER GaugeDataEntry is NULL.
**/
typedef
EFI_STATUS
(EFIAPI * PERFORMANCE_GET_GAUGE) (
IN UINTN LogEntryKey,
OUT GAUGE_DATA_ENTRY **GaugeDataEntry
);
struct _PERFORMANCE_PROTOCOL {
PERFORMANCE_START_GAUGE StartGauge;
PERFORMANCE_END_GAUGE EndGauge;
PERFORMANCE_GET_GAUGE GetGauge;
};
extern EFI_GUID gPerformanceProtocolGuid;
#endif

View File

@ -0,0 +1,50 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
Print.h
Abstract:
This file defines the Print protocol
--*/
#ifndef __PPRINT_H__
#define __PPRINT_H__
#define EFI_PRINT_PROTOCOL_GUID \
{ 0xdf2d868e, 0x32fc, 0x4cf0, {0x8e, 0x6b, 0xff, 0xd9, 0x5d, 0x13, 0x43, 0xd0 } }
//
// Forward reference for pure ANSI compatability
//
typedef struct _EFI_PRINT_PROTOCOL EFI_PRINT_PROTOCOL;
typedef
UINTN
(EFIAPI *EFI_VSPRINT) (
OUT CHAR16 *StartOfBuffer,
IN UINTN BufferSize,
IN CONST CHAR16 *FormatString,
IN VA_LIST Marker
);
struct _EFI_PRINT_PROTOCOL {
EFI_VSPRINT VSPrint;
};
extern EFI_GUID gEfiPrintProtocolGuid;
#endif

View File

@ -0,0 +1,241 @@
/*++
Copyright (c) 2006, Intel Corporation
All rights reserved. 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:
ScsiIo.h
Abstract:
SCSI I/O protocol.
--*/
#ifndef __SCSI_IO_H__
#define __SCSI_IO_H__
#define EFI_SCSI_IO_PROTOCOL_GUID \
{ 0x403cd195, 0xf233, 0x48ec, {0x84, 0x55, 0xb2, 0xe5, 0x2f, 0x1d, 0x9e, 0x2 } }
//
// Forward reference for pure ANSI compatability
//
typedef struct _EFI_SCSI_IO_PROTOCOL EFI_SCSI_IO_PROTOCOL;
//
// SCSI Host Adapter Status definition
//
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OK 0x00
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09 // timeout when processing the command
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT 0x0b // timeout when waiting for the command processing
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d // a message reject was received when processing command
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_RESET 0x0e // a bus reset was detected
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10 // the adapter failed in issuing request sense command
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11 // selection timeout
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12 // data overrun or data underrun
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_FREE 0x13 // Unexepected bus free
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 // Target bus phase sequence failure
#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f
//
// SCSI Target Status definition
//
#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00
#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 // check condition
#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 // condition met
#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 // busy
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 // intermediate
#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 // intermediate-condition met
#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 // reservation conflict
#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 // command terminated
#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 // queue full
typedef struct {
UINT64 Timeout;
VOID *DataBuffer;
VOID *SenseData;
VOID *Cdb;
UINT32 TransferLength;
UINT8 CdbLength;
UINT8 DataDirection;
UINT8 HostAdapterStatus;
UINT8 TargetStatus;
UINT8 SenseDataLength;
}EFI_SCSI_IO_SCSI_REQUEST_PACKET;
typedef
EFI_STATUS
(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE) (
IN EFI_SCSI_IO_PROTOCOL *This,
OUT UINT8 *DeviceType
)
/*++
Routine Description:
Retrieves the device type information of the SCSI Controller.
Arguments:
This - Protocol instance pointer.
DeviceType - A pointer to the device type information
retrieved from the SCSI Controller.
Returns:
EFI_SUCCESS - Retrieves the device type information successfully.
EFI_INVALID_PARAMETER - The DeviceType is NULL.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION) (
IN EFI_SCSI_IO_PROTOCOL *This,
OUT UINT32 *Target,
OUT UINT64 *Lun
)
/*++
Routine Description:
Retrieves the device location in the SCSI channel.
Arguments:
This - Protocol instance pointer.
Target - A pointer to the Target ID of a SCSI device
on the SCSI channel.
Lun - A pointer to the LUN of the SCSI device on
the SCSI channel.
Returns:
EFI_SUCCESS - Retrieves the device location successfully.
EFI_INVALID_PARAMETER - The Target or Lun is NULL.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_BUS) (
IN EFI_SCSI_IO_PROTOCOL *This
)
/*++
Routine Description:
Resets the SCSI Bus that the SCSI Controller is attached to.
Arguments:
This - Protocol instance pointer.
Returns:
EFI_SUCCESS - The SCSI bus is reset successfully.
EFI_DEVICE_ERROR - Errors encountered when resetting the SCSI bus.
EFI_UNSUPPORTED - The bus reset operation is not supported by the
SCSI Host Controller.
EFI_TIMEOUT - A timeout occurred while attempting to reset
the SCSI bus.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_DEVICE) (
IN EFI_SCSI_IO_PROTOCOL *This
)
/*++
Routine Description:
Resets the SCSI Controller that the device handle specifies.
Arguments:
This - Protocol instance pointer.
Returns:
EFI_SUCCESS - Reset the SCSI controller successfully.
EFI_DEVICE_ERROR - Errors are encountered when resetting the
SCSI Controller.
EFI_UNSUPPORTED - The SCSI bus does not support a device
reset operation.
EFI_TIMEOUT - A timeout occurred while attempting to
reset the SCSI Controller.
--*/
;
typedef
EFI_STATUS
(EFIAPI *EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_CMD) (
IN EFI_SCSI_IO_PROTOCOL *This,
IN OUT EFI_SCSI_IO_SCSI_REQUEST_PACKET *Packet,
IN EFI_EVENT Event OPTIONAL
)
/*++
Routine Description:
Sends a SCSI Request Packet to the SCSI Controller for execution.
Arguments:
This - Protocol instance pointer.
Packet - The SCSI request packet to send to the SCSI
Controller specified by the device handle.
Event - If the SCSI bus where the SCSI device is attached
does not support non-blocking I/O, then Event is
ignored, and blocking I/O is performed.
If Event is NULL, then blocking I/O is performed.
If Event is not NULL and non-blocking I/O is
supported, then non-blocking I/O is performed,
and Event will be signaled when the SCSI Request
Packet completes.
Returns:
EFI_SUCCESS - The SCSI Request Packet was sent by the host
successfully, and TransferLength bytes were
transferred to/from DataBuffer.See
HostAdapterStatus, TargetStatus,
SenseDataLength, and SenseData in that order
for additional status information.
EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed,
but the entire DataBuffer could not be transferred.
The actual number of bytes transferred is returned
in TransferLength. See HostAdapterStatus,
TargetStatus, SenseDataLength, and SenseData in
that order for additional status information.
EFI_NOT_READY - The SCSI Request Packet could not be sent because
there are too many SCSI Command Packets already
queued.The caller may retry again later.
EFI_DEVICE_ERROR - A device error occurred while attempting to send
the SCSI Request Packet. See HostAdapterStatus,
TargetStatus, SenseDataLength, and SenseData in
that order for additional status information.
EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid.
The SCSI Request Packet was not sent, so no
additional status information is available.
EFI_UNSUPPORTED - The command described by the SCSI Request Packet
is not supported by the SCSI initiator(i.e., SCSI
Host Controller). The SCSI Request Packet was not
sent, so no additional status information is
available.
EFI_TIMEOUT - A timeout occurred while waiting for the SCSI
Request Packet to execute. See HostAdapterStatus,
TargetStatus, SenseDataLength, and SenseData in
that order for additional status information.
--*/
;
struct _EFI_SCSI_IO_PROTOCOL {
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType;
EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation;
EFI_SCSI_IO_PROTOCOL_RESET_BUS ResetBus;
EFI_SCSI_IO_PROTOCOL_RESET_DEVICE ResetDevice;
EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_CMD ExecuteSCSICommand;
};
extern EFI_GUID gEfiScsiIoProtocolGuid;
#endif

View File

@ -0,0 +1,83 @@
/*++
Copyright (c) 2006 - 2007, Intel Corporation
All rights reserved. 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:
UsbAtapi.h
Abstract:
EFI Atapi Protocol definition.
Revision History
--*/
#ifndef __EFI_USB_ATAPI_H__
#define __EFI_USB_ATAPI_H__
//
// Transfer protocol types
//
#define BOT 0x50
#define CBI0 0x00
#define CBI1 0x01
//
// SubClass Code (defines command set)
//
#define EFI_USB_SUBCLASS_RBC 0x01
#define EFI_USB_SUBCLASS_ATAPI 0x02
#define EFI_USB_SUBCLASS_QIC_157 0x03
#define EFI_USB_SUBCLASS_UFI 0x04
#define EFI_USB_SUBCLASS_SFF_8070i 0x05
#define EFI_USB_SUBCLASS_SCSI 0x06
#define EFI_USB_SUBCLASS_RESERVED_LOW 0x07
#define EFI_USB_SUBCLASS_RESERVED_HIGH 0xff
//
// Global GUID for transfer protocol interface
//
#define EFI_USB_ATAPI_PROTOCOL_GUID \
{ 0x2B2F68DA, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } }
typedef struct _EFI_USB_ATAPI_PROTOCOL EFI_USB_ATAPI_PROTOCOL;
typedef
EFI_STATUS
(EFIAPI *EFI_USB_ATAPI_PACKET_CMD) (
IN EFI_USB_ATAPI_PROTOCOL *This,
IN VOID *Command,
IN UINT8 CommandSize,
IN VOID *DataBuffer,
IN UINT32 BufferLength,
IN EFI_USB_DATA_DIRECTION Direction,
IN UINT16 TimeOutInMilliSeconds
);
typedef
EFI_STATUS
(EFIAPI *EFI_USB_MASS_STORAGE_RESET) (
IN EFI_USB_ATAPI_PROTOCOL *This,
IN BOOLEAN ExtendedVerification
);
//
// Protocol Interface Structure
//
struct _EFI_USB_ATAPI_PROTOCOL {
EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd;
EFI_USB_MASS_STORAGE_RESET UsbAtapiReset;
UINT32 CommandProtocol;
};
extern EFI_GUID gEfiUsbAtapiProtocolGuid;
#endif

View File

@ -1,15 +1,17 @@
#/** @file
# Mde Module Package Reference Implementations
#
# This Module provides standard reference information for EFI/PI implementations.
# This module provides headers and libraries that conform to EFI/PI Industry standards.
# Copyright (c) 2007, Intel Corporation.
#
# All rights reserved.
# 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.
# 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.
#
#**/
@ -28,29 +30,6 @@
################################################################################
#
# Include Section - list of Include Paths that are provided by this package.
# Comments are used for Keywords and Module Types.
#
# Supported Module Types:
# SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER
#
################################################################################
[Includes.common]
################################################################################
#
# Library Class Header section - list of Library Class header files that are
# provided by this package.
#
################################################################################
[LibraryClasses.common]
################################################################################
#
# Global Guid Definition section - list of Global Guid C Name Data Structures
@ -58,6 +37,30 @@
#
################################################################################
[Guids.common]
gEfiGenericPlatformVariableGuid = { 0x59d1c24f, 0x50f1, 0x401a, { 0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43 }}
gPeiPerformanceHobGuid = { 0xEC4DF5AF, 0x4395, 0x4CC9, { 0x94, 0xDE, 0x77, 0x50, 0x6D, 0x12, 0xC7, 0xB8 }}
gEfiCapsuleVendorGuid = { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 }}
gEfiPciHotplugDeviceGuid = { 0x0B280816, 0x52E7, 0x4E51, { 0xAA, 0x57, 0x11, 0xBD, 0x41, 0xCB, 0xEF, 0xC3 }}
gEfiBootStateGuid = { 0x60B5E939, 0x0FCF, 0x4227, { 0xBA, 0x83, 0x6B, 0xBE, 0xD4, 0x5B, 0xC0, 0xE3 }}
gEfiDefaultBmpLogoGuid = { 0x7BB28B99, 0x61BB, 0x11D5, { 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
gEfiPrimaryConsoleOutDeviceGuid = { 0x62BDF38A, 0xE3D5, 0x492C, { 0x95, 0x0C, 0x23, 0xA7, 0xF6, 0x6E, 0x67, 0x2E }}
gEfiPrimaryConsoleInDeviceGuid = { 0xE451DCBE, 0x96A1, 0x4729, { 0xA5, 0xCF, 0x6B, 0x9C, 0x2C, 0xFF, 0x47, 0xFD }}
gEfiPrimaryStandardErrorDeviceGuid = { 0x5A68191B, 0x9B97, 0x4752, { 0x99, 0x46, 0xE3, 0x6A, 0x5D, 0xA9, 0x42, 0xB1 }}
gEfiHotPlugDeviceGuid = { 0x220AC432, 0x1D43, 0x49E5, { 0xA7, 0x4F, 0x4C, 0x9D, 0xA6, 0x7A, 0xD2, 0x3B }}
gEfiStandardErrorDeviceGuid = { 0xD3B36F2D, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
gEfiConsoleOutDeviceGuid = { 0xD3B36F2C, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
gEfiConsoleInDeviceGuid = { 0xD3B36F2B, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
gEfiAlternateFvBlockGuid = { 0xF496922D, 0x172F, 0x4BBC, { 0xA1, 0xEB, 0x0E, 0xEB, 0x94, 0x9C, 0x34, 0x86 }}
gEfiDiskInfoUsbInterfaceGuid = { 0xCB871572, 0xC11A, 0x47B5, { 0xB4, 0x92, 0x67, 0x5E, 0xAF, 0xA7, 0x77, 0x27 }}
gEfiDiskInfoScsiInterfaceGuid = { 0x08F74BAA, 0xEA36, 0x41D9, { 0x95, 0x21, 0x21, 0xA7, 0x0F, 0x87, 0x80, 0xBC }}
gEfiDiskInfoIdeInterfaceGuid = { 0x5E948FE3, 0x26D3, 0x42B5, { 0xAF, 0x17, 0x61, 0x02, 0x87, 0x18, 0x8D, 0xEC }}
gEfiSystemNvDataFvGuid = { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}
gEfiSystemNvDataHobGuid = { 0xD6E5092D, 0xC7B2, 0x4872, { 0xAF, 0x66, 0xFD, 0xC0, 0xE6, 0xF9, 0x5E, 0x78 }}
gPcdPeiCallbackFnTableHobGuid = { 0xC625F4B2, 0xEA09, 0x4675, { 0x82, 0xD7, 0xBA, 0x36, 0x82, 0x15, 0x7A, 0x14 }}
gPcdDataBaseHobGuid = { 0xEA296D92, 0x0B69, 0x423C, { 0x8C, 0x28, 0x33, 0xB4, 0xE0, 0xA9, 0x12, 0x68 }}
gEfiMdePkgTokenSpaceGuid = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }}
################################################################################
@ -67,6 +70,32 @@
#
################################################################################
[Protocols.common]
gEfiScsiIoProtocolGuid = { 0x403CD195, 0xF233, 0x48EC, { 0x84, 0x55, 0xB2, 0xE5, 0x2F, 0x1D, 0x9E, 0x02 }}
gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 }}
gEfiUsbAtapiProtocolGuid = { 0x2B2F68DA, 0x0CD2, 0x44CF, { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 }}
gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}
gEfiConsoleControlProtocolGuid = { 0xF42F7782, 0x012E, 0x4C12, { 0x99, 0x56, 0x49, 0xF9, 0x43, 0x04, 0xF7, 0x21 }}
gEfiFaultTolerantWriteLiteProtocolGuid = { 0x3F557189, 0x8DAE, 0x45AE, { 0xA0, 0xB3, 0x2B, 0x99, 0xCA, 0x7A, 0xA7, 0xA0 }}
gEfiFvbExtensionProtocolGuid = { 0x53A4C71B, 0xB581, 0x4170, { 0x91, 0xB3, 0x8D, 0xB8, 0x7A, 0x4B, 0x5C, 0x46 }}
gEfiDiskInfoProtocolGuid = { 0xD432A67F, 0x14DC, 0x484B, { 0xB3, 0xBB, 0x3F, 0x02, 0x91, 0x84, 0x93, 0x27 }}
gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }}
gEfiPrintProtocolGuid = { 0xDF2D868E, 0x32FC, 0x4CF0, { 0x8E, 0x6B, 0xFF, 0xD9, 0x5D, 0x13, 0x43, 0xD0 }}
gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}
gEfiCapsuleArchProtocolGuid = { 0x5053697E, 0x2EBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}
################################################################################
#
# Global Ppis Definition section - list of Global Ppis C Name Data Structures
# that are provided by this package.
#
################################################################################
[Ppis.common]
gPeiBaseMemoryTestPpiGuid = { 0xB6EC423C, 0x21D2, 0x490D, { 0x85, 0xC6, 0xDD, 0x58, 0x64, 0xEA, 0xA6, 0x74 }}
################################################################################
@ -77,5 +106,54 @@
#
################################################################################
[PcdsFeatureFlag.common]
[PcdFeatureFlag.common]
PcdSupportUpdateCapsuleRest|0x0001001d|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdPeiPcdDatabaseTraverseEnabled|0x00010020|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdDxePcdDatabaseTraverseEnabled|0x00010021|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdPeiPcdDatabaseSetEnabled|0x00010030|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdPeiPcdDatabaseGetSizeEnabled|0x00010031|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdPeiPcdDatabaseCallbackOnSetEnabled|0x00010032|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdPeiPcdDatabaseExEnabled|0x00010033|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdDxeIplSupportEfiDecompress|0x00010034|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdDxeIplSupportTianoDecompress|0x00010035|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdDxeIplSupportCustomDecompress|0x00010036|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
PcdDevicePathSupportDevicePathToText|0x00010037|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdDevicePathSupportDevicePathFromText|0x00010038|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdDxeIplBuildShareCodeHobs|0x0001003c|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdNtEmulatorEnable|0x0001003e|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
[PcdFixedAtBuild.common]
PcdMaxPeiPcdCallBackNumberPerPcdEntry|0x0001000f|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x08
PcdVpdBaseAddress|0x00010010|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x0
PcdMaxSizePopulateCapsule|0x0001001e|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x0
PcdMaxSizeNonPopulateCapsule|0x0001001f|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x0
PcdMaxPeiPerformanceLogEntries|0x0001002f|gEfiEdkModulePkgTokenSpaceGuid|UINT8|28
PcdFlashNvStorageVariableBase|0x30000001|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageVariableSize|0x30000002|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwSpareBase|0x30000013|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwSpareSize|0x30000014|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwWorkingBase|0x30000010|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwWorkingSize|0x30000011|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
[PcdDynamic.common]
PcdFlashNvStorageVariableBase|0x30000001|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageVariableSize|0x30000002|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwSpareBase|0x30000013|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwSpareSize|0x30000014|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwWorkingBase|0x30000010|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwWorkingSize|0x30000011|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
[PcdPatchableInModule.common]
PcdMaxPeiPerformanceLogEntries|0x0001002f|gEfiEdkModulePkgTokenSpaceGuid|UINT8|28
PcdFlashNvStorageVariableBase|0x30000001|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageVariableSize|0x30000002|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwSpareBase|0x30000013|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwSpareSize|0x30000014|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwWorkingBase|0x30000010|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
PcdFlashNvStorageFtwWorkingSize|0x30000011|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0
[PcdFeatureFlag.IA32]
PcdDxeIplSwitchToLongMode|0x0001003b|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE

View File

@ -27,4 +27,425 @@
<Filename>Universal/Disk/Partition/Dxe/Partition.msa</Filename>
<Filename>Universal/Security/SecurityStub/SecurityStub.msa</Filename>
</MsaFiles>
<GuidDeclarations>
<Entry Name="MdeModulePkgTokenSpace">
<C_Name>gEfiMdePkgTokenSpaceGuid</C_Name>
<GuidValue>A1AFF049-FDEB-442a-B320-13AB4CB72BBC</GuidValue>
<HelpText>All PCD define in MdeModulePkg is in this token space scope</HelpText>
</Entry>
<Entry Name="PcdDataBaseHob">
<C_Name>gPcdDataBaseHobGuid</C_Name>
<GuidValue>EA296D92-0B69-423C-8C28-33B4E0A91268</GuidValue>
<HelpText/>
</Entry>
<Entry Name="PcdPeiCallbackFnTable">
<C_Name>gPcdPeiCallbackFnTableHobGuid</C_Name>
<GuidValue>C625F4B2-EA09-4675-82D7-BA3682157A14</GuidValue>
<HelpText/>
</Entry>
<Entry Name="SystemNvDataHob">
<C_Name>gEfiSystemNvDataHobGuid</C_Name>
<GuidValue>D6E5092D-C7B2-4872-AF66-FDC0E6F95E78</GuidValue>
<HelpText/>
</Entry>
<Entry Name="SystemNvDataFv">
<C_Name>gEfiSystemNvDataFvGuid</C_Name>
<GuidValue>FFF12B8D-7696-4C8B-A985-2747075B4F50</GuidValue>
<HelpText/>
</Entry>
<Entry Name="DiskInfoIde">
<C_Name>gEfiDiskInfoIdeInterfaceGuid</C_Name>
<GuidValue>5E948FE3-26D3-42B5-AF17-610287188DEC</GuidValue>
<HelpText/>
</Entry>
<Entry Name="DiskInfoScsi">
<C_Name>gEfiDiskInfoScsiInterfaceGuid</C_Name>
<GuidValue>08F74BAA-EA36-41D9-9521-21A70F8780BC</GuidValue>
<HelpText/>
</Entry>
<Entry Name="DiskInfoUsb">
<C_Name>gEfiDiskInfoUsbInterfaceGuid</C_Name>
<GuidValue>CB871572-C11A-47B5-B492-675EAFA77727</GuidValue>
<HelpText/>
</Entry>
<Entry Name="AlternateFvBlock">
<C_Name>gEfiAlternateFvBlockGuid</C_Name>
<GuidValue>F496922D-172F-4BBC-A1EB-0EEB949C3486</GuidValue>
<HelpText/>
</Entry>
<Entry Name="ConsoleInDevice">
<C_Name>gEfiConsoleInDeviceGuid</C_Name>
<GuidValue>D3B36F2B-D551-11D4-9A46-0090273FC14D</GuidValue>
<HelpText/>
</Entry>
<Entry Name="ConsoleOutDevice">
<C_Name>gEfiConsoleOutDeviceGuid</C_Name>
<GuidValue>D3B36F2C-D551-11D4-9A46-0090273FC14D</GuidValue>
<HelpText/>
</Entry>
<Entry Name="StandardErrorDevice">
<C_Name>gEfiStandardErrorDeviceGuid</C_Name>
<GuidValue>D3B36F2D-D551-11D4-9A46-0090273FC14D</GuidValue>
<HelpText/>
</Entry>
<Entry Name="HotPlugDevice">
<C_Name>gEfiHotPlugDeviceGuid</C_Name>
<GuidValue>220AC432-1D43-49E5-A74F-4C9DA67AD23B</GuidValue>
<HelpText/>
</Entry>
<Entry Name="PrimaryStandardErrorDevice">
<C_Name>gEfiPrimaryStandardErrorDeviceGuid</C_Name>
<GuidValue>5A68191B-9B97-4752-9946-E36A5DA942B1</GuidValue>
<HelpText/>
</Entry>
<Entry Name="PrimaryConsoleInDevice">
<C_Name>gEfiPrimaryConsoleInDeviceGuid</C_Name>
<GuidValue>E451DCBE-96A1-4729-A5CF-6B9C2CFF47FD</GuidValue>
<HelpText/>
</Entry>
<Entry Name="PrimaryConsoleOutDevice">
<C_Name>gEfiPrimaryConsoleOutDeviceGuid</C_Name>
<GuidValue>62BDF38A-E3D5-492C-950C-23A7F66E672E</GuidValue>
<HelpText/>
</Entry>
<Entry Name="Bmp">
<C_Name>gEfiDefaultBmpLogoGuid</C_Name>
<GuidValue>7BB28B99-61BB-11D5-9A5D-0090273FC14D</GuidValue>
<HelpText/>
</Entry>
<Entry Name="BootState">
<C_Name>gEfiBootStateGuid</C_Name>
<GuidValue>60B5E939-0FCF-4227-BA83-6BBED45BC0E3</GuidValue>
<HelpText/>
</Entry>
<Entry Name="PciHotplugDevice">
<C_Name>gEfiPciHotplugDeviceGuid</C_Name>
<GuidValue>0B280816-52E7-4E51-AA57-11BD41CBEFC3</GuidValue>
<HelpText/>
</Entry>
<Entry Name="CapsuleVendor">
<C_Name>gEfiCapsuleVendorGuid</C_Name>
<GuidValue>711C703F-C285-4B10-A3B0-36ECBD3C8BE2</GuidValue>
<HelpText/>
</Entry>
<Entry Name="PeiPerformanceHob">
<C_Name>gPeiPerformanceHobGuid</C_Name>
<GuidValue>EC4DF5AF-4395-4CC9-94DE-77506D12C7B8</GuidValue>
<HelpText/>
</Entry>
<Entry Name="GenericPlatformVariable" GuidTypeList="EFI_VARIABLE">
<C_Name>gEfiGenericPlatformVariableGuid</C_Name>
<GuidValue>59d1c24f-50f1-401a-b101-f33e0daed443</GuidValue>
<HelpText>The variable space Guid to pair with a Unicode string name to tag an EFI variable</HelpText>
</Entry>
</GuidDeclarations>
<ProtocolDeclarations>
<Entry Name="Capsule">
<C_Name>gEfiCapsuleArchProtocolGuid</C_Name>
<GuidValue>5053697E-2EBC-4819-90D9-0580DEEE5754</GuidValue>
<HelpText/>
</Entry>
<Entry Name="LoadPeImage">
<C_Name>gEfiLoadPeImageProtocolGuid</C_Name>
<GuidValue>5CB5C776-60D5-45EE-883C-452708CD743F</GuidValue>
<HelpText/>
</Entry>
<Entry Name="Print">
<C_Name>gEfiPrintProtocolGuid</C_Name>
<GuidValue>DF2D868E-32FC-4CF0-8E6B-FFD95D1343D0</GuidValue>
<HelpText/>
</Entry>
<Entry Name="GenericMemTest">
<C_Name>gEfiGenericMemTestProtocolGuid</C_Name>
<GuidValue>309DE7F1-7F5E-4ACE-B49C-531BE5AA95EF</GuidValue>
<HelpText/>
</Entry>
<Entry Name="DiskInfo">
<C_Name>gEfiDiskInfoProtocolGuid</C_Name>
<GuidValue>D432A67F-14DC-484B-B3BB-3F0291849327</GuidValue>
<HelpText/>
</Entry>
<Entry Name="FvbExtension">
<C_Name>gEfiFvbExtensionProtocolGuid</C_Name>
<GuidValue>53A4C71B-B581-4170-91B3-8DB87A4B5C46</GuidValue>
<HelpText/>
</Entry>
<Entry Name="FaultTolerantWriteLite">
<C_Name>gEfiFaultTolerantWriteLiteProtocolGuid</C_Name>
<GuidValue>3F557189-8DAE-45AE-A0B3-2B99CA7AA7A0</GuidValue>
<HelpText/>
</Entry>
<Entry Name="ConsoleControl">
<C_Name>gEfiConsoleControlProtocolGuid</C_Name>
<GuidValue>F42F7782-012E-4C12-9956-49F94304F721</GuidValue>
<HelpText/>
</Entry>
<Entry Name="OEMBadging">
<C_Name>gEfiOEMBadgingProtocolGuid</C_Name>
<GuidValue>170E13C0-BF1B-4218-871D-2ABDC6F887BC</GuidValue>
<HelpText/>
</Entry>
<Entry Name="UsbAtapi">
<C_Name>gEfiUsbAtapiProtocolGuid</C_Name>
<GuidValue>2B2F68DA-0CD2-44CF-8E8B-BBA20B1B5B75</GuidValue>
<HelpText/>
</Entry>
<Entry Name="Performance">
<C_Name>gPerformanceProtocolGuid</C_Name>
<GuidValue>76B6BDFA-2ACD-4462-9E3F-CB58C969D937</GuidValue>
<HelpText/>
</Entry>
<Entry Name="ScsiIo">
<C_Name>gEfiScsiIoProtocolGuid</C_Name>
<GuidValue>403CD195-F233-48EC-8455-B2E52F1D9E02</GuidValue>
<HelpText/>
</Entry>
</ProtocolDeclarations>
<PpiDeclarations>
<Entry Name="BaseMemoryTest">
<C_Name>gPeiBaseMemoryTestPpiGuid</C_Name>
<GuidValue>B6EC423C-21D2-490D-85C6-DD5864EAA674</GuidValue>
<HelpText/>
</Entry>
</PpiDeclarations>
<PcdDeclarations>
<PcdEntry>
<C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>
<Token>0x0001000f</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD</ValidUsage>
<DefaultValue>0x08</DefaultValue>
<HelpText>The maximum number of callback function, which will be triggered when
a PCD entry is been set, can be registered for a single PCD entry in PEI phase.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdVpdBaseAddress</C_Name>
<Token>0x00010010</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>The base address of the VPD (Vital Product Data) region. It is
normally a region reserved on flash.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdSupportUpdateCapsuleRest</C_Name>
<Token>0x0001001d</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Indicate whether platform can support update capsule across a system reset</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdMaxSizePopulateCapsule</C_Name>
<Token>0x0001001e</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Indicate the max size the platform can support in case of populated capsules</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdMaxSizeNonPopulateCapsule</C_Name>
<Token>0x0001001f</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Indicate the max size the platform can support in case of non-populated capsules</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPeiPcdDatabaseTraverseEnabled</C_Name>
<Token>0x00010020</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable the Pcd PEIM database
traverse capability. Disable it can reduce the size of final image generated.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDxePcdDatabaseTraverseEnabled</C_Name>
<Token>0x00010021</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable the Pcd DXE database
traverse capability. Disable it can reduce the size of final image generated.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdMaxPeiPerformanceLogEntries</C_Name>
<Token>0x0001002f</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT8</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>
<DefaultValue>28</DefaultValue>
<HelpText>Maximun number of performance log entries during PEI phase.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPeiPcdDatabaseSetEnabled</C_Name>
<Token>0x00010030</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable the SET capability of PCD service PEIM. If a platform does not do PCD SET operation in PEI phase. This flag can be set to DISABLE to save size.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPeiPcdDatabaseGetSizeEnabled</C_Name>
<Token>0x00010031</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable the GET size capability of PCD service PEIM. If a platform does not do PCD get size operation in PEI phase. This flag can be set to DISABLE to save size.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPeiPcdDatabaseCallbackOnSetEnabled</C_Name>
<Token>0x00010032</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable the Callback On SET capability of PCD service PEIM. If a platform does not register any callback on set in PEI phase. This flag can be set to DISABLE to save size.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPeiPcdDatabaseExEnabled</C_Name>
<Token>0x00010033</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable the PCD service PEIM to handle DynamicEX PCD. If a platform has no module to use DynamicEX in PEI phase. This flag can be set to DISABLE to save size.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdFlashNvStorageVariableBase</C_Name>
<Token>0x30000001</Token>
<TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Base address of the variable section in NV firmware volume.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdFlashNvStorageVariableSize</C_Name>
<Token>0x30000002</Token>
<TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Size of the variable section in NV firmware volume..</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>
<Token>0x30000013</Token>
<TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Base address of the FTW spare block section in NV firmware volume.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>
<Token>0x30000014</Token>
<TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Size of the FTW spare block section in NV firmware volume.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>
<Token>0x30000010</Token>
<TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Base address of the FTW working block section in NV firmware volume.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>
<Token>0x30000011</Token>
<TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT32</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>0x0</DefaultValue>
<HelpText>Size of the FTW working block section in NV firmware volume.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDxeIplSupportEfiDecompress</C_Name>
<Token>0x00010034</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the EFI Compression algorithm</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDxeIplSupportTianoDecompress</C_Name>
<Token>0x00010035</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Tiano Compression algorithm</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDxeIplSupportCustomDecompress</C_Name>
<Token>0x00010036</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Custom Compression algorithm</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDevicePathSupportDevicePathToText</C_Name>
<Token>0x00010037</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>If TRUE, then the Device Path To Text Protocol should be produced by the platform</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDevicePathSupportDevicePathFromText</C_Name>
<Token>0x00010038</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>If TRUE, then the Device Path From Text Protocol should be produced by the platform</HelpText>
</PcdEntry>
<PcdEntry SupArchList="IA32">
<C_Name>PcdDxeIplSwitchToLongMode</C_Name>
<Token>0x0001003b</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>If this feature is enabled, then the DXE IPL will load a 64-bit DxeCore.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdDxeIplBuildShareCodeHobs</C_Name>
<Token>0x0001003c</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>If this feature is enabled, DXE IPL will build a series of HOBs to share code with DXE Core.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdNtEmulatorEnable</C_Name>
<Token>0x0001003e</Token>
<TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>If this PCD is set as TRUE, NT emulator will be endabled.</HelpText>
</PcdEntry>
</PcdDeclarations>
</PackageSurfaceArea>