--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ CapsuleName.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef __CAPSULE_NAME_H__\r
+#define __CAPSULE_NAME_H__\r
+\r
+//\r
+// If capsule data is passed via a variable, then this name should be used.\r
+//\r
+#define EFI_CAPSULE_VARIABLE_NAME L"CapsuleUpdateData"\r
+\r
+#endif\r
--- /dev/null
+/**@file\r
+ Header file for EFI Variable Services.\r
+\r
+Copyright (c) 2006 - 2007 Intel Corporation. <BR>\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __EFI_VARIABLE_H__\r
+#define __EFI_VARIABLE_H__\r
+\r
+#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')\r
+\r
+#define MAX_VARIABLE_SIZE 1024\r
+\r
+//\r
+// Enlarges the hardware error record maximum variable size to 32K bytes\r
+//\r
+#define MAX_HARDWARE_ERROR_VARIABLE_SIZE 0x8000\r
+\r
+#define VARIABLE_DATA 0x55AA\r
+\r
+//\r
+// Variable Store Header flags\r
+//\r
+#define VARIABLE_STORE_FORMATTED 0x5a\r
+#define VARIABLE_STORE_HEALTHY 0xfe\r
+\r
+//\r
+// The alignment of variable's start offset.\r
+// For IA32/X64 architecture, the alignment is set to 1, and\r
+// 8 is for IPF archtecture.\r
+//\r
+#if defined (MDE_CPU_IPF)\r
+#define ALIGNMENT 8\r
+#else\r
+#define ALIGNMENT 1\r
+#endif\r
+\r
+//\r
+// Variable Store Status\r
+//\r
+typedef enum {\r
+ EfiRaw,\r
+ EfiValid,\r
+ EfiInvalid,\r
+ EfiUnknown\r
+} VARIABLE_STORE_STATUS;\r
+\r
+//\r
+// Variable State flags\r
+//\r
+#define VAR_IN_DELETED_TRANSITION 0xfe // Variable is in obsolete transistion\r
+#define VAR_DELETED 0xfd // Variable is obsolete\r
+#define VAR_ADDED 0x7f // Variable has been completely added\r
+#define IS_VARIABLE_STATE(_c, _Mask) (BOOLEAN) (((~_c) & (~_Mask)) != 0)\r
+\r
+#pragma pack(1)\r
+\r
+typedef struct {\r
+ UINT32 Signature;\r
+ UINT32 Size;\r
+ UINT8 Format;\r
+ UINT8 State;\r
+ UINT16 Reserved;\r
+ UINT32 Reserved1;\r
+} VARIABLE_STORE_HEADER;\r
+\r
+typedef struct {\r
+ UINT16 StartId;\r
+ UINT8 State;\r
+ UINT8 Reserved;\r
+ UINT32 Attributes;\r
+ UINT32 NameSize;\r
+ UINT32 DataSize;\r
+ EFI_GUID VendorGuid;\r
+} VARIABLE_HEADER;\r
+\r
+#pragma pack()\r
+\r
+#endif // _EFI_VARIABLE_H_\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ EfiWorkingBlockHeader.h\r
+\r
+Abstract:\r
+\r
+ Defines data structure that is the headers found at the runtime\r
+ updatable firmware volumes, such as the FileSystemGuid of the\r
+ working block, the header structure of the variable block, FTW\r
+ working block, or event log block.\r
+\r
+--*/\r
+\r
+#ifndef __EFI_WORKING_BLOCK_HEADER_H__\r
+#define __EFI_WORKING_BLOCK_HEADER_H__\r
+\r
+//\r
+// EFI Fault tolerant working block header\r
+// The header is immediately followed by the write queue.\r
+//\r
+typedef struct {\r
+ EFI_GUID Signature;\r
+ UINT32 Crc;\r
+ UINT8 WorkingBlockValid : 1;\r
+ UINT8 WorkingBlockInvalid : 1;\r
+#define WORKING_BLOCK_VALID 0x1\r
+#define WORKING_BLOCK_INVALID 0x2\r
+ UINT8 Reserved : 6;\r
+ UINT8 Reserved3[3];\r
+ UINT32 WriteQueueSize;\r
+ //\r
+ // UINT8 WriteQueue[WriteQueueSize];\r
+ //\r
+} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ AlternateFvBlock.h\r
+\r
+Abstract:\r
+\r
+ Tiano Guid used to define the Alternate Firmware Volume Block Guid.\r
+\r
+--*/\r
+\r
+#ifndef __ALT_FVB_GUID_H__\r
+#define __ALT_FVB_GUID_H__\r
+\r
+#define EFI_ALTERNATE_FV_BLOCK_GUID \\r
+ { \\r
+ 0xf496922d, 0x172f, 0x4bbc, {0xa1, 0xeb, 0xe, 0xeb, 0x94, 0x9c, 0x34, 0x86 } \\r
+ }\r
+\r
+extern EFI_GUID gEfiAlternateFvBlockGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ Bmp.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef __BMP_GUID_H__\r
+#define __BMP_GUID_H__\r
+\r
+\r
+//\r
+// Definitions for BMP files\r
+//\r
+#pragma pack(1)\r
+\r
+typedef struct {\r
+ UINT8 Blue;\r
+ UINT8 Green;\r
+ UINT8 Red;\r
+ UINT8 Reserved;\r
+} BMP_COLOR_MAP;\r
+\r
+typedef struct {\r
+ CHAR8 CharB;\r
+ CHAR8 CharM;\r
+ UINT32 Size;\r
+ UINT16 Reserved[2];\r
+ UINT32 ImageOffset;\r
+ UINT32 HeaderSize;\r
+ UINT32 PixelWidth;\r
+ UINT32 PixelHeight;\r
+ UINT16 Planes; // Must be 1\r
+ UINT16 BitPerPixel; // 1, 4, 8, or 24\r
+ UINT32 CompressionType;\r
+ UINT32 ImageSize; // Compressed image size in bytes\r
+ UINT32 XPixelsPerMeter;\r
+ UINT32 YPixelsPerMeter;\r
+ UINT32 NumberOfColors;\r
+ UINT32 ImportantColors;\r
+} BMP_IMAGE_HEADER;\r
+\r
+#pragma pack()\r
+\r
+#define EFI_DEFAULT_BMP_LOGO_GUID \\r
+ {0x7BB28B99,0x61BB,0x11d5,{0x9A,0x5D,0x00,0x90,0x27,0x3F,0xC1,0x4D}}\r
+\r
+extern EFI_GUID gEfiDefaultBmpLogoGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ BootState.h\r
+\r
+Abstract:\r
+\r
+ Constants and declarations that are common accross PEI and DXE.\r
+--*/\r
+\r
+#ifndef __BOOT_STATE_H__\r
+#define __BOOT_STATE_H__\r
+\r
+//\r
+// BOOT STATE\r
+//\r
+\r
+typedef UINT32 EFI_BOOT_STATE;\r
+\r
+#define BOOT_STATE_VARIABLE_NAME L"BootState"\r
+\r
+#define EFI_BOOT_STATE_VARIABLE_GUID \\r
+ {0x60b5e939, 0xfcf, 0x4227, {0xba, 0x83, 0x6b, 0xbe, 0xd4, 0x5b, 0xc0, 0xe3} }\r
+\r
+extern EFI_GUID gEfiBootStateGuid;\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ CapsuleVendor.h\r
+\r
+Abstract:\r
+\r
+ Capsule update Guid definitions\r
+\r
+--*/\r
+\r
+#ifndef __EFI_CAPSULE_VENDOR_GUID_H__\r
+#define __EFI_CAPSULE_VENDOR_GUID_H__\r
+\r
+//\r
+// Note -- This guid is used as a vendor GUID (depending on implementation)\r
+// for the capsule variable if the capsule pointer is passes through reset\r
+// via a variable.\r
+//\r
+#define EFI_CAPSULE_VENDOR_GUID \\r
+ { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 } }\r
+\r
+extern EFI_GUID gEfiCapsuleVendorGuid;\r
+\r
+#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ ConsoleInDevice.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef __CONSOLE_IN_DEVICE_H__\r
+#define __CONSOLE_IN_DEVICE_H__\r
+\r
+#define EFI_CONSOLE_IN_DEVICE_GUID \\r
+ { 0xd3b36f2b, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }\r
+\r
+extern EFI_GUID gEfiConsoleInDeviceGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ ConsoleOutDevice.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef __CONSOLE_OUT_DEVICE_H__\r
+#define __CONSOLE_OUT_DEVICE_H__\r
+\r
+#define EFI_CONSOLE_OUT_DEVICE_GUID \\r
+ { 0xd3b36f2c, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }\r
+\r
+extern EFI_GUID gEfiConsoleOutDeviceGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ GenericPlatformVariable.h\r
+\r
+Abstract:\r
+\r
+ The variable space Guid to pair with a Unicode string name to tag an EFI variable.\r
+\r
+--*/\r
+\r
+#ifndef __GENERIC_PLATFORM_VARIABLE_H__\r
+#define __GENERIC_PLATFORM_VARIABLE_H__\r
+\r
+extern EFI_GUID gEfiGenericPlatformVariableGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ HotPlugDevice.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef __HOT_PLUG_DEVICE_H__\r
+#define __HOT_PLUG_DEVICE_H__\r
+\r
+#define HOT_PLUG_DEVICE_GUID \\r
+ { 0x220ac432, 0x1d43, 0x49e5, {0xa7, 0x4f, 0x4c, 0x9d, 0xa6, 0x7a, 0xd2, 0x3b } }\r
+\r
+extern EFI_GUID gEfiHotPlugDeviceGuid;\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+ MemoryTypeInformation.h\r
+ \r
+Abstract:\r
+ GUID used for Memory Type Information entries in the HOB list.\r
+\r
+--*/\r
+\r
+#ifndef __MEMORY_TYPE_INFORMATION_GUID_H__\r
+#define __MEMORY_TYPE_INFORMATION_GUID_H__\r
+\r
+#define EFI_MEMORY_TYPE_INFORMATION_GUID \\r
+ { 0x4c19049f,0x4137,0x4dd3, { 0x9c,0x10,0x8b,0x97,0xa8,0x3f,0xfd,0xfa } }\r
+\r
+#define EFI_MEMORY_TYPE_INFORMATION_VARIABLE_NAME L"MemoryTypeInformation"\r
+\r
+extern EFI_GUID gEfiMemoryTypeInformationGuid;\r
+\r
+typedef struct {\r
+ UINT32 Type;\r
+ UINT32 NumberOfPages;\r
+} EFI_MEMORY_TYPE_INFORMATION;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ PeiPerformanceHob.h\r
+ \r
+Abstract:\r
+\r
+ GUIDs used for PEI Performance HOB data structures\r
+\r
+--*/\r
+\r
+#ifndef __PEI_PERFORMANCE_HOB_H__\r
+#define __PEI_PERFORMANCE_HOB_H__\r
+\r
+//\r
+// This is the GUID of PEI performance HOB\r
+//\r
+#define PEI_PERFORMANCE_HOB_GUID \\r
+ { 0xec4df5af, 0x4395, 0x4cc9, { 0x94, 0xde, 0x77, 0x50, 0x6d, 0x12, 0xc7, 0xb8 } }\r
+\r
+//\r
+// PEI_PERFORMANCE_STRING_SIZE must be a multiple of 8.\r
+//\r
+#define PEI_PERFORMANCE_STRING_SIZE 8\r
+#define PEI_PERFORMANCE_STRING_LENGTH (PEI_PERFORMANCE_STRING_SIZE - 1)\r
+\r
+typedef struct {\r
+ EFI_PHYSICAL_ADDRESS Handle;\r
+ CHAR8 Token[PEI_PERFORMANCE_STRING_SIZE];\r
+ CHAR8 Module[PEI_PERFORMANCE_STRING_SIZE];\r
+ UINT64 StartTimeStamp;\r
+ UINT64 EndTimeStamp;\r
+} PEI_PERFORMANCE_LOG_ENTRY;\r
+\r
+//\r
+// The header must be aligned at 8 bytes.\r
+// \r
+typedef struct {\r
+ UINT32 NumberOfEntries;\r
+ UINT32 Reserved;\r
+} PEI_PERFORMANCE_LOG_HEADER;\r
+\r
+\r
+extern EFI_GUID gPeiPerformanceHobGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ PrimaryConsoleInDevice.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef __PRIMARY_CONSOLE_IN_DEVICE_H__\r
+#define __PRIMARY_CONSOLE_IN_DEVICE_H__\r
+\r
+#define EFI_PRIMARY_CONSOLE_IN_DEVICE_GUID \\r
+ { 0xe451dcbe, 0x96a1, 0x4729, {0xa5, 0xcf, 0x6b, 0x9c, 0x2c, 0xff, 0x47, 0xfd } }\r
+\r
+extern EFI_GUID gEfiPrimaryConsoleInDeviceGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ PrimaryConsoleOutDevice.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef __PRIMARY_CONSOLE_OUT_DEVICE_H__\r
+#define __PRIMARY_CONSOLE_OUT_DEVICE_H__\r
+\r
+#define EFI_PRIMARY_CONSOLE_OUT_DEVICE_GUID \\r
+ { 0x62bdf38a, 0xe3d5, 0x492c, {0x95, 0xc, 0x23, 0xa7, 0xf6, 0x6e, 0x67, 0x2e } }\r
+\r
+extern EFI_GUID gEfiPrimaryConsoleOutDeviceGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ PrimaryStandardErrorDevice.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef __PRIMARY_STANDARD_ERROR_DEVICE_H__\r
+#define __PRIMARY_STANDARD_ERROR_DEVICE_H__\r
+\r
+#define EFI_PRIMARY_STANDARD_ERROR_DEVICE_GUID \\r
+ { 0x5a68191b, 0x9b97, 0x4752, {0x99, 0x46, 0xe3, 0x6a, 0x5d, 0xa9, 0x42, 0xb1 } }\r
+\r
+extern EFI_GUID gEfiPrimaryStandardErrorDeviceGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ StandardErrorDevice.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef __STANDARD_ERROR_DEVICE_H__\r
+#define __STANDARD_ERROR_DEVICE_H__\r
+\r
+#define EFI_STANDARD_ERROR_DEVICE_GUID \\r
+ { 0xd3b36f2d, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }\r
+\r
+extern EFI_GUID gEfiStandardErrorDeviceGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+ \r
+ SystemNvDataGuid.h\r
+ \r
+Abstract:\r
+\r
+ GUIDs used for System Non Volatile HOB entries in the in the HOB list and FV Guids carrying\r
+ the System specific information.\r
+\r
+--*/\r
+\r
+#ifndef __SYSTEM_NV_DATA_GUID_H__\r
+#define __SYSTEM_NV_DATA_GUID_H__\r
+\r
+#define EFI_SYSTEM_NV_DATA_FV_GUID \\r
+ {0xfff12b8d, 0x7696, 0x4c8b, {0xa9, 0x85, 0x27, 0x47, 0x7, 0x5b, 0x4f, 0x50} }\r
+\r
+#define EFI_SYSTEM_NV_DATA_HOB_GUID \\r
+ {0xd6e5092d, 0xc7b2, 0x4872, {0xaf, 0x66, 0xfd, 0xc0, 0xe6, 0xf9, 0x5e, 0x78} }\r
+\r
+typedef struct {\r
+ EFI_GUID SystemNvDataHobGuid;\r
+ EFI_GUID SystemNvDataFvGuid;\r
+ EFI_LBA StartLba; \r
+ UINTN StartLbaOffset;\r
+ EFI_LBA EndLba; \r
+ UINTN EndLbaOffset;\r
+ UINT32 DataTypeSignature;\r
+} NV_SYSTEM_DATA_GUID_TYPE;\r
+\r
+extern EFI_GUID gEfiSystemNvDataHobGuid;\r
+extern EFI_GUID gEfiSystemNvDataFvGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ BaseMemoryTest.h\r
+\r
+Abstract:\r
+\r
+ Pei memory test PPI as defined in Tiano\r
+\r
+ Used to Pei memory test in PEI\r
+\r
+--*/\r
+\r
+#ifndef __BASE_MEMORY_TEST_H__\r
+#define __BASE_MEMORY_TEST_H__\r
+\r
+#define PEI_BASE_MEMORY_TEST_GUID \\r
+ { 0xb6ec423c, 0x21d2, 0x490d, {0x85, 0xc6, 0xdd, 0x58, 0x64, 0xea, 0xa6, 0x74 } }\r
+\r
+typedef struct _PEI_BASE_MEMORY_TEST_PPI PEI_BASE_MEMORY_TEST_PPI;\r
+\r
+typedef enum {\r
+ Ignore,\r
+ Quick,\r
+ Sparse,\r
+ Extensive\r
+} PEI_MEMORY_TEST_OP;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *PEI_BASE_MEMORY_TEST) (\r
+ IN EFI_PEI_SERVICES **PeiServices,\r
+ IN PEI_BASE_MEMORY_TEST_PPI * This,\r
+ IN EFI_PHYSICAL_ADDRESS BeginAddress,\r
+ IN UINT64 MemoryLength,\r
+ IN PEI_MEMORY_TEST_OP Operation,\r
+ OUT EFI_PHYSICAL_ADDRESS * ErrorAddress\r
+ );\r
+\r
+struct _PEI_BASE_MEMORY_TEST_PPI {\r
+ PEI_BASE_MEMORY_TEST BaseMemoryTest;\r
+};\r
+\r
+extern EFI_GUID gPeiBaseMemoryTestPpiGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ Capsule.h\r
+\r
+Abstract:\r
+\r
+ Capsule Architectural Protocol is newly added to produce UEFI2.0 capsule runtime services.\r
+\r
+--*/\r
+\r
+#ifndef __ARCH_PROTOCOL_CAPSULE_ARCH_H__\r
+#define __ARCH_PROTOCOL_CAPSULE_ARCH_H__\r
+\r
+//\r
+// Global ID for the Capsule Architectural Protocol\r
+//\r
+#define EFI_CAPSULE_ARCH_PROTOCOL_GUID \\r
+ { 0x5053697e, 0x2ebc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}\r
+\r
+extern EFI_GUID gEfiCapsuleArchProtocolGuid;\r
+\r
+typedef struct {\r
+ UINT32 CapsuleArrayNumber;\r
+ VOID* CapsulePtr[1];\r
+} EFI_CAPSULE_TABLE;\r
+\r
+\r
+#endif\r
--- /dev/null
+/*++ \r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ ConsoleControl.h\r
+\r
+Abstract:\r
+\r
+ Abstraction of a Text mode or UGA screen\r
+\r
+--*/\r
+\r
+#ifndef __CONSOLE_CONTROL_H__\r
+#define __CONSOLE_CONTROL_H__\r
+\r
+#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \\r
+ { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 } }\r
+\r
+typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL;\r
+\r
+\r
+typedef enum {\r
+ EfiConsoleControlScreenText,\r
+ EfiConsoleControlScreenGraphics,\r
+ EfiConsoleControlScreenMaxValue\r
+} EFI_CONSOLE_CONTROL_SCREEN_MODE;\r
+\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) (\r
+ IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
+ OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,\r
+ OUT BOOLEAN *UgaExists, OPTIONAL \r
+ OUT BOOLEAN *StdInLocked OPTIONAL\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Return the current video mode information. Also returns info about existence\r
+ of UGA Draw devices in system, and if the Std In device is locked. All the\r
+ arguments are optional and only returned if a non NULL pointer is passed in.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ Mode - Are we in text of grahics mode.\r
+ UgaExists - TRUE if UGA Spliter has found a UGA device\r
+ StdInLocked - TRUE if StdIn device is keyboard locked\r
+\r
+ Returns:\r
+ EFI_SUCCESS - Mode information returned.\r
+\r
+--*/\r
+;\r
+\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) (\r
+ IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
+ OUT EFI_CONSOLE_CONTROL_SCREEN_MODE Mode\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Set the current mode to either text or graphics. Graphics is\r
+ for Quiet Boot.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ Mode - Mode to set the \r
+\r
+ Returns:\r
+ EFI_SUCCESS - Mode information returned.\r
+\r
+--*/\r
+;\r
+\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) (\r
+ IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
+ IN CHAR16 *Password\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Lock Std In devices until Password is typed.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ Password - Password needed to unlock screen. NULL means unlock keyboard\r
+\r
+ Returns:\r
+ EFI_SUCCESS - Mode information returned.\r
+ EFI_DEVICE_ERROR - Std In not locked\r
+\r
+--*/\r
+;\r
+\r
+\r
+\r
+struct _EFI_CONSOLE_CONTROL_PROTOCOL {\r
+ EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;\r
+ EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode;\r
+ EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn;\r
+};\r
+\r
+extern EFI_GUID gEfiConsoleControlProtocolGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ DiskInfo.h\r
+\r
+Abstract:\r
+\r
+ Disk Info protocol is used to export Inquiry Data for a drive.\r
+ Its needed to support low level formating of drives in a mannor\r
+ thats DOS compatible.\r
+\r
+--*/\r
+\r
+#ifndef __DISK_INFO_H__\r
+#define __DISK_INFO_H__\r
+\r
+#define EFI_DISK_INFO_PROTOCOL_GUID \\r
+ { \\r
+ 0xd432a67f, 0x14dc, 0x484b, {0xb3, 0xbb, 0x3f, 0x2, 0x91, 0x84, 0x93, 0x27 } \\r
+ }\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+typedef struct _EFI_DISK_INFO_PROTOCOL EFI_DISK_INFO_PROTOCOL;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_DISK_INFO_INQUIRY) (\r
+ IN EFI_DISK_INFO_PROTOCOL * This,\r
+ IN OUT VOID *InquiryData,\r
+ IN OUT UINT32 *IntquiryDataSize\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Return the results of the Inquiry command to a drive in InquiryData.\r
+ Data format of Inquiry data is defined by the Interface GUID.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ InquiryData - Results of Inquiry command to device\r
+ InquiryDataSize - Size of InquiryData in bytes.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - InquiryData valid\r
+ EFI_NOT_FOUND - Device does not support this data class\r
+ EFI_DEVICE_ERROR - Error reading InquiryData from device\r
+ EFI_BUFFER_TOO_SMALL - IntquiryDataSize not big enough\r
+\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_DISK_INFO_IDENTIFY) (\r
+ IN EFI_DISK_INFO_PROTOCOL * This,\r
+ IN OUT VOID *IdentifyData,\r
+ IN OUT UINT32 *IdentifyDataSize\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Return the results of the Identify command to a drive in IdentifyData.\r
+ Data format of Identify data is defined by the Interface GUID.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ IdentifyData - Results of Identify command to device\r
+ IdentifyDataSize - Size of IdentifyData in bytes.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - IdentifyData valid\r
+ EFI_NOT_FOUND - Device does not support this data class\r
+ EFI_DEVICE_ERROR - Error reading IdentifyData from device\r
+ EFI_BUFFER_TOO_SMALL - IdentifyDataSize not big enough\r
+\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_DISK_INFO_SENSE_DATA) (\r
+ IN EFI_DISK_INFO_PROTOCOL * This,\r
+ IN OUT VOID *SenseData,\r
+ IN OUT UINT32 *SenseDataSize,\r
+ OUT UINT8 *SenseDataNumber\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Return the results of the Request Sense command to a drive in SenseData.\r
+ Data format of Sense data is defined by the Interface GUID.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ SenseData - Results of Request Sense command to device\r
+ SenseDataSize - Size of SenseData in bytes.\r
+ SenseDataNumber - Type of SenseData\r
+\r
+ Returns:\r
+ EFI_SUCCESS - InquiryData valid\r
+ EFI_NOT_FOUND - Device does not support this data class\r
+ EFI_DEVICE_ERROR - Error reading InquiryData from device\r
+ EFI_BUFFER_TOO_SMALL - SenseDataSize not big enough\r
+\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_DISK_INFO_WHICH_IDE) (\r
+ IN EFI_DISK_INFO_PROTOCOL * This,\r
+ OUT UINT32 *IdeChannel,\r
+ OUT UINT32 *IdeDevice\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Return the results of the Request Sense command to a drive in SenseData.\r
+ Data format of Sense data is defined by the Interface GUID.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ IdeChannel - Primary or Secondary\r
+ IdeDevice - Master or Slave\r
+\r
+ Returns:\r
+ EFI_SUCCESS - IdeChannel and IdeDevice are valid\r
+ EFI_UNSUPPORTED - This is not an IDE device\r
+\r
+--*/\r
+;\r
+\r
+//\r
+// GUIDs for EFI_DISK_INFO_PROTOCOL.Interface. Defines the format of the\r
+// buffers returned by member functions\r
+//\r
+#define EFI_DISK_INFO_IDE_INTERFACE_GUID \\r
+ { \\r
+ 0x5e948fe3, 0x26d3, 0x42b5, {0xaf, 0x17, 0x61, 0x2, 0x87, 0x18, 0x8d, 0xec } \\r
+ }\r
+extern EFI_GUID gEfiDiskInfoIdeInterfaceGuid;\r
+\r
+#define EFI_DISK_INFO_SCSI_INTERFACE_GUID \\r
+ { \\r
+ 0x8f74baa, 0xea36, 0x41d9, {0x95, 0x21, 0x21, 0xa7, 0xf, 0x87, 0x80, 0xbc } \\r
+ }\r
+extern EFI_GUID gEfiDiskInfoScsiInterfaceGuid;\r
+\r
+#define EFI_DISK_INFO_USB_INTERFACE_GUID \\r
+ { \\r
+ 0xcb871572, 0xc11a, 0x47b5, {0xb4, 0x92, 0x67, 0x5e, 0xaf, 0xa7, 0x77, 0x27 } \\r
+ }\r
+extern EFI_GUID gEfiDiskInfoUsbInterfaceGuid;\r
+\r
+struct _EFI_DISK_INFO_PROTOCOL {\r
+ EFI_GUID Interface;\r
+ EFI_DISK_INFO_INQUIRY Inquiry;\r
+ EFI_DISK_INFO_IDENTIFY Identify;\r
+ EFI_DISK_INFO_SENSE_DATA SenseData;\r
+ EFI_DISK_INFO_WHICH_IDE WhichIde;\r
+};\r
+\r
+extern EFI_GUID gEfiDiskInfoProtocolGuid;\r
+\r
+#endif\r
+\r
+\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ FaultTolerantWriteLite.h\r
+\r
+Abstract:\r
+\r
+ This is a simple fault tolerant write driver, based on PlatformFd library.\r
+ And it only supports write BufferSize <= SpareAreaLength.\r
+\r
+--*/\r
+\r
+#ifndef __FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H__\r
+#define __FW_FAULT_TOLERANT_WRITE_LITE_PROTOCOL_H__\r
+\r
+#define EFI_FTW_LITE_PROTOCOL_GUID \\r
+{ 0x3f557189, 0x8dae, 0x45ae, {0xa0, 0xb3, 0x2b, 0x99, 0xca, 0x7a, 0xa7, 0xa0 } }\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+typedef struct _EFI_FTW_LITE_PROTOCOL EFI_FTW_LITE_PROTOCOL;\r
+\r
+//\r
+// Protocol API definitions\r
+//\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI * EFI_FTW_LITE_WRITE) (\r
+ IN EFI_FTW_LITE_PROTOCOL *This,\r
+ IN EFI_HANDLE FvbHandle,\r
+ IN EFI_LBA Lba,\r
+ IN UINTN Offset,\r
+ IN UINTN *NumBytes,\r
+ IN VOID *Buffer\r
+ );\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Starts a target block update. This records information about the write\r
+ in fault tolerant storage and will complete the write in a recoverable\r
+ manner, ensuring at all times that either the original contents or\r
+ the modified contents are available.\r
+\r
+Arguments:\r
+\r
+ This - Calling context\r
+ FvBlockHandle - The handle of FVB protocol that provides services for\r
+ reading, writing, and erasing the target block.\r
+ Lba - The logical block address of the target block.\r
+ Offset - The offset within the target block to place the data.\r
+ Length - The number of bytes to write to the target block.\r
+ Buffer - The data to write.\r
+\r
+Returns:\r
+\r
+ EFI_SUCCESS - The function completed successfully\r
+ EFI_ABORTED - The function could not complete successfully.\r
+ EFI_BAD_BUFFER_SIZE - The write would span a block boundary,\r
+ which is not a valid action.\r
+ EFI_ACCESS_DENIED - No writes have been allocated.\r
+ EFI_NOT_READY - The last write has not been completed.\r
+ Restart () must be called to complete it.\r
+\r
+--*/\r
+\r
+//\r
+// Protocol declaration\r
+//\r
+struct _EFI_FTW_LITE_PROTOCOL {\r
+ EFI_FTW_LITE_WRITE Write;\r
+};\r
+\r
+extern EFI_GUID gEfiFaultTolerantWriteLiteProtocolGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ FvbExtension.h\r
+\r
+Abstract:\r
+\r
+ FVB Extension protocol that extends the FVB Class in a component fashion.\r
+\r
+--*/\r
+\r
+#ifndef __FVB_EXTENSION_H__\r
+#define __FVB_EXTENSION_H__\r
+\r
+#define EFI_FVB_EXTENSION_PROTOCOL_GUID \\r
+ {0x53a4c71b, 0xb581, 0x4170, {0x91, 0xb3, 0x8d, 0xb8, 0x7a, 0x4b, 0x5c, 0x46 } }\r
+\r
+typedef struct _EFI_FVB_EXTENSION_PROTOCOL EFI_FVB_EXTENSION_PROTOCOL;\r
+\r
+//\r
+// FVB Extension Function Prototypes\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI * EFI_FV_ERASE_CUSTOM_BLOCK) (\r
+ IN EFI_FVB_EXTENSION_PROTOCOL *This,\r
+ IN EFI_LBA StartLba,\r
+ IN UINTN OffsetStartLba,\r
+ IN EFI_LBA LastLba,\r
+ IN UINTN OffsetLastLba\r
+);\r
+\r
+//\r
+// IPMI TRANSPORT PROTOCOL\r
+//\r
+struct _EFI_FVB_EXTENSION_PROTOCOL {\r
+ EFI_FV_ERASE_CUSTOM_BLOCK EraseFvbCustomBlock;\r
+};\r
+\r
+extern EFI_GUID gEfiFvbExtensionProtocolGuid;\r
+\r
+#endif\r
+\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ GenericMemoryTest.h\r
+\r
+Abstract:\r
+\r
+ The EFI generic memory test protocol\r
+ For more information please look at EfiMemoryTest.doc\r
+\r
+--*/\r
+\r
+#ifndef __GENERIC_MEMORY_TEST_H__\r
+#define __GENERIC_MEMORY_TEST_H__\r
+\r
+#define EFI_GENERIC_MEMORY_TEST_PROTOCOL_GUID \\r
+ { 0x309de7f1, 0x7f5e, 0x4ace, {0xb4, 0x9c, 0x53, 0x1b, 0xe5, 0xaa, 0x95, 0xef} }\r
+\r
+typedef struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL EFI_GENERIC_MEMORY_TEST_PROTOCOL;\r
+\r
+typedef enum {\r
+ IGNORE,\r
+ QUICK,\r
+ SPARSE,\r
+ EXTENSIVE,\r
+ MAXLEVEL\r
+} EXTENDMEM_COVERAGE_LEVEL;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_MEMORY_TEST_INIT) (\r
+ IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,\r
+ IN EXTENDMEM_COVERAGE_LEVEL Level,\r
+ OUT BOOLEAN *RequireSoftECCInit\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Initialize the generic memory test.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ Level - The coverage level of the memory test.\r
+ RequireSoftECCInit - Indicate if the memory need software ECC init.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - The generic memory test initialized correctly.\r
+ EFI_NO_MEDIA - There is not any non-tested memory found, in this\r
+ function if not any non-tesed memory found means \r
+ that the memory test driver have not detect any\r
+ non-tested extended memory of current system.\r
+\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PERFORM_MEMORY_TEST) (\r
+ IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,\r
+ OUT UINT64 *TestedMemorySize,\r
+ OUT UINT64 *TotalMemorySize,\r
+ OUT BOOLEAN *ErrorOut,\r
+ IN BOOLEAN IfTestAbort\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Perform the memory test.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ TestedMemorySize - Return the tested extended memory size.\r
+ TotalMemorySize - Return the whole system physical memory size, this \r
+ value may be changed if in some case some error \r
+ DIMMs be disabled.\r
+ ErrorOut - Any time the memory error occurs, this will be TRUE.\r
+ IfTestAbort - Indicate if the user press "ESC" to skip the memory\r
+ test.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - One block of memory test ok, the block size is hide\r
+ internally.\r
+ EFI_NOT_FOUND - Indicate all the non-tested memory blocks have \r
+ already go through.\r
+\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_MEMORY_TEST_FINISHED) (\r
+ IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ The memory test finished.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - Successful free all the generic memory test driver\r
+ allocated resource and notify to platform memory\r
+ test driver that memory test finished.\r
+\r
+--*/\r
+;\r
+ \r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_MEMORY_TEST_COMPATIBLE_RANGE) (\r
+ IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,\r
+ IN EFI_PHYSICAL_ADDRESS StartAddress,\r
+ IN UINT64 Length\r
+ )\r
+/*++\r
+ \r
+ Routine Description:\r
+ Provide capability to test compatible range which used by some sepcial\r
+ driver required using memory range before BDS perform memory test.\r
+ \r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ StartAddress - The start address of the memory range.\r
+ Length - The memory range's length.\r
+ \r
+ Return:\r
+ EFI_SUCCESS - The compatible memory range pass the memory test.\r
+ EFI_DEVICE_ERROR - The compatible memory range test find memory error\r
+ and also return return the error address.\r
+ \r
+--*/\r
+;\r
+\r
+struct _EFI_GENERIC_MEMORY_TEST_PROTOCOL {\r
+ EFI_MEMORY_TEST_INIT MemoryTestInit;\r
+ EFI_PERFORM_MEMORY_TEST PerformMemoryTest;\r
+ EFI_MEMORY_TEST_FINISHED Finished;\r
+ EFI_MEMORY_TEST_COMPATIBLE_RANGE CompatibleRangeTest;\r
+};\r
+\r
+extern EFI_GUID gEfiGenericMemTestProtocolGuid;\r
+\r
+#endif\r
+\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ EfiOEMBadging.h\r
+\r
+Abstract:\r
+\r
+ EFI OEM Badging Protocol definition header file\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+#ifndef __EFI_OEM_BADGING_H__\r
+#define __EFI_OEM_BADGING_H__\r
+\r
+//\r
+// GUID for EFI OEM Badging Protocol\r
+//\r
+#define EFI_OEM_BADGING_PROTOCOL_GUID \\r
+ { 0x170e13c0, 0xbf1b, 0x4218, {0x87, 0x1d, 0x2a, 0xbd, 0xc6, 0xf8, 0x87, 0xbc } }\r
+\r
+\r
+typedef struct _EFI_OEM_BADGING_PROTOCOL EFI_OEM_BADGING_PROTOCOL;\r
+\r
+typedef enum {\r
+ EfiBadgingFormatBMP,\r
+ EfiBadgingFormatJPEG,\r
+ EfiBadgingFormatTIFF,\r
+ EfiBadgingFormatGIF,\r
+ EfiBadgingFormatUnknown\r
+} EFI_BADGING_FORMAT;\r
+\r
+typedef enum {\r
+ EfiBadgingDisplayAttributeLeftTop,\r
+ EfiBadgingDisplayAttributeCenterTop,\r
+ EfiBadgingDisplayAttributeRightTop,\r
+ EfiBadgingDisplayAttributeCenterRight,\r
+ EfiBadgingDisplayAttributeRightBottom,\r
+ EfiBadgingDisplayAttributeCenterBottom,\r
+ EfiBadgingDisplayAttributeLeftBottom,\r
+ EfiBadgingDisplayAttributeCenterLeft,\r
+ EfiBadgingDisplayAttributeCenter,\r
+ EfiBadgingDisplayAttributeCustomized\r
+} EFI_BADGING_DISPLAY_ATTRIBUTE;\r
+\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_BADGING_GET_IMAGE) (\r
+ IN EFI_OEM_BADGING_PROTOCOL *This,\r
+ IN OUT UINT32 *Instance,\r
+ OUT EFI_BADGING_FORMAT *Format,\r
+ OUT UINT8 **ImageData,\r
+ OUT UINTN *ImageSize,\r
+ OUT EFI_BADGING_DISPLAY_ATTRIBUTE *Attribute,\r
+ OUT UINTN *CoordinateX,\r
+ OUT UINTN *CoordinateY\r
+);\r
+\r
+\r
+struct _EFI_OEM_BADGING_PROTOCOL {\r
+ EFI_BADGING_GET_IMAGE GetImage;\r
+};\r
+\r
+\r
+extern EFI_GUID gEfiOEMBadgingProtocolGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ Performance.h\r
+\r
+Abstract:\r
+\r
+\r
+--*/\r
+\r
+#ifndef __PERFORMANCE_H__\r
+#define __PERFORMANCE_H__\r
+\r
+#define PERFORMANCE_PROTOCOL_GUID \\r
+ { 0x76b6bdfa, 0x2acd, 0x4462, {0x9E, 0x3F, 0xcb, 0x58, 0xC9, 0x69, 0xd9, 0x37 } }\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+typedef struct _PERFORMANCE_PROTOCOL PERFORMANCE_PROTOCOL;\r
+\r
+#define DXE_TOK "DXE"\r
+#define SHELL_TOK "SHELL"\r
+#define PEI_TOK "PEI"\r
+#define BDS_TOK "BDS"\r
+#define DRIVERBINDING_START_TOK "DriverBinding:Start"\r
+#define DRIVERBINDING_SUPPORT_TOK "DriverBinding:Support"\r
+#define START_IMAGE_TOK "StartImage"\r
+#define LOAD_IMAGE_TOK "LoadImage"\r
+\r
+//\r
+// DXE_PERFORMANCE_STRING_SIZE must be a multiple of 8.\r
+//\r
+#define DXE_PERFORMANCE_STRING_SIZE 32\r
+#define DXE_PERFORMANCE_STRING_LENGTH (DXE_PERFORMANCE_STRING_SIZE - 1)\r
+\r
+//\r
+// The default guage entries number for DXE phase.\r
+//\r
+#define INIT_DXE_GAUGE_DATA_ENTRIES 800\r
+\r
+typedef struct {\r
+ EFI_PHYSICAL_ADDRESS Handle;\r
+ CHAR8 Token[DXE_PERFORMANCE_STRING_SIZE];\r
+ CHAR8 Module[DXE_PERFORMANCE_STRING_SIZE];\r
+ UINT64 StartTimeStamp;\r
+ UINT64 EndTimeStamp;\r
+} GAUGE_DATA_ENTRY;\r
+\r
+//\r
+// The header must be aligned at 8 bytes\r
+//\r
+typedef struct {\r
+ UINT32 NumberOfEntries;\r
+ UINT32 Reserved;\r
+} GAUGE_DATA_HEADER;\r
+\r
+/**\r
+ Adds a record at the end of the performance measurement log\r
+ that records the start time of a performance measurement.\r
+\r
+ Adds a record to the end of the performance measurement log\r
+ that contains the Handle, Token, and Module.\r
+ The end time of the new record must be set to zero.\r
+ If TimeStamp is not zero, then TimeStamp is used to fill in the start time in the record.\r
+ If TimeStamp is zero, the start time in the record is filled in with the value\r
+ read from the current time stamp.\r
+\r
+ @param Handle Pointer to environment specific context used\r
+ to identify the component being measured.\r
+ @param Token Pointer to a Null-terminated ASCII string\r
+ that identifies the component being measured.\r
+ @param Module Pointer to a Null-terminated ASCII string\r
+ that identifies the module being measured.\r
+ @param TimeStamp 64-bit time stamp.\r
+\r
+ @retval EFI_SUCCESS The data was read correctly from the device.\r
+ @retval EFI_OUT_OF_RESOURCES There are not enough resources to record the measurement.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI * PERFORMANCE_START_GAUGE) (\r
+ IN CONST VOID *Handle, OPTIONAL\r
+ IN CONST CHAR8 *Token, OPTIONAL\r
+ IN CONST CHAR8 *Module, OPTIONAL\r
+ IN UINT64 TimeStamp\r
+ );\r
+\r
+/**\r
+ Searches the performance measurement log from the beginning of the log\r
+ for the first matching record that contains a zero end time and fills in a valid end time.\r
+\r
+ Searches the performance measurement log from the beginning of the log\r
+ for the first record that matches Handle, Token, and Module and has an end time value of zero.\r
+ If the record can not be found then return EFI_NOT_FOUND.\r
+ If the record is found and TimeStamp is not zero,\r
+ then the end time in the record is filled in with the value specified by TimeStamp.\r
+ If the record is found and TimeStamp is zero, then the end time in the matching record\r
+ is filled in with the current time stamp value.\r
+\r
+ @param Handle Pointer to environment specific context used\r
+ to identify the component being measured.\r
+ @param Token Pointer to a Null-terminated ASCII string\r
+ that identifies the component being measured.\r
+ @param Module Pointer to a Null-terminated ASCII string\r
+ that identifies the module being measured.\r
+ @param TimeStamp 64-bit time stamp.\r
+\r
+ @retval EFI_SUCCESS The end of the measurement was recorded.\r
+ @retval EFI_NOT_FOUND The specified measurement record could not be found.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI * PERFORMANCE_END_GAUGE) (\r
+ IN CONST VOID *Handle, OPTIONAL\r
+ IN CONST CHAR8 *Token, OPTIONAL\r
+ IN CONST CHAR8 *Module, OPTIONAL\r
+ IN UINT64 TimeStamp\r
+ );\r
+\r
+/**\r
+ Retrieves a previously logged performance measurement.\r
+\r
+ Retrieves the performance log entry from the performance log specified by LogEntryKey.\r
+ If it stands for a valid entry, then EFI_SUCCESS is returned and\r
+ GaugeDataEntry stores the pointer to that entry.\r
+\r
+ @param LogEntryKey The key for the previous performance measurement log entry.\r
+ If 0, then the first performance measurement log entry is retrieved.\r
+ @param GaugeDataEntry The indirect pointer to the gauge data entry specified by LogEntryKey\r
+ if the retrieval is successful.\r
+\r
+ @retval EFI_SUCCESS The GuageDataEntry is successfuly found based on LogEntryKey.\r
+ @retval EFI_NOT_FOUND The LogEntryKey is the last entry (equals to the total entry number).\r
+ @retval EFI_INVALIDE_PARAMETER The LogEntryKey is not a valid entry (greater than the total entry number).\r
+ @retval EFI_INVALIDE_PARAMETER GaugeDataEntry is NULL.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI * PERFORMANCE_GET_GAUGE) (\r
+ IN UINTN LogEntryKey,\r
+ OUT GAUGE_DATA_ENTRY **GaugeDataEntry\r
+ );\r
+\r
+struct _PERFORMANCE_PROTOCOL {\r
+ PERFORMANCE_START_GAUGE StartGauge;\r
+ PERFORMANCE_END_GAUGE EndGauge;\r
+ PERFORMANCE_GET_GAUGE GetGauge;\r
+};\r
+\r
+extern EFI_GUID gPerformanceProtocolGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ Print.h\r
+\r
+Abstract:\r
+\r
+ This file defines the Print protocol\r
+\r
+--*/\r
+\r
+#ifndef __PPRINT_H__\r
+#define __PPRINT_H__\r
+\r
+#define EFI_PRINT_PROTOCOL_GUID \\r
+ { 0xdf2d868e, 0x32fc, 0x4cf0, {0x8e, 0x6b, 0xff, 0xd9, 0x5d, 0x13, 0x43, 0xd0 } }\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+typedef struct _EFI_PRINT_PROTOCOL EFI_PRINT_PROTOCOL;\r
+\r
+\r
+typedef\r
+UINTN\r
+(EFIAPI *EFI_VSPRINT) (\r
+ OUT CHAR16 *StartOfBuffer,\r
+ IN UINTN BufferSize,\r
+ IN CONST CHAR16 *FormatString,\r
+ IN VA_LIST Marker\r
+ );\r
+\r
+struct _EFI_PRINT_PROTOCOL {\r
+ EFI_VSPRINT VSPrint;\r
+};\r
+\r
+\r
+extern EFI_GUID gEfiPrintProtocolGuid;\r
+\r
+#endif\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ ScsiIo.h\r
+\r
+Abstract:\r
+\r
+ SCSI I/O protocol.\r
+\r
+--*/\r
+\r
+#ifndef __SCSI_IO_H__\r
+#define __SCSI_IO_H__\r
+\r
+#define EFI_SCSI_IO_PROTOCOL_GUID \\r
+ { 0x403cd195, 0xf233, 0x48ec, {0x84, 0x55, 0xb2, 0xe5, 0x2f, 0x1d, 0x9e, 0x2 } }\r
+\r
+//\r
+// Forward reference for pure ANSI compatability\r
+//\r
+typedef struct _EFI_SCSI_IO_PROTOCOL EFI_SCSI_IO_PROTOCOL;\r
+\r
+//\r
+// SCSI Host Adapter Status definition\r
+//\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OK 0x00\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT_COMMAND 0x09 // timeout when processing the command\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_TIMEOUT 0x0b // timeout when waiting for the command processing\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_MESSAGE_REJECT 0x0d // a message reject was received when processing command\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_RESET 0x0e // a bus reset was detected\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PARITY_ERROR 0x0f\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_REQUEST_SENSE_FAILED 0x10 // the adapter failed in issuing request sense command\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_SELECTION_TIMEOUT 0x11 // selection timeout\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_DATA_OVERRUN_UNDERRUN 0x12 // data overrun or data underrun\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_BUS_FREE 0x13 // Unexepected bus free\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_PHASE_ERROR 0x14 // Target bus phase sequence failure\r
+#define EFI_SCSI_IO_STATUS_HOST_ADAPTER_OTHER 0x7f\r
+\r
+\r
+//\r
+// SCSI Target Status definition\r
+//\r
+#define EFI_SCSI_IO_STATUS_TARGET_GOOD 0x00\r
+#define EFI_SCSI_IO_STATUS_TARGET_CHECK_CONDITION 0x02 // check condition\r
+#define EFI_SCSI_IO_STATUS_TARGET_CONDITION_MET 0x04 // condition met\r
+#define EFI_SCSI_IO_STATUS_TARGET_BUSY 0x08 // busy\r
+#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE 0x10 // intermediate\r
+#define EFI_SCSI_IO_STATUS_TARGET_INTERMEDIATE_CONDITION_MET 0x14 // intermediate-condition met\r
+#define EFI_SCSI_IO_STATUS_TARGET_RESERVATION_CONFLICT 0x18 // reservation conflict\r
+#define EFI_SCSI_IO_STATUS_TARGET_COMMOND_TERMINATED 0x22 // command terminated\r
+#define EFI_SCSI_IO_STATUS_TARGET_QUEUE_FULL 0x28 // queue full\r
+\r
+typedef struct {\r
+ UINT64 Timeout;\r
+ VOID *DataBuffer;\r
+ VOID *SenseData;\r
+ VOID *Cdb;\r
+ UINT32 TransferLength;\r
+ UINT8 CdbLength;\r
+ UINT8 DataDirection;\r
+ UINT8 HostAdapterStatus;\r
+ UINT8 TargetStatus;\r
+ UINT8 SenseDataLength;\r
+}EFI_SCSI_IO_SCSI_REQUEST_PACKET;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE) (\r
+ IN EFI_SCSI_IO_PROTOCOL *This,\r
+ OUT UINT8 *DeviceType\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Retrieves the device type information of the SCSI Controller.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ DeviceType - A pointer to the device type information\r
+ retrieved from the SCSI Controller.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - Retrieves the device type information successfully.\r
+ EFI_INVALID_PARAMETER - The DeviceType is NULL.\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION) (\r
+ IN EFI_SCSI_IO_PROTOCOL *This,\r
+ OUT UINT32 *Target,\r
+ OUT UINT64 *Lun\r
+ )\r
+/*++\r
+ Routine Description:\r
+ Retrieves the device location in the SCSI channel.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ Target - A pointer to the Target ID of a SCSI device\r
+ on the SCSI channel.\r
+ Lun - A pointer to the LUN of the SCSI device on\r
+ the SCSI channel.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - Retrieves the device location successfully.\r
+ EFI_INVALID_PARAMETER - The Target or Lun is NULL.\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_BUS) (\r
+ IN EFI_SCSI_IO_PROTOCOL *This\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Resets the SCSI Bus that the SCSI Controller is attached to.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+\r
+ Returns:\r
+ EFI_SUCCESS - The SCSI bus is reset successfully.\r
+ EFI_DEVICE_ERROR - Errors encountered when resetting the SCSI bus.\r
+ EFI_UNSUPPORTED - The bus reset operation is not supported by the\r
+ SCSI Host Controller.\r
+ EFI_TIMEOUT - A timeout occurred while attempting to reset\r
+ the SCSI bus.\r
+--*/\r
+;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_RESET_DEVICE) (\r
+ IN EFI_SCSI_IO_PROTOCOL *This\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Resets the SCSI Controller that the device handle specifies.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+\r
+\r
+ Returns:\r
+ EFI_SUCCESS - Reset the SCSI controller successfully.\r
+ EFI_DEVICE_ERROR - Errors are encountered when resetting the\r
+ SCSI Controller.\r
+ EFI_UNSUPPORTED - The SCSI bus does not support a device\r
+ reset operation.\r
+ EFI_TIMEOUT - A timeout occurred while attempting to\r
+ reset the SCSI Controller.\r
+--*/\r
+;\r
+\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_CMD) (\r
+ IN EFI_SCSI_IO_PROTOCOL *This,\r
+ IN OUT EFI_SCSI_IO_SCSI_REQUEST_PACKET *Packet,\r
+ IN EFI_EVENT Event OPTIONAL\r
+ )\r
+/*++\r
+\r
+ Routine Description:\r
+ Sends a SCSI Request Packet to the SCSI Controller for execution.\r
+\r
+ Arguments:\r
+ This - Protocol instance pointer.\r
+ Packet - The SCSI request packet to send to the SCSI\r
+ Controller specified by the device handle.\r
+ Event - If the SCSI bus where the SCSI device is attached\r
+ does not support non-blocking I/O, then Event is\r
+ ignored, and blocking I/O is performed.\r
+ If Event is NULL, then blocking I/O is performed.\r
+ If Event is not NULL and non-blocking I/O is\r
+ supported, then non-blocking I/O is performed,\r
+ and Event will be signaled when the SCSI Request\r
+ Packet completes.\r
+ Returns:\r
+ EFI_SUCCESS - The SCSI Request Packet was sent by the host\r
+ successfully, and TransferLength bytes were\r
+ transferred to/from DataBuffer.See\r
+ HostAdapterStatus, TargetStatus,\r
+ SenseDataLength, and SenseData in that order\r
+ for additional status information.\r
+ EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed,\r
+ but the entire DataBuffer could not be transferred.\r
+ The actual number of bytes transferred is returned\r
+ in TransferLength. See HostAdapterStatus,\r
+ TargetStatus, SenseDataLength, and SenseData in\r
+ that order for additional status information.\r
+ EFI_NOT_READY - The SCSI Request Packet could not be sent because\r
+ there are too many SCSI Command Packets already\r
+ queued.The caller may retry again later.\r
+ EFI_DEVICE_ERROR - A device error occurred while attempting to send\r
+ the SCSI Request Packet. See HostAdapterStatus,\r
+ TargetStatus, SenseDataLength, and SenseData in\r
+ that order for additional status information.\r
+ EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid.\r
+ The SCSI Request Packet was not sent, so no\r
+ additional status information is available.\r
+ EFI_UNSUPPORTED - The command described by the SCSI Request Packet\r
+ is not supported by the SCSI initiator(i.e., SCSI\r
+ Host Controller). The SCSI Request Packet was not\r
+ sent, so no additional status information is\r
+ available.\r
+ EFI_TIMEOUT - A timeout occurred while waiting for the SCSI\r
+ Request Packet to execute. See HostAdapterStatus,\r
+ TargetStatus, SenseDataLength, and SenseData in\r
+ that order for additional status information.\r
+--*/\r
+;\r
+\r
+struct _EFI_SCSI_IO_PROTOCOL {\r
+ EFI_SCSI_IO_PROTOCOL_GET_DEVICE_TYPE GetDeviceType;\r
+ EFI_SCSI_IO_PROTOCOL_GET_DEVICE_LOCATION GetDeviceLocation;\r
+ EFI_SCSI_IO_PROTOCOL_RESET_BUS ResetBus;\r
+ EFI_SCSI_IO_PROTOCOL_RESET_DEVICE ResetDevice;\r
+ EFI_SCSI_IO_PROTOCOL_EXEC_SCSI_CMD ExecuteSCSICommand;\r
+};\r
+\r
+extern EFI_GUID gEfiScsiIoProtocolGuid;\r
+\r
+#endif\r
+\r
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+\r
+ UsbAtapi.h\r
+\r
+Abstract:\r
+\r
+ EFI Atapi Protocol definition.\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+#ifndef __EFI_USB_ATAPI_H__\r
+#define __EFI_USB_ATAPI_H__\r
+\r
+//\r
+// Transfer protocol types\r
+//\r
+#define BOT 0x50\r
+#define CBI0 0x00\r
+#define CBI1 0x01\r
+\r
+//\r
+// SubClass Code (defines command set)\r
+//\r
+#define EFI_USB_SUBCLASS_RBC 0x01\r
+#define EFI_USB_SUBCLASS_ATAPI 0x02\r
+#define EFI_USB_SUBCLASS_QIC_157 0x03\r
+#define EFI_USB_SUBCLASS_UFI 0x04\r
+#define EFI_USB_SUBCLASS_SFF_8070i 0x05\r
+#define EFI_USB_SUBCLASS_SCSI 0x06\r
+#define EFI_USB_SUBCLASS_RESERVED_LOW 0x07\r
+#define EFI_USB_SUBCLASS_RESERVED_HIGH 0xff\r
+//\r
+// Global GUID for transfer protocol interface\r
+//\r
+#define EFI_USB_ATAPI_PROTOCOL_GUID \\r
+ { 0x2B2F68DA, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } }\r
+\r
+typedef struct _EFI_USB_ATAPI_PROTOCOL EFI_USB_ATAPI_PROTOCOL;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_USB_ATAPI_PACKET_CMD) (\r
+ IN EFI_USB_ATAPI_PROTOCOL *This,\r
+ IN VOID *Command,\r
+ IN UINT8 CommandSize,\r
+ IN VOID *DataBuffer,\r
+ IN UINT32 BufferLength,\r
+ IN EFI_USB_DATA_DIRECTION Direction,\r
+ IN UINT16 TimeOutInMilliSeconds\r
+);\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_USB_MASS_STORAGE_RESET) (\r
+ IN EFI_USB_ATAPI_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
+);\r
+\r
+//\r
+// Protocol Interface Structure\r
+//\r
+struct _EFI_USB_ATAPI_PROTOCOL {\r
+ EFI_USB_ATAPI_PACKET_CMD UsbAtapiPacketCmd;\r
+ EFI_USB_MASS_STORAGE_RESET UsbAtapiReset;\r
+ UINT32 CommandProtocol;\r
+};\r
+\r
+extern EFI_GUID gEfiUsbAtapiProtocolGuid;\r
+\r
+#endif\r
#/** @file\r
# Mde Module Package Reference Implementations\r
#\r
-# This Module provides standard reference information for EFI/PI implementations.\r
+# This module provides headers and libraries that conform to EFI/PI Industry standards.\r
# Copyright (c) 2007, Intel Corporation.\r
#\r
# All rights reserved.\r
-# This program and the accompanying materials are licensed and made available\r
-# under the terms and conditions of the BSD License which accompanies this distribution.\r
-# The full text of the license may be found at http://opensource.org/licenses/bsd-license.php\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES\r
-# OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# This program and the accompanying materials are licensed and made available under\r
+# the terms and conditions of the BSD License which accompanies this distribution.\r
+# The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+# \r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
#**/\r
\r
\r
################################################################################\r
#\r
-# Include Section - list of Include Paths that are provided by this package.\r
-# Comments are used for Keywords and Module Types.\r
-#\r
-# Supported Module Types:\r
-# SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER\r
+# Global Guid Definition section - list of Global Guid C Name Data Structures\r
+# that are provided by this package.\r
#\r
################################################################################\r
-[Includes.common]\r
+[Guids.common]\r
+ gEfiGenericPlatformVariableGuid = { 0x59d1c24f, 0x50f1, 0x401a, { 0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43 }}\r
+ gPeiPerformanceHobGuid = { 0xEC4DF5AF, 0x4395, 0x4CC9, { 0x94, 0xDE, 0x77, 0x50, 0x6D, 0x12, 0xC7, 0xB8 }}\r
+ gEfiCapsuleVendorGuid = { 0x711C703F, 0xC285, 0x4B10, { 0xA3, 0xB0, 0x36, 0xEC, 0xBD, 0x3C, 0x8B, 0xE2 }}\r
+ gEfiPciHotplugDeviceGuid = { 0x0B280816, 0x52E7, 0x4E51, { 0xAA, 0x57, 0x11, 0xBD, 0x41, 0xCB, 0xEF, 0xC3 }}\r
+ gEfiBootStateGuid = { 0x60B5E939, 0x0FCF, 0x4227, { 0xBA, 0x83, 0x6B, 0xBE, 0xD4, 0x5B, 0xC0, 0xE3 }}\r
+ gEfiDefaultBmpLogoGuid = { 0x7BB28B99, 0x61BB, 0x11D5, { 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
+ gEfiPrimaryConsoleOutDeviceGuid = { 0x62BDF38A, 0xE3D5, 0x492C, { 0x95, 0x0C, 0x23, 0xA7, 0xF6, 0x6E, 0x67, 0x2E }}\r
+ gEfiPrimaryConsoleInDeviceGuid = { 0xE451DCBE, 0x96A1, 0x4729, { 0xA5, 0xCF, 0x6B, 0x9C, 0x2C, 0xFF, 0x47, 0xFD }}\r
+ gEfiPrimaryStandardErrorDeviceGuid = { 0x5A68191B, 0x9B97, 0x4752, { 0x99, 0x46, 0xE3, 0x6A, 0x5D, 0xA9, 0x42, 0xB1 }}\r
+ gEfiHotPlugDeviceGuid = { 0x220AC432, 0x1D43, 0x49E5, { 0xA7, 0x4F, 0x4C, 0x9D, 0xA6, 0x7A, 0xD2, 0x3B }}\r
+ gEfiStandardErrorDeviceGuid = { 0xD3B36F2D, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
+ gEfiConsoleOutDeviceGuid = { 0xD3B36F2C, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
+ gEfiConsoleInDeviceGuid = { 0xD3B36F2B, 0xD551, 0x11D4, { 0x9A, 0x46, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}\r
+ gEfiAlternateFvBlockGuid = { 0xF496922D, 0x172F, 0x4BBC, { 0xA1, 0xEB, 0x0E, 0xEB, 0x94, 0x9C, 0x34, 0x86 }}\r
+ gEfiDiskInfoUsbInterfaceGuid = { 0xCB871572, 0xC11A, 0x47B5, { 0xB4, 0x92, 0x67, 0x5E, 0xAF, 0xA7, 0x77, 0x27 }}\r
+ gEfiDiskInfoScsiInterfaceGuid = { 0x08F74BAA, 0xEA36, 0x41D9, { 0x95, 0x21, 0x21, 0xA7, 0x0F, 0x87, 0x80, 0xBC }}\r
+ gEfiDiskInfoIdeInterfaceGuid = { 0x5E948FE3, 0x26D3, 0x42B5, { 0xAF, 0x17, 0x61, 0x02, 0x87, 0x18, 0x8D, 0xEC }}\r
+ gEfiSystemNvDataFvGuid = { 0xFFF12B8D, 0x7696, 0x4C8B, { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}\r
+ gEfiSystemNvDataHobGuid = { 0xD6E5092D, 0xC7B2, 0x4872, { 0xAF, 0x66, 0xFD, 0xC0, 0xE6, 0xF9, 0x5E, 0x78 }}\r
+ gPcdPeiCallbackFnTableHobGuid = { 0xC625F4B2, 0xEA09, 0x4675, { 0x82, 0xD7, 0xBA, 0x36, 0x82, 0x15, 0x7A, 0x14 }}\r
+ gPcdDataBaseHobGuid = { 0xEA296D92, 0x0B69, 0x423C, { 0x8C, 0x28, 0x33, 0xB4, 0xE0, 0xA9, 0x12, 0x68 }}\r
+ gEfiMdePkgTokenSpaceGuid = { 0xA1AFF049, 0xFDEB, 0x442a, { 0xB3, 0x20, 0x13, 0xAB, 0x4C, 0xB7, 0x2B, 0xBC }}\r
+\r
\r
\r
\r
################################################################################\r
#\r
-# Library Class Header section - list of Library Class header files that are\r
-# provided by this package.\r
+# Global Protocols Definition section - list of Global Protocols C Name Data\r
+# Structures that are provided by this package.\r
#\r
################################################################################\r
-[LibraryClasses.common]\r
+[Protocols.common]\r
+ gEfiScsiIoProtocolGuid = { 0x403CD195, 0xF233, 0x48EC, { 0x84, 0x55, 0xB2, 0xE5, 0x2F, 0x1D, 0x9E, 0x02 }}\r
+ gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 }}\r
+ gEfiUsbAtapiProtocolGuid = { 0x2B2F68DA, 0x0CD2, 0x44CF, { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 }}\r
+ gEfiOEMBadgingProtocolGuid = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}\r
+ gEfiConsoleControlProtocolGuid = { 0xF42F7782, 0x012E, 0x4C12, { 0x99, 0x56, 0x49, 0xF9, 0x43, 0x04, 0xF7, 0x21 }}\r
+ gEfiFaultTolerantWriteLiteProtocolGuid = { 0x3F557189, 0x8DAE, 0x45AE, { 0xA0, 0xB3, 0x2B, 0x99, 0xCA, 0x7A, 0xA7, 0xA0 }}\r
+ gEfiFvbExtensionProtocolGuid = { 0x53A4C71B, 0xB581, 0x4170, { 0x91, 0xB3, 0x8D, 0xB8, 0x7A, 0x4B, 0x5C, 0x46 }}\r
+ gEfiDiskInfoProtocolGuid = { 0xD432A67F, 0x14DC, 0x484B, { 0xB3, 0xBB, 0x3F, 0x02, 0x91, 0x84, 0x93, 0x27 }}\r
+ gEfiGenericMemTestProtocolGuid = { 0x309DE7F1, 0x7F5E, 0x4ACE, { 0xB4, 0x9C, 0x53, 0x1B, 0xE5, 0xAA, 0x95, 0xEF }}\r
+ gEfiPrintProtocolGuid = { 0xDF2D868E, 0x32FC, 0x4CF0, { 0x8E, 0x6B, 0xFF, 0xD9, 0x5D, 0x13, 0x43, 0xD0 }}\r
+ gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}\r
+ gEfiCapsuleArchProtocolGuid = { 0x5053697E, 0x2EBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}\r
+\r
\r
\r
\r
################################################################################\r
#\r
-# Global Guid Definition section - list of Global Guid C Name Data Structures\r
+# Global Ppis Definition section - list of Global Ppis C Name Data Structures\r
# that are provided by this package.\r
#\r
################################################################################\r
-[Guids.common]\r
+[Ppis.common]\r
+ gPeiBaseMemoryTestPpiGuid = { 0xB6EC423C, 0x21D2, 0x490D, { 0x85, 0xC6, 0xDD, 0x58, 0x64, 0xEA, 0xA6, 0x74 }}\r
\r
\r
-################################################################################\r
-#\r
-# Global Protocols Definition section - list of Global Protocols C Name Data\r
-# Structures that are provided by this package.\r
-#\r
-################################################################################\r
-[Protocols.common]\r
\r
\r
################################################################################\r
#\r
################################################################################\r
\r
-[PcdsFeatureFlag.common]\r
+[PcdFeatureFlag.common]\r
+ PcdSupportUpdateCapsuleRest|0x0001001d|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE\r
+ PcdPeiPcdDatabaseTraverseEnabled|0x00010020|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdDxePcdDatabaseTraverseEnabled|0x00010021|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdPeiPcdDatabaseSetEnabled|0x00010030|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdPeiPcdDatabaseGetSizeEnabled|0x00010031|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdPeiPcdDatabaseCallbackOnSetEnabled|0x00010032|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdPeiPcdDatabaseExEnabled|0x00010033|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdDxeIplSupportEfiDecompress|0x00010034|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdDxeIplSupportTianoDecompress|0x00010035|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdDxeIplSupportCustomDecompress|0x00010036|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+ PcdDevicePathSupportDevicePathToText|0x00010037|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE\r
+ PcdDevicePathSupportDevicePathFromText|0x00010038|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE\r
+ PcdDxeIplBuildShareCodeHobs|0x0001003c|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE\r
+ PcdNtEmulatorEnable|0x0001003e|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|FALSE\r
+\r
+[PcdFixedAtBuild.common]\r
+ PcdMaxPeiPcdCallBackNumberPerPcdEntry|0x0001000f|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x08\r
+ PcdVpdBaseAddress|0x00010010|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x0\r
+ PcdMaxSizePopulateCapsule|0x0001001e|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x0\r
+ PcdMaxSizeNonPopulateCapsule|0x0001001f|gEfiEdkModulePkgTokenSpaceGuid|UINT32|0x0\r
+ PcdMaxPeiPerformanceLogEntries|0x0001002f|gEfiEdkModulePkgTokenSpaceGuid|UINT8|28\r
+ PcdFlashNvStorageVariableBase|0x30000001|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageVariableSize|0x30000002|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwSpareBase|0x30000013|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwSpareSize|0x30000014|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwWorkingBase|0x30000010|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwWorkingSize|0x30000011|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+\r
+[PcdDynamic.common]\r
+ PcdFlashNvStorageVariableBase|0x30000001|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageVariableSize|0x30000002|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwSpareBase|0x30000013|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwSpareSize|0x30000014|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwWorkingBase|0x30000010|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwWorkingSize|0x30000011|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+\r
+[PcdPatchableInModule.common]\r
+ PcdMaxPeiPerformanceLogEntries|0x0001002f|gEfiEdkModulePkgTokenSpaceGuid|UINT8|28\r
+ PcdFlashNvStorageVariableBase|0x30000001|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageVariableSize|0x30000002|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwSpareBase|0x30000013|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwSpareSize|0x30000014|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwWorkingBase|0x30000010|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+ PcdFlashNvStorageFtwWorkingSize|0x30000011|gEfiGenericPlatformTokenSpaceGuid|UINT32|0x0\r
+\r
+\r
+[PcdFeatureFlag.IA32]\r
+ PcdDxeIplSwitchToLongMode|0x0001003b|gEfiEdkModulePkgTokenSpaceGuid|BOOLEAN|TRUE\r
+\r
\r
<Filename>Universal/Disk/Partition/Dxe/Partition.msa</Filename>\r
<Filename>Universal/Security/SecurityStub/SecurityStub.msa</Filename>\r
</MsaFiles>\r
+ <GuidDeclarations>\r
+ <Entry Name="MdeModulePkgTokenSpace">\r
+ <C_Name>gEfiMdePkgTokenSpaceGuid</C_Name>\r
+ <GuidValue>A1AFF049-FDEB-442a-B320-13AB4CB72BBC</GuidValue>\r
+ <HelpText>All PCD define in MdeModulePkg is in this token space scope</HelpText>\r
+ </Entry>\r
+ <Entry Name="PcdDataBaseHob">\r
+ <C_Name>gPcdDataBaseHobGuid</C_Name>\r
+ <GuidValue>EA296D92-0B69-423C-8C28-33B4E0A91268</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="PcdPeiCallbackFnTable">\r
+ <C_Name>gPcdPeiCallbackFnTableHobGuid</C_Name>\r
+ <GuidValue>C625F4B2-EA09-4675-82D7-BA3682157A14</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="SystemNvDataHob">\r
+ <C_Name>gEfiSystemNvDataHobGuid</C_Name>\r
+ <GuidValue>D6E5092D-C7B2-4872-AF66-FDC0E6F95E78</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="SystemNvDataFv">\r
+ <C_Name>gEfiSystemNvDataFvGuid</C_Name>\r
+ <GuidValue>FFF12B8D-7696-4C8B-A985-2747075B4F50</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="DiskInfoIde">\r
+ <C_Name>gEfiDiskInfoIdeInterfaceGuid</C_Name>\r
+ <GuidValue>5E948FE3-26D3-42B5-AF17-610287188DEC</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="DiskInfoScsi">\r
+ <C_Name>gEfiDiskInfoScsiInterfaceGuid</C_Name>\r
+ <GuidValue>08F74BAA-EA36-41D9-9521-21A70F8780BC</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="DiskInfoUsb">\r
+ <C_Name>gEfiDiskInfoUsbInterfaceGuid</C_Name>\r
+ <GuidValue>CB871572-C11A-47B5-B492-675EAFA77727</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="AlternateFvBlock">\r
+ <C_Name>gEfiAlternateFvBlockGuid</C_Name>\r
+ <GuidValue>F496922D-172F-4BBC-A1EB-0EEB949C3486</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="ConsoleInDevice">\r
+ <C_Name>gEfiConsoleInDeviceGuid</C_Name>\r
+ <GuidValue>D3B36F2B-D551-11D4-9A46-0090273FC14D</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="ConsoleOutDevice">\r
+ <C_Name>gEfiConsoleOutDeviceGuid</C_Name>\r
+ <GuidValue>D3B36F2C-D551-11D4-9A46-0090273FC14D</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="StandardErrorDevice">\r
+ <C_Name>gEfiStandardErrorDeviceGuid</C_Name>\r
+ <GuidValue>D3B36F2D-D551-11D4-9A46-0090273FC14D</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="HotPlugDevice">\r
+ <C_Name>gEfiHotPlugDeviceGuid</C_Name>\r
+ <GuidValue>220AC432-1D43-49E5-A74F-4C9DA67AD23B</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="PrimaryStandardErrorDevice">\r
+ <C_Name>gEfiPrimaryStandardErrorDeviceGuid</C_Name>\r
+ <GuidValue>5A68191B-9B97-4752-9946-E36A5DA942B1</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="PrimaryConsoleInDevice">\r
+ <C_Name>gEfiPrimaryConsoleInDeviceGuid</C_Name>\r
+ <GuidValue>E451DCBE-96A1-4729-A5CF-6B9C2CFF47FD</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="PrimaryConsoleOutDevice">\r
+ <C_Name>gEfiPrimaryConsoleOutDeviceGuid</C_Name>\r
+ <GuidValue>62BDF38A-E3D5-492C-950C-23A7F66E672E</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="Bmp">\r
+ <C_Name>gEfiDefaultBmpLogoGuid</C_Name>\r
+ <GuidValue>7BB28B99-61BB-11D5-9A5D-0090273FC14D</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="BootState">\r
+ <C_Name>gEfiBootStateGuid</C_Name>\r
+ <GuidValue>60B5E939-0FCF-4227-BA83-6BBED45BC0E3</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="PciHotplugDevice">\r
+ <C_Name>gEfiPciHotplugDeviceGuid</C_Name>\r
+ <GuidValue>0B280816-52E7-4E51-AA57-11BD41CBEFC3</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="CapsuleVendor">\r
+ <C_Name>gEfiCapsuleVendorGuid</C_Name>\r
+ <GuidValue>711C703F-C285-4B10-A3B0-36ECBD3C8BE2</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="PeiPerformanceHob">\r
+ <C_Name>gPeiPerformanceHobGuid</C_Name>\r
+ <GuidValue>EC4DF5AF-4395-4CC9-94DE-77506D12C7B8</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="GenericPlatformVariable" GuidTypeList="EFI_VARIABLE">\r
+ <C_Name>gEfiGenericPlatformVariableGuid</C_Name>\r
+ <GuidValue>59d1c24f-50f1-401a-b101-f33e0daed443</GuidValue>\r
+ <HelpText>The variable space Guid to pair with a Unicode string name to tag an EFI variable</HelpText>\r
+ </Entry>\r
+ </GuidDeclarations>\r
+ <ProtocolDeclarations>\r
+ <Entry Name="Capsule">\r
+ <C_Name>gEfiCapsuleArchProtocolGuid</C_Name>\r
+ <GuidValue>5053697E-2EBC-4819-90D9-0580DEEE5754</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="LoadPeImage">\r
+ <C_Name>gEfiLoadPeImageProtocolGuid</C_Name>\r
+ <GuidValue>5CB5C776-60D5-45EE-883C-452708CD743F</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="Print">\r
+ <C_Name>gEfiPrintProtocolGuid</C_Name>\r
+ <GuidValue>DF2D868E-32FC-4CF0-8E6B-FFD95D1343D0</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="GenericMemTest">\r
+ <C_Name>gEfiGenericMemTestProtocolGuid</C_Name>\r
+ <GuidValue>309DE7F1-7F5E-4ACE-B49C-531BE5AA95EF</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="DiskInfo">\r
+ <C_Name>gEfiDiskInfoProtocolGuid</C_Name>\r
+ <GuidValue>D432A67F-14DC-484B-B3BB-3F0291849327</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="FvbExtension">\r
+ <C_Name>gEfiFvbExtensionProtocolGuid</C_Name>\r
+ <GuidValue>53A4C71B-B581-4170-91B3-8DB87A4B5C46</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="FaultTolerantWriteLite">\r
+ <C_Name>gEfiFaultTolerantWriteLiteProtocolGuid</C_Name>\r
+ <GuidValue>3F557189-8DAE-45AE-A0B3-2B99CA7AA7A0</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="ConsoleControl">\r
+ <C_Name>gEfiConsoleControlProtocolGuid</C_Name>\r
+ <GuidValue>F42F7782-012E-4C12-9956-49F94304F721</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="OEMBadging">\r
+ <C_Name>gEfiOEMBadgingProtocolGuid</C_Name>\r
+ <GuidValue>170E13C0-BF1B-4218-871D-2ABDC6F887BC</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="UsbAtapi">\r
+ <C_Name>gEfiUsbAtapiProtocolGuid</C_Name>\r
+ <GuidValue>2B2F68DA-0CD2-44CF-8E8B-BBA20B1B5B75</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="Performance">\r
+ <C_Name>gPerformanceProtocolGuid</C_Name>\r
+ <GuidValue>76B6BDFA-2ACD-4462-9E3F-CB58C969D937</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ <Entry Name="ScsiIo">\r
+ <C_Name>gEfiScsiIoProtocolGuid</C_Name>\r
+ <GuidValue>403CD195-F233-48EC-8455-B2E52F1D9E02</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ </ProtocolDeclarations>\r
+ <PpiDeclarations>\r
+ <Entry Name="BaseMemoryTest">\r
+ <C_Name>gPeiBaseMemoryTestPpiGuid</C_Name>\r
+ <GuidValue>B6EC423C-21D2-490D-85C6-DD5864EAA674</GuidValue>\r
+ <HelpText/>\r
+ </Entry>\r
+ </PpiDeclarations>\r
+ <PcdDeclarations>\r
+ <PcdEntry>\r
+ <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>\r
+ <Token>0x0001000f</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+ <DefaultValue>0x08</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdVpdBaseAddress</C_Name>\r
+ <Token>0x00010010</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>The base address of the VPD (Vital Product Data) region. It is
+ normally a region reserved on flash.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdSupportUpdateCapsuleRest</C_Name>\r
+ <Token>0x0001001d</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>FALSE</DefaultValue>\r
+ <HelpText>Indicate whether platform can support update capsule across a system reset</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdMaxSizePopulateCapsule</C_Name>\r
+ <Token>0x0001001e</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Indicate the max size the platform can support in case of populated capsules</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdMaxSizeNonPopulateCapsule</C_Name>\r
+ <Token>0x0001001f</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Indicate the max size the platform can support in case of non-populated capsules</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdPeiPcdDatabaseTraverseEnabled</C_Name>\r
+ <Token>0x00010020</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDxePcdDatabaseTraverseEnabled</C_Name>\r
+ <Token>0x00010021</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdMaxPeiPerformanceLogEntries</C_Name>\r
+ <Token>0x0001002f</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT8</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>\r
+ <DefaultValue>28</DefaultValue>\r
+ <HelpText>Maximun number of performance log entries during PEI phase.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdPeiPcdDatabaseSetEnabled</C_Name>\r
+ <Token>0x00010030</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdPeiPcdDatabaseGetSizeEnabled</C_Name>\r
+ <Token>0x00010031</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdPeiPcdDatabaseCallbackOnSetEnabled</C_Name>\r
+ <Token>0x00010032</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdPeiPcdDatabaseExEnabled</C_Name>\r
+ <Token>0x00010033</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <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>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
+ <Token>0x30000001</Token>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Base address of the variable section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
+ <Token>0x30000002</Token>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Size of the variable section in NV firmware volume..</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>\r
+ <Token>0x30000013</Token>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Base address of the FTW spare block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>\r
+ <Token>0x30000014</Token>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Size of the FTW spare block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>\r
+ <Token>0x30000010</Token>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Base address of the FTW working block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>\r
+ <Token>0x30000011</Token>\r
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>UINT32</DatumType>\r
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+ <DefaultValue>0x0</DefaultValue>\r
+ <HelpText>Size of the FTW working block section in NV firmware volume.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDxeIplSupportEfiDecompress</C_Name>\r
+ <Token>0x00010034</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the EFI Compression algorithm</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDxeIplSupportTianoDecompress</C_Name>\r
+ <Token>0x00010035</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Tiano Compression algorithm</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDxeIplSupportCustomDecompress</C_Name>\r
+ <Token>0x00010036</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Custom Compression algorithm</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDevicePathSupportDevicePathToText</C_Name>\r
+ <Token>0x00010037</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>FALSE</DefaultValue>\r
+ <HelpText>If TRUE, then the Device Path To Text Protocol should be produced by the platform</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDevicePathSupportDevicePathFromText</C_Name>\r
+ <Token>0x00010038</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>FALSE</DefaultValue>\r
+ <HelpText>If TRUE, then the Device Path From Text Protocol should be produced by the platform</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry SupArchList="IA32">\r
+ <C_Name>PcdDxeIplSwitchToLongMode</C_Name>\r
+ <Token>0x0001003b</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>TRUE</DefaultValue>\r
+ <HelpText>If this feature is enabled, then the DXE IPL will load a 64-bit DxeCore.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdDxeIplBuildShareCodeHobs</C_Name>\r
+ <Token>0x0001003c</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>FALSE</DefaultValue>\r
+ <HelpText>If this feature is enabled, DXE IPL will build a series of HOBs to share code with DXE Core.</HelpText>\r
+ </PcdEntry>\r
+ <PcdEntry>\r
+ <C_Name>PcdNtEmulatorEnable</C_Name>\r
+ <Token>0x0001003e</Token>\r
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+ <DatumType>BOOLEAN</DatumType>\r
+ <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+ <DefaultValue>FALSE</DefaultValue>\r
+ <HelpText>If this PCD is set as TRUE, NT emulator will be endabled.</HelpText>\r
+ </PcdEntry>\r
+ </PcdDeclarations>\r
</PackageSurfaceArea>\r