Move MdeModuleHii.h into Include\Guid directory

Move Capsule.h into MdePkg\Include\Protocol directory because Capsule is defined in PI1.0a.
Merge WorkingBlockHeader.h into SystemNvDataGuid.h
Remove unused NvDataFvHob.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7606 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2009-02-23 15:18:48 +00:00
parent 7731944275
commit 5c52673637
20 changed files with 81 additions and 135 deletions

View File

@ -233,5 +233,8 @@ typedef struct _EFI_IFR_GUID_VAREQNAME {
#pragma pack()
extern EFI_GUID gEfiIfrTianoGuid;
extern EFI_GUID gEfiIfrFrameworkGuid;
#endif

View File

@ -1,10 +1,5 @@
/** @file
This file defines NvData Hob GUIDs for System Non Volatile HOB entries
and the corresponding hob data structure. NvData Hob can be used to report
the region of the system non volatile data for the specific purpose,
such as FTW region, Error log region.
It also defines NvDataFv GUID.
/** @file
This file defines NvDataFv GUID and FTW working block structure header.
This guid can be used as FileSystemGuid in EFI_FIRMWARE_VOLUME_HEADER if
this FV image contains NV data, such as NV variable data.
This guid can also be used as the signature of FTW working block header.
@ -26,27 +21,42 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#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} }
///
/// Hob entry for NV data region
///
typedef struct {
EFI_GUID SystemNvDataHobGuid; ///> EFI_SYSTEM_NV_DATA_HOB_GUID
EFI_GUID SystemNvDataFvGuid; ///> Guid specifies the NvData Fv for the specific purpose, such as FTW, Error Log.
EFI_LBA StartLba; ///> The starting logical block index.
UINTN StartLbaOffset; ///> Offset into the starting block at which to the start of NvData region.
EFI_LBA EndLba; ///> The last logical block index.
UINTN EndLbaOffset; ///> Offset into the last block at which to the end of Nvdata region.
UINT32 DataTypeSignature; ///> NvData type in the specified NV range.
} NV_SYSTEM_DATA_GUID_TYPE;
extern EFI_GUID gEfiSystemNvDataHobGuid;
///
/// NvDataFv GUID used as the signature of FTW working block header.
///
extern EFI_GUID gEfiSystemNvDataFvGuid;
#define WORKING_BLOCK_VALID 0x1
#define WORKING_BLOCK_INVALID 0x2
///
/// EDKII Fault tolerant working block header
/// The header is immediately followed by the write queue data.
///
typedef struct {
///
/// System Non Volatile FV Guid
///
EFI_GUID Signature;
///
/// 32bit CRC caculated for this header
///
UINT32 Crc;
///
/// Working block valid bit
///
UINT8 WorkingBlockValid : 1;
UINT8 WorkingBlockInvalid : 1;
UINT8 Reserved : 6;
UINT8 Reserved3[3];
///
/// Total size of the following write queue range.
///
UINT64 WriteQueueSize;
///
/// Write Queue data
/// UINT8 WriteQueue[WriteQueueSize];
///
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
#endif

View File

@ -1,28 +0,0 @@
/** @file
Capsule Architectural Protocol is responsible to tag UEFI2.0 capsule runtime services
are ready in EFI_RUNTIME_SERVICES table.
Copyright (c) 2006 - 2008, 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.
**/
#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, 0x2cbc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}
extern EFI_GUID gEfiCapsuleArchProtocolGuid;
#endif

View File

@ -1,52 +0,0 @@
/** @file
The header structure of FTW working block region.
Copyright (c) 2006 - 2008, 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.
**/
#ifndef __EFI_WORKING_BLOCK_HEADER_H__
#define __EFI_WORKING_BLOCK_HEADER_H__
#define WORKING_BLOCK_VALID 0x1
#define WORKING_BLOCK_INVALID 0x2
///
/// EDKII Fault tolerant working block header
/// The header is immediately followed by the write queue data.
///
typedef struct {
///
/// System Non Volatile FV Guid
///
EFI_GUID Signature;
///
/// 32bit CRC caculated for this header
///
UINT32 Crc;
///
/// Working block valid bit
///
UINT8 WorkingBlockValid : 1;
UINT8 WorkingBlockInvalid : 1;
UINT8 Reserved : 6;
UINT8 Reserved3[3];
///
/// Total size of the following write queue range.
///
UINT64 WriteQueueSize;
///
/// Write Queue data
/// UINT8 WriteQueue[WriteQueueSize];
///
} EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER;
#endif

View File

@ -1215,7 +1215,7 @@ InsertDriverImage (
if (!Found) {
//
// if not find the wantted order location, add it as last item of the controller mapping item
// if not find the wanted order location, add it as last item of the controller mapping item
//
InsertTailList (&OverrideItem->DriverInfoList, &DriverImageInfo->Link);
OverrideItem->DriverInfoNum ++;

View File

@ -24,7 +24,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DevicePathLib.h>
#include <MdeModuleHii.h>
#include <Guid\MdeModuleHii.h>
//

View File

@ -21,7 +21,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
EFI_HII_DATABASE_PROTOCOL *gIfrLibHiiDatabase;
EFI_HII_STRING_PROTOCOL *gIfrLibHiiString;
GLOBAL_REMOVE_IF_UNREFERENCED CONST EFI_GUID mIfrVendorGuid = EFI_IFR_TIANO_GUID;
/**
ExtendedIfrSupportLib's constructor. It locates the required protocol:
@ -145,7 +144,7 @@ IfrLibExtractClassFromHiiHandle (
}
if ((((EFI_IFR_OP_HEADER *) OpCodeData)->OpCode == EFI_IFR_GUID_OP) &&
CompareGuid (&mIfrVendorGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER))) &&
CompareGuid (&gEfiIfrTianoGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER))) &&
(((EFI_IFR_GUID_CLASS *) OpCodeData)->ExtendOpCode == EFI_IFR_EXTEND_OP_CLASS)
) {
//

View File

@ -54,6 +54,9 @@
DebugLib
PcdLib
[Guids]
gEfiIfrTianoGuid ## CONSUMES ## GUID
[Protocols]
gEfiHiiDatabaseProtocolGuid ## CONSUMES
gEfiHiiStringProtocolGuid ## CONSUMES

View File

@ -180,7 +180,7 @@ UpdateFormPackageData (
ExtendOpCode = ((EFI_IFR_GUID_LABEL *) IfrOpHdr)->ExtendOpCode;
LabelNumber = ReadUnaligned16 ((UINT16 *)(VOID *)&((EFI_IFR_GUID_LABEL *)IfrOpHdr)->Number);
if ((ExtendOpCode != EFI_IFR_EXTEND_OP_LABEL) || (LabelNumber != Label)
|| !CompareGuid ((EFI_GUID *)(UINTN)(&((EFI_IFR_GUID_LABEL *)IfrOpHdr)->Guid), &mIfrVendorGuid)) {
|| !CompareGuid ((EFI_GUID *)(UINTN)(&((EFI_IFR_GUID_LABEL *)IfrOpHdr)->Guid), &gEfiIfrTianoGuid)) {
//
// Go to the next Op-Code
//
@ -219,7 +219,7 @@ UpdateFormPackageData (
IfrOpHdr = (EFI_IFR_OP_HEADER *) ((CHAR8 *) (IfrOpHdr) + IfrOpHdr->Length);
if (IfrOpHdr->OpCode == EFI_IFR_GUID_OP) {
ExtendOpCode = ((EFI_IFR_GUID_LABEL *) IfrOpHdr)->ExtendOpCode;
if ((ExtendOpCode == EFI_IFR_EXTEND_OP_LABEL) && CompareGuid ((EFI_GUID *)(UINTN)(&((EFI_IFR_GUID_LABEL *)IfrOpHdr)->Guid), &mIfrVendorGuid)) {
if ((ExtendOpCode == EFI_IFR_EXTEND_OP_LABEL) && CompareGuid ((EFI_GUID *)(UINTN)(&((EFI_IFR_GUID_LABEL *)IfrOpHdr)->Guid), &gEfiIfrTianoGuid)) {
break;
}
}

View File

@ -50,7 +50,7 @@ CreateBannerOpCode (
Banner.Header.OpCode = EFI_IFR_GUID_OP;
Banner.Header.Length = sizeof (EFI_IFR_GUID_BANNER);
Banner.Header.Scope = 0;
CopyMem (&Banner.Guid, &mIfrVendorGuid, sizeof (EFI_IFR_GUID));
CopyMem (&Banner.Guid, &gEfiIfrTianoGuid, sizeof (EFI_IFR_GUID));
Banner.ExtendOpCode = EFI_IFR_EXTEND_OP_BANNER;
Banner.Title = Title;
Banner.LineNumber = LineNumber;

View File

@ -32,7 +32,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/IfrSupportLib.h>
#include <Library/PcdLib.h>
#include <MdeModuleHii.h>
#include <Guid/MdeModuleHii.h>
extern CONST EFI_GUID mIfrVendorGuid;

View File

@ -95,6 +95,12 @@
## Hob guid for Pcd Pei Callback Function Table
## Include/Guid/PcdPeiCallbackFnTableHobGuid.h
gPcdPeiCallbackFnTableHobGuid = { 0xC625F4B2, 0xEA09, 0x4675, { 0x82, 0xD7, 0xBA, 0x36, 0x82, 0x15, 0x7A, 0x14 }}
## Guid for EDKII implementation GUIDed opcodes
gEfiIfrTianoGuid = { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce }}
## Guid for Framework vfr GUIDed opcodes.
gEfiIfrFrameworkGuid = { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 }}
## Guid to specify the System Non Volatile FV
## Include/Guid/SystemNvDataGuid.h
@ -185,11 +191,7 @@
## Include/Guid/Performance.h
gPerformanceProtocolGuid = { 0x76B6BDFA, 0x2ACD, 0x4462, { 0x9E, 0x3F, 0xCB, 0x58, 0xC9, 0x69, 0xD9, 0x37 }}
[Protocols.common]
## Capsule Arch protocol specify capsule runtime services are installed.
## Include/Protocol/Capsule.h
gEfiCapsuleArchProtocolGuid = { 0x5053697E, 0x2CBC, 0x4819, { 0x90, 0xD9, 0x05, 0x80, 0xDE, 0xEE, 0x57, 0x54 }}
[Protocols.common]
## Load File protocol provides capability to load and unload EFI image into memory and execute it.
## Include/Protocol/LoadPe32Image.h
gEfiLoadPeImageProtocolGuid = { 0x5CB5C776, 0x60D5, 0x45EE, { 0x88, 0x3C, 0x45, 0x27, 0x08, 0xCD, 0x74, 0x3F }}
@ -353,10 +355,13 @@
#
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0|UINT32|0x00010010
## Indicate the max size the platform can support in case of populated capsules.
## Indicate the max size of the populated image that the platform can support.
# To support the multi populated images, the defautl supported size will
# be enlarged to 100MB that is 10 times of the single non-populated image.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x6400000|UINT32|0x0001001e
## Indicate the max size the platform can support in case of non-populated capsules.
## Indicate the max size of the non-populated image that the platform can support.
# The default size is 10MB for the casule image without populated flag setting.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f
## Maximun number of performance log entries during PEI phase.

View File

@ -235,15 +235,23 @@ QueryCapsuleCapabilities (
if (!FeaturePcdGet(PcdSupportUpdateCapsuleReset)) {
return EFI_UNSUPPORTED;
}
*ResetType = EfiResetWarm;
*MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizePopulateCapsule);
*ResetType = EfiResetWarm;
} else {
//
// For non-reset capsule image.
//
*ResetType = EfiResetCold;
}
//
// The support max capsule image size
//
if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) != 0) {
*MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizePopulateCapsule);
} else {
*MaxiumCapsuleSize = FixedPcdGet32(PcdMaxSizeNonPopulateCapsule);
}
return EFI_SUCCESS;
}

View File

@ -30,7 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/BaseLib.h>
#include <Library/PcdLib.h>
#include <MdeModuleHii.h>
#include <Guid/MdeModuleHii.h>
#include <Protocol/HiiFont.h>
#include <Protocol/HiiDatabase.h>

View File

@ -32,7 +32,7 @@ Revision History
#include <Protocol/HiiDatabase.h>
#include <Protocol/HiiString.h>
#include <MdeModuleHii.h>
#include <Guid/MdeModuleHii.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>

View File

@ -32,8 +32,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DevicePathLib.h>
#include <WorkingBlockHeader.h>
//
// Flash erase polarity is 1
//

View File

@ -57,14 +57,14 @@
[FeaturePcd.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseSetEnabled
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseGetSizeEnabled
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseExEnabled
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseCallbackOnSetEnabled
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseGetSizeEnabled
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiPcdDatabaseTraverseEnabled
[FixedPcd.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPcdCallBackNumberPerPcdEntry || PcdPeiPcdDatabaseCallbackOnSetEnabled
[Depex]
TRUE

View File

@ -24,10 +24,6 @@ BOOLEAN mInScopeGrayOut;
FORM_EXPRESSION *mSuppressExpression;
FORM_EXPRESSION *mGrayOutExpression;
EFI_GUID gTianoHiiIfrGuid = EFI_IFR_TIANO_GUID;
GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID mFrameworkHiiCompatibilityGuid = EFI_IFR_FRAMEWORK_GUID;
/**
Initialize Statement header members.
@ -148,7 +144,7 @@ IsNextOpCodeGuidedVarEqName (
//
OpCodeData += ((EFI_IFR_OP_HEADER *) OpCodeData)->Length;
if (*OpCodeData == EFI_IFR_GUID_OP) {
if (CompareGuid (&mFrameworkHiiCompatibilityGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER)))) {
if (CompareGuid (&gEfiIfrFrameworkGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER)))) {
//
// Specific GUIDed opcodes to support IFR generated from Framework HII VFR
//
@ -1623,7 +1619,7 @@ ParseOpCodes (
// Vendor specific
//
case EFI_IFR_GUID_OP:
if (CompareGuid (&gTianoHiiIfrGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER)))) {
if (CompareGuid (&gEfiIfrTianoGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER)))) {
//
// Tiano specific GUIDed opcodes
//

View File

@ -30,7 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Protocol/HiiString.h>
#include <Protocol/ConsoleControl.h>
#include <MdeModuleHii.h>
#include <Guid/MdeModuleHii.h>
#include <Library/PrintLib.h>
#include <Library/DebugLib.h>

View File

@ -63,6 +63,10 @@
HiiLib
ExtendedHiiLib
[Guids]
gEfiIfrTianoGuid ## CONSUMES ## GUID
gEfiIfrFrameworkGuid ## CONSUMES ## GUID
[Protocols]
gEfiHiiConfigAccessProtocolGuid ## CONSUMES
gEfiHiiStringProtocolGuid ## CONSUMES