* [patch 00/11] Remove PcdFrameworkCompatibilitySupport
@ 2019-04-29 2:15 Dandan Bi
2019-04-29 2:15 ` [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Dandan Bi
` (11 more replies)
0 siblings, 12 replies; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:15 UTC (permalink / raw)
To: devel
Cc: Bob Feng, Liming Gao, Ray Ni, Hao Wu, Eric Dong, Michael D Kinney,
Kelly Steele, Zailiang Sun, Yi Qian, Laszlo Ersek, Jiewen Yao,
Chao, Jian J Wang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Patch 1-10 remove usage of PcdFrameworkCompatibilitySupport.
patch 11 remove PcdFrameworkCompatibilitySupport
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Zailiang Sun <zailiang.sun@intel.com>
Cc: Yi Qian <yi.qian@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com
Cc: Jian J Wang <jian.j.wang@intel.com>
Dandan Bi (11):
BaseTools/VfrCompile: Remove framework VFR support
FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage
IntelFrameworkModulePkg: Remove PcdFrameworkCompatibilitySupport usage
MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
MdeModulePkg/CdExpress: Remove PcdFrameworkCompatibilitySupport usage
MdeModulePkg/Setup: Remove PcdFrameworkCompatibilitySupport usage
QuarkPlatformPkg: Remove PcdFrameworkCompatibilitySupport usage
SignedCapsulePkg: Remove PcdFrameworkCompatibilitySupport usage
UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage
Vlv2TbltDevicePkg: Remove PcdFrameworkCompatibilitySupport usage
MdeModulePkg: Remove PcdFrameworkCompatibilitySupport
BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 35 +----
BaseTools/Source/C/VfrCompile/VfrCompiler.h | 3 +-
BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 23 +--
BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 3 +-
BaseTools/Source/C/VfrCompile/VfrSyntax.g | 103 +-------------
.../Source/C/VfrCompile/VfrUtilityLib.cpp | 52 +------
BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 7 +-
.../VfrCompiler_Utility_Man_Page.rtf | 4 -
FatPkg/FatPei/FatLiteApi.c | 10 +-
FatPkg/FatPei/FatPei.inf | 4 -
.../Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c | 10 +-
.../Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 3 +-
MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
MdeModulePkg/Core/Dxe/Image/Image.c | 132 +-----------------
MdeModulePkg/Core/Dxe/Image/Image.h | 85 +----------
MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65 ---------
MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
MdeModulePkg/MdeModulePkg.dec | 8 --
MdeModulePkg/MdeModulePkg.uni | 6 -
.../Disk/CdExpressPei/CdExpressPei.inf | 5 +-
.../Disk/CdExpressPei/PeiCdExpress.c | 10 +-
.../Universal/SetupBrowserDxe/IfrParse.c | 86 +-----------
.../SetupBrowserDxe/SetupBrowserDxe.inf | 6 +-
.../Pei/PlatformInit/Generic/Recovery.c | 50 ++-----
.../Pei/PlatformInit/PlatformEarlyInit.inf | 3 +-
.../RecoveryModuleLoadPei.c | 6 +-
.../RecoveryModuleLoadPei.inf | 5 +-
.../Universal/Acpi/S3Resume2Pei/S3Resume.c | 30 ----
.../Acpi/S3Resume2Pei/S3Resume2Pei.inf | 3 +-
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 3 +-
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 3 +-
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 3 +-
32 files changed, 48 insertions(+), 725 deletions(-)
--
2.18.0.windows.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
@ 2019-04-29 2:15 ` Dandan Bi
2019-05-07 5:52 ` [edk2-devel] " Bob Feng
2019-05-07 6:00 ` Liming Gao
2019-04-29 2:15 ` [patch 02/11] FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage Dandan Bi
` (10 subsequent siblings)
11 siblings, 2 replies; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:15 UTC (permalink / raw)
To: devel; +Cc: Bob Feng, Liming Gao
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently there is no usage of framework VFR,
remove the support from VfrCompile.
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 35 +-----
BaseTools/Source/C/VfrCompile/VfrCompiler.h | 3 +-
BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 23 +---
BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 3 +-
BaseTools/Source/C/VfrCompile/VfrSyntax.g | 103 +-----------------
.../Source/C/VfrCompile/VfrUtilityLib.cpp | 52 +--------
BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 7 +-
.../VfrCompiler_Utility_Man_Page.rtf | 4 -
8 files changed, 15 insertions(+), 215 deletions(-)
diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
index c4d4d261ad..5f4d262d85 100644
--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
@@ -1,10 +1,10 @@
/** @file
VfrCompiler main class and main function.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "stdio.h"
@@ -72,11 +72,10 @@ CVfrCompiler::OptionInitialization (
mOptions.PreprocessorOutputFileName = NULL;
mOptions.VfrBaseFileName = NULL;
mOptions.IncludePaths = NULL;
mOptions.SkipCPreprocessor = TRUE;
mOptions.CPreprocessorOptions = NULL;
- mOptions.CompatibleMode = FALSE;
mOptions.HasOverrideClassGuid = FALSE;
mOptions.WarningAsError = FALSE;
mOptions.AutoDefault = FALSE;
mOptions.CheckDefault = FALSE;
memset (&mOptions.OverrideClassGuid, 0, sizeof (EFI_GUID));
@@ -140,12 +139,10 @@ CVfrCompiler::OptionInitialization (
DebugError (NULL, 0, 1001, "Missing option", "-od - missing C-preprocessor argument");
goto Fail;
}
AppendCPreprocessorOptions (Argv[Index]);
- } else if (stricmp(Argv[Index], "-c") == 0 || stricmp(Argv[Index], "--compatible-framework") == 0) {
- mOptions.CompatibleMode = TRUE;
} else if (stricmp(Argv[Index], "-s") == 0|| stricmp(Argv[Index], "--string-db") == 0) {
Index++;
if ((Index >= Argc) || (Argv[Index][0] == '-')) {
DebugError (NULL, 0, 1001, "Missing option", "-s missing input string file name");
goto Fail;
@@ -559,12 +556,10 @@ CVfrCompiler::Usage (
" default is current directory",
" -b, --create-ifr-package",
" create an IFR HII pack file",
" -n, --no-pre-processing",
" do not preprocessing input file",
- " -c, --compatible-framework",
- " compatible framework vfr file",
" -s, --string-db",
" input uni string package file",
" -g, --guid",
" override class guid input",
" format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
@@ -683,11 +678,10 @@ CVfrCompiler::Compile (
if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening the input file", "%s", InFileName);
goto Fail;
}
- InputInfo.CompatibleMode = mOptions.CompatibleMode;
if (mOptions.HasOverrideClassGuid) {
InputInfo.OverrideClassGuid = &mOptions.OverrideClassGuid;
} else {
InputInfo.OverrideClassGuid = NULL;
}
@@ -773,31 +767,10 @@ CVfrCompiler::AdjustBin (
//ok
} else {
DebugError (NULL, 0, 0001, "Error parsing vfr file", " %s.Buffer not allocated.", mOptions.VfrFileName);
}
- //
- // For UEFI mode, not do OpCode Adjust
- //
- if (mOptions.CompatibleMode) {
- //
- // Adjust Opcode to be compatible with framework vfr
- //
- Status = gCIfrRecordInfoDB.IfrRecordAdjust ();
- if (Status != VFR_RETURN_SUCCESS) {
- //
- // Record List Adjust Failed
- //
- SET_RUN_STATUS (STATUS_FAILED);
- return;
- }
- //
- // Re get the IfrRecord Buffer.
- //
- gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer);
- }
-
return;
}
VOID
CVfrCompiler::GenBinary (
@@ -851,24 +824,20 @@ CVfrCompiler::GenCFile (
if (!IS_RUN_STATUS(STATUS_GENBINARY)) {
goto Fail;
}
- if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) {
+ if (!mOptions.CreateIfrPkgFile) {
if ((pFile = fopen (LongFilePath (mOptions.COutputFileName), "w")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening output C file", "%s", mOptions.COutputFileName);
goto Fail;
}
for (Index = 0; gSourceFileHeader[Index] != NULL; Index++) {
fprintf (pFile, "%s\n", gSourceFileHeader[Index]);
}
- if (mOptions.CompatibleMode) {
- gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName);
- }
-
if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) != VFR_RETURN_SUCCESS) {
fclose (pFile);
goto Fail;
}
fclose (pFile);
diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
index b8cccca4b0..b6e207d2ce 100644
--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
@@ -1,10 +1,10 @@
/** @file
VfrCompiler internal definitions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _VFRCOMPILER_H_
@@ -45,11 +45,10 @@ typedef struct {
CHAR8 *PreprocessorOutputFileName;
CHAR8 *VfrBaseFileName; // name of input VFR file with no path or extension
CHAR8 *IncludePaths;
bool SkipCPreprocessor;
CHAR8 *CPreprocessorOptions;
- BOOLEAN CompatibleMode;
BOOLEAN HasOverrideClassGuid;
EFI_GUID OverrideClassGuid;
BOOLEAN WarningAsError;
BOOLEAN AutoDefault;
BOOLEAN CheckDefault;
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
index 5948dc0883..36d3baaf10 100644
--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
@@ -1,10 +1,10 @@
/** @file
The definition of CFormPkg's member function
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "stdio.h"
@@ -442,25 +442,14 @@ CFormPkg::GenCFile (
if ((Ret = BuildPkgHdr(&PkgHdr)) != VFR_RETURN_SUCCESS) {
return Ret;
}
- //
- // For framework vfr file, the extension framework header will be added.
- //
- if (VfrCompatibleMode) {
- fprintf (pFile, " // FRAMEWORK PACKAGE HEADER Length\n");
- PkgLength = PkgHdr->Length + sizeof (UINT32) + 2;
- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT32));
- fprintf (pFile, "\n\n // FRAMEWORK PACKAGE HEADER Type\n");
- PkgLength = 3;
- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT16));
- } else {
- fprintf (pFile, " // ARRAY LENGTH\n");
- PkgLength = PkgHdr->Length + sizeof (UINT32);
- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT32));
- }
+
+ fprintf (pFile, " // ARRAY LENGTH\n");
+ PkgLength = PkgHdr->Length + sizeof (UINT32);
+ _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT32));
fprintf (pFile, "\n\n // PACKAGE HEADER\n");
_WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)PkgHdr, sizeof (EFI_HII_PACKAGE_HEADER));
PkgLength = sizeof (EFI_HII_PACKAGE_HEADER);
@@ -966,11 +955,11 @@ CFormPkg::DeclarePendingQuestion (
//
// For undefined Efi VarStore type question
// Append the extended guided opcode to contain VarName
//
- if (VarStoreType == EFI_VFR_VARSTORE_EFI || VfrCompatibleMode) {
+ if (VarStoreType == EFI_VFR_VARSTORE_EFI) {
CIfrVarEqName CVNObj (QId, Info.mInfo.mVarName);
CVNObj.SetLineNo (LineNo);
}
//
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
index 68df87ba88..1cea4f0e25 100644
--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
@@ -1,10 +1,10 @@
/** @file
The definition of CFormPkg's member function
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _EFIIFRCLASS_H_
@@ -93,11 +93,10 @@ struct SBufferNode {
CHAR8 *mBufferFree;
struct SBufferNode *mNext;
};
typedef struct {
- BOOLEAN CompatibleMode;
EFI_GUID *OverrideClassGuid;
} INPUT_INFO_TO_SYNTAX;
class CFormPkg {
private:
diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
index 04fe030b61..24b30e3825 100644
--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
@@ -1,9 +1,9 @@
/*++ @file
Vfr Syntax
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
--*/
#header<<
@@ -47,11 +47,10 @@ VfrParserStart (
IN FILE *File,
IN INPUT_INFO_TO_SYNTAX *InputInfo
)
{
ParserBlackBox<CVfrDLGLexer, EfiVfrParser, ANTLRToken> VfrParser(File);
- VfrParser.parser()->SetCompatibleMode (InputInfo->CompatibleMode);
VfrParser.parser()->SetOverrideClassGuid (InputInfo->OverrideClassGuid);
return VfrParser.parser()->vfrProgram();
}
>>
@@ -673,17 +672,10 @@ vfrFormSetDefinition :
<<
_DeclareStandardDefaultStorage (GET_LINENO (L));
>>
vfrFormSetList
E:EndFormSet <<
- if (mCompatibleMode) {
- //
- // declare all undefined varstore and efivarstore
- //
- _DeclareDefaultFrameworkVarStore (GET_LINENO(E));
- }
-
//
// Declare undefined Question so that they can be used in expression.
//
if (gCFormPkg.HavePendingUnassigned()) {
mParserStatus += gCFormPkg.DeclarePendingQuestion (
@@ -5047,23 +5039,18 @@ public:
VOID _STRCAT (IN OUT CHAR8 **, IN CONST CHAR8 *);
VOID _DeclareDefaultLinearVarStore (IN UINT32);
VOID _DeclareStandardDefaultStorage (IN UINT32);
- VOID _DeclareDefaultFrameworkVarStore (IN UINT32);
VOID AssignQuestionKey (IN CIfrQuestionHeader &, IN ANTLRTokenPtr);
VOID ConvertIdExpr (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32);
VOID IdEqValDoSpecial (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN EFI_COMPARE_TYPE);
VOID IdEqIdDoSpecial (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN EFI_COMPARE_TYPE);
VOID IdEqListDoSpecial (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN UINT16 *);
VOID SetOverrideClassGuid (IN EFI_GUID *);
-//
-// For framework vfr compatibility
-//
- VOID SetCompatibleMode (IN BOOLEAN);
>>
}
<<
VOID
@@ -5540,88 +5527,10 @@ EfiVfrParser::_STOR (
Ref.DevicePath = _STOSID (DevicePath, LineNum);
return Ref;
}
-//
-// framework vfr to default declare varstore for each structure
-//
-VOID
-EfiVfrParser::_DeclareDefaultFrameworkVarStore (
- IN UINT32 LineNo
- )
-{
- SVfrVarStorageNode *pNode;
- UINT32 TypeSize;
- BOOLEAN FirstNode;
- CONST CHAR8 VarName[] = "Setup";
-
- FirstNode = TRUE;
- pNode = gCVfrDataStorage.GetBufferVarStoreList();
- if (pNode == NULL && gCVfrVarDataTypeDB.mFirstNewDataTypeName != NULL) {
- //
- // Create the default Buffer Var Store when no VarStore is defined.
- // its name should be "Setup"
- //
- gCVfrVarDataTypeDB.GetDataTypeSize (gCVfrVarDataTypeDB.mFirstNewDataTypeName, &TypeSize);
- CIfrVarStore VSObj;
- VSObj.SetLineNo (LineNo);
- VSObj.SetVarStoreId (0x1); //the first and only one Buffer Var Store
- VSObj.SetSize ((UINT16) TypeSize);
- //VSObj.SetName (gCVfrVarDataTypeDB.mFirstNewDataTypeName);
- VSObj.SetName ((CHAR8 *) VarName);
- VSObj.SetGuid (&mFormsetGuid);
-#ifdef VFREXP_DEBUG
- printf ("Create the default VarStoreName is %s\n", gCVfrVarDataTypeDB.mFirstNewDataTypeName);
-#endif
- } else {
- for (; pNode != NULL; pNode = pNode->mNext) {
- //
- // create the default varstore opcode for not declared varstore
- // the first varstore name should be "Setup"
- //
- if (!pNode->mAssignedFlag) {
- CIfrVarStore VSObj;
- VSObj.SetLineNo (LineNo);
- VSObj.SetVarStoreId (pNode->mVarStoreId);
- VSObj.SetSize ((UINT16) pNode->mStorageInfo.mDataType->mTotalSize);
- if (FirstNode) {
- VSObj.SetName ((CHAR8 *) VarName);
- FirstNode = FALSE;
- } else {
- VSObj.SetName (pNode->mVarStoreName);
- }
- VSObj.SetGuid (&pNode->mGuid);
-#ifdef VFREXP_DEBUG
- printf ("undefined VarStoreName is %s and Id is 0x%x\n", pNode->mVarStoreName, pNode->mVarStoreId);
-#endif
- }
- }
- }
-
- pNode = gCVfrDataStorage.GetEfiVarStoreList();
- for (; pNode != NULL; pNode = pNode->mNext) {
- //
- // create the default efi varstore opcode for not exist varstore
- //
- if (!pNode->mAssignedFlag) {
- CIfrVarStoreEfi VSEObj;
- VSEObj.SetLineNo (LineNo);
- VSEObj.SetAttributes (0x00000002); //hardcode EFI_VARIABLE_BOOTSERVICE_ACCESS attribute
- VSEObj.SetGuid (&pNode->mGuid);
- VSEObj.SetVarStoreId (pNode->mVarStoreId);
- // Generate old efi varstore storage structure for compatible with old "VarEqVal" opcode,
- // which is 3 bytes less than new structure define in UEFI Spec 2.3.1.
- VSEObj.SetBinaryLength (sizeof (EFI_IFR_VARSTORE_EFI) - 3);
-#ifdef VFREXP_DEBUG
- printf ("undefined Efi VarStoreName is %s and Id is 0x%x\n", pNode->mVarStoreName, pNode->mVarStoreId);
-#endif
- }
- }
-
-}
-
VOID
EfiVfrParser::_DeclareDefaultLinearVarStore (
IN UINT32 LineNo
)
{
@@ -5917,20 +5826,10 @@ VOID
EfiVfrParser::SetOverrideClassGuid (IN EFI_GUID *OverrideClassGuid)
{
mOverrideClassGuid = OverrideClassGuid;
}
-//
-// For framework vfr compatibility
-//
-VOID
-EfiVfrParser::SetCompatibleMode (IN BOOLEAN Mode)
-{
- mCompatibleMode = Mode;
- mCVfrQuestionDB.SetCompatibleMode (Mode);
-}
-
VOID
EfiVfrParser::CheckDuplicateDefaultValue (
IN EFI_DEFAULT_ID DefaultId,
IN ANTLRTokenPtr Tok
)
diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
index 9c9c4d4054..2b9b5dbb1c 100644
--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
@@ -1,10 +1,10 @@
/** @file
Vfr common library functions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "stdio.h"
@@ -757,21 +757,10 @@ CVfrVarDataTypeDB::GetFieldOffset (
{
if (Field == NULL) {
return VFR_RETURN_FATAL_ERROR;
}
- //
- // Framework Vfr file Array Index is from 1.
- // But Uefi Vfr file Array Index is from 0.
- //
- if (VfrCompatibleMode && ArrayIdx != INVALID_ARRAY_INDEX) {
- if (ArrayIdx == 0) {
- return VFR_RETURN_ERROR_ARRARY_NUM;
- }
- ArrayIdx = ArrayIdx - 1;
- }
-
if ((ArrayIdx != INVALID_ARRAY_INDEX) && ((Field->mArrayNum == 0) || (Field->mArrayNum <= ArrayIdx))) {
return VFR_RETURN_ERROR_ARRARY_NUM;
}
//
@@ -1681,21 +1670,11 @@ CVfrDataStorage::GetFreeVarStoreId (
EFI_VFR_VARSTORE_TYPE VarType
)
{
UINT32 Index, Mask, Offset;
- //
- // Assign the different ID range for the different type VarStore to support Framework Vfr
- //
Index = 0;
- if ((!VfrCompatibleMode) || (VarType == EFI_VFR_VARSTORE_BUFFER)) {
- Index = 0;
- } else if (VarType == EFI_VFR_VARSTORE_EFI) {
- Index = 1;
- } else if (VarType == EFI_VFR_VARSTORE_NAME) {
- Index = 2;
- }
for (; Index < EFI_FREE_VARSTORE_ID_BITMAP_SIZE; Index++) {
if (mFreeVarStoreIdBitMap[Index] != 0xFFFFFFFF) {
break;
}
@@ -1913,17 +1892,10 @@ CVfrDataStorage::GetVarStoreByDataType (
)
{
SVfrVarStorageNode *pNode;
SVfrVarStorageNode *MatchNode;
- //
- // Framework VFR uses Data type name as varstore name, so don't need check again.
- //
- if (VfrCompatibleMode) {
- return VFR_RETURN_UNDEFINED;
- }
-
MatchNode = NULL;
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (strcmp (pNode->mStorageInfo.mDataType->mTypeName, DataTypeName) != 0) {
continue;
}
@@ -2287,20 +2259,10 @@ CVfrDataStorage::GetNameVarStoreInfo (
if (mCurrVarStorageNode == NULL) {
return VFR_RETURN_GET_NVVARSTORE_ERROR;
}
- //
- // Framework Vfr file Index is from 1, but Uefi Vfr file Index is from 0.
- //
- if (VfrCompatibleMode) {
- if (Index == 0) {
- return VFR_RETURN_ERROR_ARRARY_NUM;
- }
- Index --;
- }
-
Info->mInfo.mVarName = mCurrVarStorageNode->mStorageInfo.mNameSpace.mNameTable[Index];
return VFR_RETURN_SUCCESS;
}
@@ -2859,14 +2821,11 @@ CVfrQuestionDB::RegisterQuestion (
}
if (QuestionId == EFI_QUESTION_ID_INVALID) {
QuestionId = GetFreeQuestionId ();
} else {
- //
- // For Framework Vfr, don't check question ID conflict.
- //
- if (!VfrCompatibleMode && ChekQuestionIdFree (QuestionId) == FALSE) {
+ if (ChekQuestionIdFree (QuestionId) == FALSE) {
delete pNode;
return VFR_RETURN_QUESTIONID_REDEFINED;
}
MarkQuestionIdUsed (QuestionId);
}
@@ -3366,14 +3325,11 @@ CVfrQuestionDB::UpdateQuestionId (
if (QId == NewQId) {
// don't update
return VFR_RETURN_SUCCESS;
}
- //
- // For Framework Vfr, don't check question ID conflict.
- //
- if (!VfrCompatibleMode && ChekQuestionIdFree (NewQId) == FALSE) {
+ if (ChekQuestionIdFree (NewQId) == FALSE) {
return VFR_RETURN_REDEFINED;
}
for (pNode = mQuestionList; pNode != NULL; pNode = pNode->mNext) {
if (pNode->mQuestionId == QId) {
@@ -3955,12 +3911,10 @@ CVfrStringDB::GetUnicodeStringTextSize (
}
return StringSize;
}
-BOOLEAN VfrCompatibleMode = FALSE;
-
CVfrVarDataTypeDB gCVfrVarDataTypeDB;
CVfrDefaultStore gCVfrDefaultStore;
CVfrDataStorage gCVfrDataStorage;
diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
index e2b2917e99..57bb0c424d 100644
--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
@@ -1,10 +1,10 @@
/** @file
Vfr common library functions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _VFRUTILITYLIB_H_
@@ -13,11 +13,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "string.h"
#include "Common/UefiBaseTypes.h"
#include "EfiVfr.h"
#include "VfrError.h"
-extern BOOLEAN VfrCompatibleMode;
static EFI_GUID gEdkiiIfrBitVarGuid = EDKII_IFR_BIT_VARSTORE_GUID;
#define MAX_BIT_WIDTH 32
#define MAX_NAME_LEN 64
#define MAX_STRING_LEN 0x100
@@ -422,14 +421,10 @@ public:
EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID);
EFI_VFR_RETURN_CODE FindQuestion (IN CHAR8 *);
VOID PrintAllQuestion (IN VOID);
VOID ResetInit (IN VOID);
- VOID SetCompatibleMode (IN BOOLEAN Mode) {
- VfrCompatibleMode = Mode;
- }
-
private:
CVfrQuestionDB (IN CONST CVfrQuestionDB&); // Prevent copy-construction
CVfrQuestionDB& operator= (IN CONST CVfrQuestionDB&); // Prevent assignment
};
diff --git a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
index fa0beebb9c..2b056f8f26 100644
--- a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
+++ b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
@@ -145,14 +145,10 @@ The generated file will be placed into the output directory sp\hich\af43\dbch\af
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 -n, --no-pre-processing
\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 Do not preprocess}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0
\fs18\cf1\insrsid2570438 \hich\af43\dbch\af31505\loch\f43 t}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid1204842 \hich\af43\dbch\af31505\loch\f43 he}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43
input vfr file. The input VFR file has been pro\hich\af43\dbch\af31505\loch\f43 cessed. If this option is not specified, the default behavior is same to set this option.
\par }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254 \hich\af43\dbch\af31505\loch\f43 Selecting this option disables preprocessing of VFR files. }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2570438
-\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 -c, --compatible-framework
-\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 Recognize}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254
-\hich\af43\dbch\af31505\loch\f43 s}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 the input VFR file is the framework VFR syntax. If this option is n\hich\af43\dbch\af31505\loch\f43
-ot specified, the UEFI syntax is default }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254 \hich\af43\dbch\af31505\loch\f43 the VFR }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 syntax.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 -h, --help
\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 Print version and usage of this program and exit.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12931970 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 -s, --string-db
\par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12931970 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 Input uni string package file.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12931970 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 -g, --guid
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 02/11] FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
2019-04-29 2:15 ` [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Dandan Bi
@ 2019-04-29 2:15 ` Dandan Bi
2019-05-05 3:25 ` [edk2-devel] " Ni, Ray
2019-04-29 2:15 ` [patch 03/11] IntelFrameworkModulePkg: " Dandan Bi
` (9 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:15 UTC (permalink / raw)
To: devel; +Cc: Ray Ni
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
FatPkg/FatPei/FatLiteApi.c | 10 +---------
FatPkg/FatPei/FatPei.inf | 4 ----
2 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/FatPkg/FatPei/FatLiteApi.c b/FatPkg/FatPei/FatLiteApi.c
index 0bf6ddae6a..b9f883b9e0 100644
--- a/FatPkg/FatPei/FatLiteApi.c
+++ b/FatPkg/FatPei/FatLiteApi.c
@@ -1,9 +1,9 @@
/** @file
FAT recovery PEIM entry point, Ppi Functions and FAT Api functions.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -429,14 +429,10 @@ GetRecoveryCapsuleInfo (
if (EFI_ERROR (Status)) {
return Status;
}
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- CapsuleInstance = CapsuleInstance + 1;
- }
-
if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules)) {
return EFI_NOT_FOUND;
}
PrivateData = PEI_FAT_PRIVATE_DATA_FROM_THIS (This);
@@ -557,14 +553,10 @@ LoadRecoveryCapsule (
if (EFI_ERROR (Status)) {
return Status;
}
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- CapsuleInstance = CapsuleInstance + 1;
- }
-
if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules)) {
return EFI_NOT_FOUND;
}
PrivateData = PEI_FAT_PRIVATE_DATA_FROM_THIS (This);
diff --git a/FatPkg/FatPei/FatPei.inf b/FatPkg/FatPei/FatPei.inf
index b554aae040..d3466db9bf 100644
--- a/FatPkg/FatPei/FatPei.inf
+++ b/FatPkg/FatPei/FatPei.inf
@@ -63,14 +63,10 @@
[Ppis]
gEfiPeiVirtualBlockIoPpiGuid ## SOMETIMES_CONSUMES PPI_NOTIFY
gEfiPeiVirtualBlockIo2PpiGuid ## SOMETIMES_CONSUMES PPI_NOTIFY
gEfiPeiDeviceRecoveryModulePpiGuid ## SOMETIMES_PRODUCES
-
-[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
-
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName ## CONSUMES
[Depex]
gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 03/11] IntelFrameworkModulePkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
2019-04-29 2:15 ` [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Dandan Bi
2019-04-29 2:15 ` [patch 02/11] FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage Dandan Bi
@ 2019-04-29 2:15 ` Dandan Bi
2019-05-07 5:59 ` Liming Gao
2019-04-29 2:16 ` [patch 04/11] MdeModulePkg/Core: " Dandan Bi
` (8 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:15 UTC (permalink / raw)
To: devel; +Cc: Liming Gao
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c | 10 +---------
.../Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 3 +--
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
index b5f8131f98..366ada935d 100644
--- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
+++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
@@ -1,10 +1,10 @@
/** @file
This is an implementation of the ACPI S3 Save protocol. This is defined in
S3 boot path specification 0.9.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -138,14 +138,10 @@ S3Ready (
if (AlreadyEntered) {
return EFI_SUCCESS;
}
AlreadyEntered = TRUE;
- if (FeaturePcdGet(PcdFrameworkCompatibilitySupport)) {
- S3ReadyThunkPlatform ();
- }
-
return EFI_SUCCESS;
}
/**
The Driver Entry Point.
@@ -180,14 +176,10 @@ InstallAcpiS3Save (
mLegacyRegionSize = 0x250;
} else {
mLegacyRegionSize = 0x100;
}
- if (FeaturePcdGet(PcdFrameworkCompatibilitySupport)) {
- InstallAcpiS3SaveThunk ();
- }
-
Status = gBS->InstallProtocolInterface (
&ImageHandle,
&gEfiAcpiS3SaveProtocolGuid,
EFI_NATIVE_INTERFACE,
&mS3Save
diff --git a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
index 2e4f0868d2..0cfcb8ce53 100644
--- a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
+++ b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
@@ -1,9 +1,9 @@
## @file
# AcpiS3Save module installs ACPI S3 Save protocol to prepare S3 boot data.
#
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
@@ -56,11 +56,10 @@
## SOMETIMES_CONSUMES
gEdkiiVariableLockProtocolGuid
[FeaturePcd]
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport ## CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
[Pcd]
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ## CONSUMES
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (2 preceding siblings ...)
2019-04-29 2:15 ` [patch 03/11] IntelFrameworkModulePkg: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-05-06 1:22 ` [edk2-devel] " Wu, Hao A
2019-04-29 2:16 ` [patch 05/11] MdeModulePkg/CdExpress: " Dandan Bi
` (7 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Liming Gao
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
MdeModulePkg/Core/Dxe/Image/Image.c | 132 +---------------------------
MdeModulePkg/Core/Dxe/Image/Image.h | 85 +-----------------
MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65 --------------
MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
5 files changed, 3 insertions(+), 286 deletions(-)
diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf b/MdeModulePkg/Core/Dxe/DxeMain.inf
index 8dee5bee0a..61161bee28 100644
--- a/MdeModulePkg/Core/Dxe/DxeMain.inf
+++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
@@ -1,11 +1,11 @@
## @file
# This is core module in DXE phase.
#
# It provides an implementation of DXE Core that is compliant with DXE CIS.
#
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
@@ -130,11 +130,10 @@
[Protocols]
## PRODUCES
## SOMETIMES_CONSUMES
gEfiDecompressProtocolGuid
- gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES # Produces when PcdFrameworkCompatibilitySupport is set
gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES
gEfiDriverFamilyOverrideProtocolGuid ## SOMETIMES_CONSUMES
@@ -171,13 +170,10 @@
gEfiVariableWriteArchProtocolGuid ## CONSUMES
gEfiVariableArchProtocolGuid ## CONSUMES
gEfiCapsuleArchProtocolGuid ## CONSUMES
gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
-[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
-
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress ## CONSUMES
diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c b/MdeModulePkg/Core/Dxe/Image/Image.c
index de5b8bed27..22a87ecf6d 100644
--- a/MdeModulePkg/Core/Dxe/Image/Image.c
+++ b/MdeModulePkg/Core/Dxe/Image/Image.c
@@ -1,9 +1,9 @@
/** @file
Core image handling services to load and unload PeImage.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "DxeMain.h"
@@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
//
// Module Globals
//
LOADED_IMAGE_PRIVATE_DATA *mCurrentImage = NULL;
-LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
- LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
- NULL,
- {
- CoreLoadImageEx,
- CoreUnloadImageEx
- }
-};
-
typedef struct {
LIST_ENTRY Link;
EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *Emulator;
UINT16 MachineType;
} EMULATOR_ENTRY;
@@ -274,22 +265,10 @@ CoreInitializeImageServices (
);
ASSERT_EFI_ERROR(Status);
InitializeListHead (&mAvailableEmulators);
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- //
- // Export DXE Core PE Loader functionality for backward compatibility.
- //
- Status = CoreInstallProtocolInterface (
- &mLoadPe32PrivateData.Handle,
- &gEfiLoadPeImageProtocolGuid,
- EFI_NATIVE_INTERFACE,
- &mLoadPe32PrivateData.Pe32Image
- );
- }
-
ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
return Status;
}
@@ -1564,96 +1543,10 @@ CoreLoadImage (
PERF_LOAD_IMAGE_END (Handle);
return Status;
}
-
-
-/**
- Loads an EFI image into memory and returns a handle to the image with extended parameters.
-
- @param This Calling context
- @param ParentImageHandle The caller's image handle.
- @param FilePath The specific file path from which the image is
- loaded.
- @param SourceBuffer If not NULL, a pointer to the memory location
- containing a copy of the image to be loaded.
- @param SourceSize The size in bytes of SourceBuffer.
- @param DstBuffer The buffer to store the image.
- @param NumberOfPages For input, specifies the space size of the
- image by caller if not NULL. For output,
- specifies the actual space size needed.
- @param ImageHandle Image handle for output.
- @param EntryPoint Image entry point for output.
- @param Attribute The bit mask of attributes to set for the load
- PE image.
-
- @retval EFI_SUCCESS The image was loaded into memory.
- @retval EFI_NOT_FOUND The FilePath was not found.
- @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
- @retval EFI_UNSUPPORTED The image type is not supported, or the device
- path cannot be parsed to locate the proper
- protocol for loading the file.
- @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient
- resources.
- @retval EFI_LOAD_ERROR Image was not loaded because the image format was corrupt or not
- understood.
- @retval EFI_DEVICE_ERROR Image was not loaded because the device returned a read error.
- @retval EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the
- image from being loaded. NULL is returned in *ImageHandle.
- @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle was created with a
- valid EFI_LOADED_IMAGE_PROTOCOL. However, the current
- platform policy specifies that the image should not be started.
-
-**/
-EFI_STATUS
-EFIAPI
-CoreLoadImageEx (
- IN EFI_PE32_IMAGE_PROTOCOL *This,
- IN EFI_HANDLE ParentImageHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
- IN VOID *SourceBuffer OPTIONAL,
- IN UINTN SourceSize,
- IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
- OUT UINTN *NumberOfPages OPTIONAL,
- OUT EFI_HANDLE *ImageHandle,
- OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
- IN UINT32 Attribute
- )
-{
- EFI_STATUS Status;
- EFI_HANDLE Handle;
-
- PERF_LOAD_IMAGE_BEGIN (NULL);
-
- Status = CoreLoadImageCommon (
- TRUE,
- ParentImageHandle,
- FilePath,
- SourceBuffer,
- SourceSize,
- DstBuffer,
- NumberOfPages,
- ImageHandle,
- EntryPoint,
- Attribute
- );
-
- Handle = NULL;
- if (!EFI_ERROR (Status)) {
- //
- // ImageHandle will be valid only Status is success.
- //
- Handle = *ImageHandle;
- }
-
- PERF_LOAD_IMAGE_END (Handle);
-
- return Status;
-}
-
-
/**
Transfer control to a loaded image's entry point.
@param ImageHandle Handle of image to be started.
@param ExitDataSize Pointer of the size to ExitData
@@ -2010,28 +1903,5 @@ CoreUnloadImage (
}
Done:
return Status;
}
-
-
-
-/**
- Unload the specified image.
-
- @param This Indicates the calling context.
- @param ImageHandle The specified image handle.
-
- @retval EFI_INVALID_PARAMETER Image handle is NULL.
- @retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
- @retval EFI_SUCCESS Image successfully unloaded.
-
-**/
-EFI_STATUS
-EFIAPI
-CoreUnloadImageEx (
- IN EFI_PE32_IMAGE_PROTOCOL *This,
- IN EFI_HANDLE ImageHandle
- )
-{
- return CoreUnloadImage (ImageHandle);
-}
diff --git a/MdeModulePkg/Core/Dxe/Image/Image.h b/MdeModulePkg/Core/Dxe/Image/Image.h
index 6020a27371..e9c44ab2a7 100644
--- a/MdeModulePkg/Core/Dxe/Image/Image.h
+++ b/MdeModulePkg/Core/Dxe/Image/Image.h
@@ -1,30 +1,17 @@
/** @file
Data structure and functions to load and unload PeImage.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _IMAGE_H_
#define _IMAGE_H_
-#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE SIGNATURE_32('l','p','e','i')
-
-typedef struct {
- UINTN Signature;
- /// Image handle
- EFI_HANDLE Handle;
- EFI_PE32_IMAGE_PROTOCOL Pe32Image;
-} LOAD_PE32_IMAGE_PRIVATE_DATA;
-
-#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
- CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image, LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
-
-
//
// Private Data Types
//
#define IMAGE_FILE_HANDLE_SIGNATURE SIGNATURE_32('i','m','g','f')
typedef struct {
@@ -32,76 +19,6 @@ typedef struct {
BOOLEAN FreeBuffer;
VOID *Source;
UINTN SourceSize;
} IMAGE_FILE_HANDLE;
-/**
- Loads an EFI image into memory and returns a handle to the image with extended parameters.
-
- @param This Calling context
- @param ParentImageHandle The caller's image handle.
- @param FilePath The specific file path from which the image is
- loaded.
- @param SourceBuffer If not NULL, a pointer to the memory location
- containing a copy of the image to be loaded.
- @param SourceSize The size in bytes of SourceBuffer.
- @param DstBuffer The buffer to store the image.
- @param NumberOfPages For input, specifies the space size of the
- image by caller if not NULL. For output,
- specifies the actual space size needed.
- @param ImageHandle Image handle for output.
- @param EntryPoint Image entry point for output.
- @param Attribute The bit mask of attributes to set for the load
- PE image.
-
- @retval EFI_SUCCESS The image was loaded into memory.
- @retval EFI_NOT_FOUND The FilePath was not found.
- @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
- @retval EFI_UNSUPPORTED The image type is not supported, or the device
- path cannot be parsed to locate the proper
- protocol for loading the file.
- @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient
- resources.
- @retval EFI_LOAD_ERROR Image was not loaded because the image format was corrupt or not
- understood.
- @retval EFI_DEVICE_ERROR Image was not loaded because the device returned a read error.
- @retval EFI_ACCESS_DENIED Image was not loaded because the platform policy prohibits the
- image from being loaded. NULL is returned in *ImageHandle.
- @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle was created with a
- valid EFI_LOADED_IMAGE_PROTOCOL. However, the current
- platform policy specifies that the image should not be started.
-
-**/
-EFI_STATUS
-EFIAPI
-CoreLoadImageEx (
- IN EFI_PE32_IMAGE_PROTOCOL *This,
- IN EFI_HANDLE ParentImageHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
- IN VOID *SourceBuffer OPTIONAL,
- IN UINTN SourceSize,
- IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
- OUT UINTN *NumberOfPages OPTIONAL,
- OUT EFI_HANDLE *ImageHandle,
- OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
- IN UINT32 Attribute
- );
-
-
-/**
- Unload the specified image.
-
- @param This Indicates the calling context.
- @param ImageHandle The specified image handle.
-
- @retval EFI_INVALID_PARAMETER Image handle is NULL.
- @retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
- @retval EFI_SUCCESS Image successfully unloaded.
-
-**/
-EFI_STATUS
-EFIAPI
-CoreUnloadImageEx (
- IN EFI_PE32_IMAGE_PROTOCOL *This,
- IN EFI_HANDLE ImageHandle
- );
#endif
diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
index f817ba04e2..709db00694 100644
--- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
+++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
@@ -1092,19 +1092,10 @@ PeiFfsFindNextFile (
{
PEI_CORE_FV_HANDLE *CoreFvHandle;
CoreFvHandle = FvHandleToCoreHandle (FvHandle);
- //
- // To make backward compatiblity, if can not find corresponding the handle of FV
- // then treat FV as build-in FFS2/FFS3 format and memory mapped FV that FV handle is pointed
- // to the address of first byte of FV.
- //
- if ((CoreFvHandle == NULL) && FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
- }
-
if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
return EFI_NOT_FOUND;
}
return CoreFvHandle->FvPpi->FindFileByType (CoreFvHandle->FvPpi, SearchType, FvHandle, FileHandle);
@@ -2109,66 +2100,10 @@ PEI_CORE_FV_HANDLE *
FindNextCoreFvHandle (
IN PEI_CORE_INSTANCE *Private,
IN UINTN Instance
)
{
- UINTN Index;
- BOOLEAN Match;
- EFI_HOB_FIRMWARE_VOLUME *FvHob;
-
- //
- // Handle Framework FvHob and Install FvInfo Ppi for it.
- //
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- //
- // Loop to search the wanted FirmwareVolume which supports FFS
- //
- FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob (EFI_HOB_TYPE_FV);
- while (FvHob != NULL) {
- //
- // Search whether FvHob has been installed into PeiCore's FV database.
- // If found, no need install new FvInfoPpi for it.
- //
- for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++) {
- if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress == Private->Fv[Index].FvHeader) {
- Match = TRUE;
- break;
- }
- }
-
- //
- // Search whether FvHob has been cached into PeiCore's Unknown FV database.
- // If found, no need install new FvInfoPpi for it.
- //
- if (!Match) {
- for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++) {
- if ((UINTN)FvHob->BaseAddress == (UINTN)Private->UnknownFvInfo[Index].FvInfo) {
- Match = TRUE;
- break;
- }
- }
- }
-
- //
- // If the Fv in FvHob has not been installed into PeiCore's FV database and has
- // not been cached into PeiCore's Unknown FV database, install a new FvInfoPpi
- // for it then PeiCore will dispatch it in callback of FvInfoPpi.
- //
- if (!Match) {
- PeiServicesInstallFvInfoPpi (
- &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob->BaseAddress)->FileSystemGuid),
- (VOID *)(UINTN)FvHob->BaseAddress,
- (UINT32)FvHob->Length,
- NULL,
- NULL
- );
- }
-
- FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob->Header.HobLength));
- }
- }
-
if (Instance >= Private->FvCount) {
return NULL;
}
return &Private->Fv[Instance];
diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf b/MdeModulePkg/Core/Pei/PeiMain.inf
index c8a6d5b80b..7c482dacfc 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.inf
+++ b/MdeModulePkg/Core/Pei/PeiMain.inf
@@ -100,11 +100,10 @@
gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst ## CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNumber ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot ## CONSUMES
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 05/11] MdeModulePkg/CdExpress: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (3 preceding siblings ...)
2019-04-29 2:16 ` [patch 04/11] MdeModulePkg/Core: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-05-06 1:05 ` Wu, Hao A
2019-04-29 2:16 ` [patch 06/11] MdeModulePkg/Setup: " Dandan Bi
` (6 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Hao Wu, Liming Gao
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Universal/Disk/CdExpressPei/CdExpressPei.inf | 5 +----
.../Universal/Disk/CdExpressPei/PeiCdExpress.c | 10 +---------
2 files changed, 2 insertions(+), 13 deletions(-)
diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
index 11ab49b33b..184036bfb9 100644
--- a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
+++ b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
@@ -3,11 +3,11 @@
#
# This module reads data from CDROM device by all installed block IO ppi and
# finds whether there is Recovery data in the device. If it finds recovery
# data, it will install Device Recovery Module PPI.
#
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
@@ -56,13 +56,10 @@
## NOTIFY
## CONSUMES
gEfiPeiVirtualBlockIo2PpiGuid
gEfiPeiDeviceRecoveryModulePpiGuid ## PRODUCES
-[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
-
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName ## CONSUMES
[Depex]
gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid
diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
index b029c54729..fd34f07eec 100644
--- a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
+++ b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
@@ -1,9 +1,9 @@
/** @file
Source file for CD recovery PEIM
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -585,14 +585,10 @@ GetRecoveryCapsuleInfo (
if (EFI_ERROR (Status)) {
return Status;
}
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- CapsuleInstance = CapsuleInstance + 1;
- }
-
if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules)) {
return EFI_NOT_FOUND;
}
PrivateData = PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS (This);
@@ -645,14 +641,10 @@ LoadRecoveryCapsule (
if (EFI_ERROR (Status)) {
return Status;
}
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- CapsuleInstance = CapsuleInstance + 1;
- }
-
if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules)) {
return EFI_NOT_FOUND;
}
PrivateData = PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS (This);
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 06/11] MdeModulePkg/Setup: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (4 preceding siblings ...)
2019-04-29 2:16 ` [patch 05/11] MdeModulePkg/CdExpress: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-05-07 6:13 ` Dong, Eric
2019-04-29 2:16 ` [patch 07/11] QuarkPlatformPkg: " Dandan Bi
` (5 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Liming Gao, Eric Dong
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility support is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Universal/SetupBrowserDxe/IfrParse.c | 86 +------------------
.../SetupBrowserDxe/SetupBrowserDxe.inf | 6 +-
2 files changed, 2 insertions(+), 90 deletions(-)
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
index 034edb51a7..891b95cf9f 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
@@ -1,9 +1,9 @@
/** @file
Parser for IFR binary encoding.
-Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "Setup.h"
@@ -82,80 +82,10 @@ CreateStatement (
InsertTailList (&Form->StatementListHead, &Statement->Link);
}
return Statement;
}
-/**
- Convert a numeric value to a Unicode String and insert it to String Package.
- This string is used as the Unicode Name for the EFI Variable. This is to support
- the deprecated vareqval opcode.
-
- @param FormSet The FormSet.
- @param Statement The numeric question whose VarStoreInfo.VarName is the
- numeric value which is used to produce the Unicode Name
- for the EFI Variable.
-
- If the Statement is NULL, the ASSERT.
- If the opcode is not Numeric, then ASSERT.
-
- @retval EFI_SUCCESS The funtion always succeeds.
-**/
-EFI_STATUS
-UpdateCheckBoxStringToken (
- IN CONST FORM_BROWSER_FORMSET *FormSet,
- IN FORM_BROWSER_STATEMENT *Statement
- )
-{
- CHAR16 Str[MAXIMUM_VALUE_CHARACTERS];
- EFI_STRING_ID Id;
-
- ASSERT (Statement != NULL);
- ASSERT (Statement->Operand == EFI_IFR_NUMERIC_OP);
-
- UnicodeValueToStringS (Str, sizeof (Str), 0, Statement->VarStoreInfo.VarName, MAXIMUM_VALUE_CHARACTERS - 1);
-
- Id = HiiSetString (FormSet->HiiHandle, 0, Str, NULL);
- if (Id == 0) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- Statement->VarStoreInfo.VarName = Id;
-
- return EFI_SUCCESS;
-}
-
-/**
- Check if the next opcode is the EFI_IFR_EXTEND_OP_VAREQNAME.
-
- @param OpCodeData The current opcode.
-
- @retval TRUE Yes.
- @retval FALSE No.
-**/
-BOOLEAN
-IsNextOpCodeGuidedVarEqName (
- IN UINT8 *OpCodeData
- )
-{
- //
- // Get next opcode
- //
- OpCodeData += ((EFI_IFR_OP_HEADER *) OpCodeData)->Length;
- if (*OpCodeData == EFI_IFR_GUID_OP) {
- if (CompareGuid (&gEfiIfrFrameworkGuid, (EFI_GUID *)(OpCodeData + sizeof (EFI_IFR_OP_HEADER)))) {
- //
- // Specific GUIDed opcodes to support IFR generated from Framework HII VFR
- //
- if ((((EFI_IFR_GUID_VAREQNAME *) OpCodeData)->ExtendOpCode) == EFI_IFR_EXTEND_OP_VAREQNAME) {
- return TRUE;
- }
- }
- }
-
- return FALSE;
-}
-
/**
Initialize Question's members.
@param OpCodeData Pointer of the raw OpCode data.
@param FormSet Pointer of the current FormSet.
@@ -174,11 +104,10 @@ CreateQuestion (
FORM_BROWSER_STATEMENT *Statement;
EFI_IFR_QUESTION_HEADER *QuestionHdr;
LIST_ENTRY *Link;
FORMSET_STORAGE *Storage;
NAME_VALUE_NODE *NameValueNode;
- EFI_STATUS Status;
BOOLEAN Find;
Statement = CreateStatement (OpCodeData, FormSet, Form);
if (Statement == NULL) {
return NULL;
@@ -196,23 +125,10 @@ CreateQuestion (
// VarStoreId of zero indicates no variable storage
//
return Statement;
}
- //
- // Take a look at next OpCode to see whether it is a GUIDed opcode to support
- // Framework Compatibility
- //
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- if ((*OpCodeData == EFI_IFR_NUMERIC_OP) && IsNextOpCodeGuidedVarEqName (OpCodeData)) {
- Status = UpdateCheckBoxStringToken (FormSet, Statement);
- if (EFI_ERROR (Status)) {
- return NULL;
- }
- }
- }
-
//
// Find Storage for this Question
//
Link = GetFirstNode (&FormSet->StorageListHead);
while (!IsNull (&FormSet->StorageListHead, Link)) {
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf b/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
index a6b9402daa..82db7c1ef1 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
@@ -1,11 +1,11 @@
## @file
# The DXE driver produces FORM BROWSER2 protocol defined in UEFI specification.
#
# It also produces FormBrowserEx(2) protocol to let user register the different Hot key service.
#
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##
@@ -50,11 +50,10 @@
DevicePathLib
PcdLib
UefiLib
[Guids]
- gEfiIfrFrameworkGuid ## SOMETIMES_CONSUMES ## GUID
gEfiHiiPlatformSetupFormsetGuid ## SOMETIMES_CONSUMES ## GUID
gEfiHiiStandardFormGuid ## SOMETIMES_CONSUMES ## GUID
gZeroGuid ## SOMETIMES_CONSUMES ## GUID
gEdkiiIfrBitVarstoreGuid ## SOMETIMES_CONSUMES ## GUID
@@ -71,13 +70,10 @@
## NOTIFY
gEdkiiFormDisplayEngineProtocolGuid
gEdkiiFormBrowserExProtocolGuid ## PRODUCES
gEfiRegularExpressionProtocolGuid ## SOMETIMES_CONSUMES
-[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
-
[Depex]
gEfiHiiDatabaseProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid
[UserExtensions.TianoCore."ExtraFiles"]
SetupBrowserExtra.uni
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 07/11] QuarkPlatformPkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (5 preceding siblings ...)
2019-04-29 2:16 ` [patch 06/11] MdeModulePkg/Setup: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-05-07 5:58 ` [edk2-devel] " Liming Gao
2019-04-29 2:16 ` [patch 08/11] SignedCapsulePkg: " Dandan Bi
` (4 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Michael D Kinney, Kelly Steele, Liming Gao
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility support is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Kelly Steele <kelly.steele@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Pei/PlatformInit/Generic/Recovery.c | 50 ++++++-------------
.../Pei/PlatformInit/PlatformEarlyInit.inf | 3 +-
2 files changed, 15 insertions(+), 38 deletions(-)
diff --git a/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c b/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
index f6a076f757..67299a68b7 100644
--- a/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
+++ b/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
@@ -1,10 +1,10 @@
/** @file
Install Platform EFI_PEI_RECOVERY_MODULE_PPI and Implementation of
EFI_PEI_LOAD_RECOVERY_CAPSULE service.
-Copyright (c) 2013-2016 Intel Corporation.
+Copyright (c) 2013-2019 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -195,29 +195,17 @@ Returns:
//
// If there is an image provider, get the capsule ID
//
if (ProviderAvailable) {
RecoveryCapsuleSize = 0;
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- Status = DeviceRecoveryModule->GetRecoveryCapsuleInfo (
- PeiServices,
- DeviceRecoveryModule,
- 0,
- &RecoveryCapsuleSize,
- &DeviceId
- );
- } else {
- Status = DeviceRecoveryModule->GetRecoveryCapsuleInfo (
- PeiServices,
- DeviceRecoveryModule,
- 1,
- &RecoveryCapsuleSize,
- &DeviceId
- );
-
-
- }
+ Status = DeviceRecoveryModule->GetRecoveryCapsuleInfo (
+ PeiServices,
+ DeviceRecoveryModule,
+ 1,
+ &RecoveryCapsuleSize,
+ &DeviceId
+ );
if (EFI_ERROR (Status)) {
return Status;
}
@@ -237,26 +225,16 @@ Returns:
Buffer = NULL;
Address = (UINTN) AllocatePages ((RecoveryCapsuleSize - 1) / 0x1000 + 1);
ASSERT (Address);
Buffer = (UINT8 *) (UINTN) Address;
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- Status = DeviceRecoveryModule->LoadRecoveryCapsule (
- PeiServices,
- DeviceRecoveryModule,
- 0,
- Buffer
- );
- } else {
- Status = DeviceRecoveryModule->LoadRecoveryCapsule (
- PeiServices,
- DeviceRecoveryModule,
- 1,
- Buffer
- );
-
- }
+ Status = DeviceRecoveryModule->LoadRecoveryCapsule (
+ PeiServices,
+ DeviceRecoveryModule,
+ 1,
+ Buffer
+ );
DEBUG ((EFI_D_INFO | EFI_D_LOAD, "LoadRecoveryCapsule Returns: %r\n", Status));
if (Status == EFI_DEVICE_ERROR) {
AssertMediaDeviceError (PeiServices);
diff --git a/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf b/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
index 617d681d77..df8b0dd3bd 100644
--- a/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
+++ b/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
@@ -34,11 +34,11 @@
# Recovery.c - provides the platform recoveyr functionality.
# MrcWrapper.c - Contains the logic to call MRC PPI and do Framework
# memory specific stuff like build memory map, build
# resource description hob for DXE phase,etc.
# Bootmode.c - Detect boot mode.
-# Copyright (c) 2013 - 2016 Intel Corporation.
+# Copyright (c) 2013 - 2019 Intel Corporation.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
@@ -138,11 +138,10 @@
[FeaturePcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk
gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD
gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk
gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError
[Pcd]
gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base
gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 08/11] SignedCapsulePkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (6 preceding siblings ...)
2019-04-29 2:16 ` [patch 07/11] QuarkPlatformPkg: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-04-29 2:16 ` [patch 09/11] UefiCpuPkg: " Dandan Bi
` (3 subsequent siblings)
11 siblings, 0 replies; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Jiewen Yao, Chao
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility support is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c | 6 +++---
.../RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf | 5 +----
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c
index 29a2cc520c..eda3cc5420 100644
--- a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c
+++ b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c
@@ -7,11 +7,11 @@
buffer overflow, integer overflow.
ProcessRecoveryCapsule(), ProcessFmpCapsuleImage(), ProcessRecoveryImage(),
ValidateFmpCapsule() will receive untrusted input and do basic validation.
-Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
//
@@ -764,11 +764,11 @@ LoadRecoveryCapsule (
for (CapsuleInstance = 1; CapsuleInstance <= NumberRecoveryCapsules; CapsuleInstance++) {
CapsuleSize = 0;
Status = DeviceRecoveryPpi->GetRecoveryCapsuleInfo (
(EFI_PEI_SERVICES **)PeiServices,
DeviceRecoveryPpi,
- FeaturePcdGet(PcdFrameworkCompatibilitySupport) ? CapsuleInstance - 1 : CapsuleInstance,
+ CapsuleInstance,
&CapsuleSize,
&CapsuleType
);
DEBUG ((DEBUG_ERROR, "LoadRecoveryCapsule - GetRecoveryCapsuleInfo (%d - %x) - %r\n", CapsuleInstance, CapsuleSize, Status));
if (EFI_ERROR (Status)) {
@@ -781,11 +781,11 @@ LoadRecoveryCapsule (
continue;
}
Status = DeviceRecoveryPpi->LoadRecoveryCapsule (
(EFI_PEI_SERVICES **)PeiServices,
DeviceRecoveryPpi,
- FeaturePcdGet(PcdFrameworkCompatibilitySupport) ? CapsuleInstance - 1 : CapsuleInstance,
+ CapsuleInstance,
CapsuleBuffer
);
DEBUG ((DEBUG_ERROR, "LoadRecoveryCapsule - LoadRecoveryCapsule (%d) - %r\n", CapsuleInstance, Status));
if (EFI_ERROR (Status)) {
FreePages (CapsuleBuffer, EFI_SIZE_TO_PAGES(CapsuleSize));
diff --git a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf
index f0f5d21a7a..431b0e1802 100644
--- a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf
+++ b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf
@@ -1,11 +1,11 @@
## @file
# Recovery module.
#
# Load Recovery capsule and install FV.
#
-# Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##
@@ -54,13 +54,10 @@
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGuid ## CONSUMES
gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid ## CONSUMES
-[FeaturePcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
-
[depex]
gEfiPeiBootInRecoveryModePpiGuid
[UserExtensions.TianoCore."ExtraFiles"]
RecoveryModuleLoadPeiExtra.uni
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 09/11] UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (7 preceding siblings ...)
2019-04-29 2:16 ` [patch 08/11] SignedCapsulePkg: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-04-29 15:15 ` Laszlo Ersek
2019-04-29 2:16 ` [patch 10/11] Vlv2TbltDevicePkg: " Dandan Bi
` (2 subsequent siblings)
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Eric Dong, Ray Ni, Laszlo Ersek
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility support is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
.../Universal/Acpi/S3Resume2Pei/S3Resume.c | 30 -------------------
.../Acpi/S3Resume2Pei/S3Resume2Pei.inf | 3 +-
2 files changed, 1 insertion(+), 32 deletions(-)
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
index 77c3fb6bdc..83ce1c4037 100644
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
+++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
@@ -741,12 +741,10 @@ S3ResumeExecuteBootScript (
{
EFI_STATUS Status;
PEI_SMM_ACCESS_PPI *SmmAccess;
UINTN Index;
VOID *GuidHob;
- IA32_DESCRIPTOR *IdtDescriptor;
- VOID *IdtBuffer;
PEI_S3_RESUME_STATE *PeiS3ResumeState;
BOOLEAN InterruptStatus;
DEBUG ((DEBUG_INFO, "S3ResumeExecuteBootScript()\n"));
@@ -802,38 +800,10 @@ S3ResumeExecuteBootScript (
if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
AsmWriteCr3 ((UINTN)AcpiS3Context->S3NvsPageTableAddress);
}
- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
- //
- // On some platform, such as ECP, a dispatch node in boot script table may execute a 32-bit PEIM which may need PeiServices
- // pointer. So PeiServices need preserve in (IDTBase- sizeof (UINTN)).
- //
- IdtDescriptor = (IA32_DESCRIPTOR *) (UINTN) (AcpiS3Context->IdtrProfile);
- //
- // Make sure the newly allocated IDT align with 16-bytes
- //
- IdtBuffer = AllocatePages (EFI_SIZE_TO_PAGES((IdtDescriptor->Limit + 1) + 16));
- if (IdtBuffer == NULL) {
- REPORT_STATUS_CODE (
- EFI_ERROR_CODE | EFI_ERROR_MAJOR,
- (EFI_SOFTWARE_PEI_MODULE | EFI_SW_PEI_EC_S3_RESUME_FAILED)
- );
- ASSERT (FALSE);
- }
- //
- // Additional 16 bytes allocated to save IA32 IDT descriptor and Pei Service Table Pointer
- // IA32 IDT descriptor will be used to setup IA32 IDT table for 32-bit Framework Boot Script code
- //
- ZeroMem (IdtBuffer, 16);
- AsmReadIdtr ((IA32_DESCRIPTOR *)IdtBuffer);
- CopyMem ((VOID*)((UINT8*)IdtBuffer + 16),(VOID*)(IdtDescriptor->Base), (IdtDescriptor->Limit + 1));
- IdtDescriptor->Base = (UINTN)((UINT8*)IdtBuffer + 16);
- *(UINTN*)(IdtDescriptor->Base - sizeof(UINTN)) = (UINTN)GetPeiServicesTablePointer ();
- }
-
InterruptStatus = SaveAndDisableInterrupts ();
//
// Need to make sure the GDT is loaded with values that support long mode and real mode.
//
AsmWriteGdtr (&mGdt);
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
index d694a98691..aae984d138 100644
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
+++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
@@ -3,11 +3,11 @@
#
# This module works with StandAloneBootScriptExecutor to S3 resume to OS.
# This module will excute the boot script saved during last boot and after that,
# control is passed to OS waking up handler.
#
-# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
@@ -87,11 +87,10 @@
gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES
gEfiPeiSmmCommunicationPpiGuid ## SOMETIMES_CONSUMES
[FeaturePcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 10/11] Vlv2TbltDevicePkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (8 preceding siblings ...)
2019-04-29 2:16 ` [patch 09/11] UefiCpuPkg: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-05-07 8:35 ` Sun, Zailiang
2019-04-29 2:16 ` [patch 11/11] MdeModulePkg: Remove PcdFrameworkCompatibilitySupport Dandan Bi
[not found] ` <1599D055711F0B7C.4588@groups.io>
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Zailiang Sun, Yi Qian
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility support is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Zailiang Sun <zailiang.sun@intel.com>
Cc: Yi Qian <yi.qian@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 3 +--
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 3 +--
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 3 +--
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index b3642c5c7a..96e77d54e8 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -1,9 +1,9 @@
#/** @file
# Platform description.
#
-# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2012 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
#**/
@@ -489,11 +489,10 @@
!if $(CAPSULE_RESET_ENABLE) == TRUE
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
!else
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE
!endif
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|TRUE
gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
!if $(DATAHUB_STATUS_CODE_ENABLE) == TRUE
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|TRUE
!else
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE
diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index 28e6f5a181..114353082b 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -1,9 +1,9 @@
#/** @file
# Platform description.
#
-# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2012 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
#**/
@@ -491,11 +491,10 @@
!if $(CAPSULE_RESET_ENABLE) == TRUE
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
!else
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE
!endif
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|TRUE
gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
!if $(DATAHUB_STATUS_CODE_ENABLE) == TRUE
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|TRUE
!else
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE
diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index f9ba56ef4b..20fdc691cb 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -1,9 +1,9 @@
#/** @file
# Platform description.
#
-# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2012 - 2019, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
#**/
@@ -491,11 +491,10 @@
!if $(CAPSULE_RESET_ENABLE) == TRUE
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
!else
gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE
!endif
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|TRUE
gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
!if $(DATAHUB_STATUS_CODE_ENABLE) == TRUE
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|TRUE
!else
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* [patch 11/11] MdeModulePkg: Remove PcdFrameworkCompatibilitySupport
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
` (9 preceding siblings ...)
2019-04-29 2:16 ` [patch 10/11] Vlv2TbltDevicePkg: " Dandan Bi
@ 2019-04-29 2:16 ` Dandan Bi
2019-05-06 1:25 ` Wu, Hao A
[not found] ` <1599D055711F0B7C.4588@groups.io>
11 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-04-29 2:16 UTC (permalink / raw)
To: devel; +Cc: Liming Gao, Hao Wu, Jian J Wang
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently Framework compatibility support is not needed and
PcdFrameworkCompatibilitySupport will be removed from edk2.
So remove the usage of this PCD firstly.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
MdeModulePkg/MdeModulePkg.dec | 8 --------
MdeModulePkg/MdeModulePkg.uni | 6 ------
2 files changed, 14 deletions(-)
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index be84916cc0..095863dc07 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -735,18 +735,10 @@
# TRUE - USB KeyBoard Driver will disable the default keyboard layout.<BR>
# FALSE - USB KeyBoard Driver will not disable the default keyboard layout.<BR>
# @Prompt Disable default keyboard layout in USB KeyBoard Driver.
gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver|FALSE|BOOLEAN|0x00010200
- ## Indicates if backward compatibility to Framework HII and Framework FvHob is supported.<BR><BR>
- # TRUE - Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler.
- # the PeiCore will handle the framework FvHob and install FvInfo PPI for it.<BR>
- # FALSE - Setup Browser doesn't support GUID opcodes generated from Framework HII VFR file by VFR compiler.
- # the PeiCore will not handle the framework FvHob and install FvInfo PPI for it.<BR>
- # @Prompt Enable framework backward compatibility support.
- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|FALSE|BOOLEAN|0x00012009
-
## Indicates if HelloWorld Application will print the verbose information.
# This PCD is a sample to explain FeatureFlag PCD usage.<BR><BR>
# TRUE - HelloWorld Application will print the verbose information.<BR>
# FALSE - HelloWorld Application will not print the verbose information.<BR>
# @Prompt Enable HelloWorld print.
diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
index cf2aefa7ad..b71e68617c 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -709,16 +709,10 @@
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdDisableDefaultKeyboardLayoutInUsbKbDriver_HELP #language en-US "Disable default USB keyboard layout? The default keyboard layout serves as the backup when no keyboard layout can be retrieved from HII database.<BR><BR>\n"
"TRUE - disable<BR>\n"
"FALSE - enable<BR>"
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFrameworkCompatibilitySupport_PROMPT #language en-US "Enable framework backward compatibility support"
-
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFrameworkCompatibilitySupport_HELP #language en-US "Indicates if backward compatibility to Framework HII and Framework FvHob is supported.<BR><BR>\n"
- "TRUE - Setup Browser supports GUID opcodes generated from Framework HII VFR file by VFR compiler. the PeiCore will handle the framework FvHob and install FvInfo PPI for it.<BR>\n"
- "FALSE - Setup Browser doesn't support GUID opcodes generated from Framework HII VFR file by VFR compiler. the PeiCore will not handle the framework FvHob and install FvInfo PPI for it.<BR>"
-
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHelloWorldPrintEnable_PROMPT #language en-US "Enable HelloWorld print"
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHelloWorldPrintEnable_HELP #language en-US "Indicates if HelloWorld Application will print the verbose information. This PCD is a sample to explain FeatureFlag PCD usage.<BR><BR>\n"
"TRUE - HelloWorld Application will print the verbose information.<BR>\n"
"FALSE - HelloWorld Application will not print the verbose information.<BR>"
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [patch 09/11] UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:16 ` [patch 09/11] UefiCpuPkg: " Dandan Bi
@ 2019-04-29 15:15 ` Laszlo Ersek
0 siblings, 0 replies; 28+ messages in thread
From: Laszlo Ersek @ 2019-04-29 15:15 UTC (permalink / raw)
To: Dandan Bi, devel; +Cc: Eric Dong, Ray Ni
On 04/29/19 04:16, Dandan Bi wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility support is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> .../Universal/Acpi/S3Resume2Pei/S3Resume.c | 30 -------------------
> .../Acpi/S3Resume2Pei/S3Resume2Pei.inf | 3 +-
> 2 files changed, 1 insertion(+), 32 deletions(-)
>
> diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> index 77c3fb6bdc..83ce1c4037 100644
> --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
> @@ -741,12 +741,10 @@ S3ResumeExecuteBootScript (
> {
> EFI_STATUS Status;
> PEI_SMM_ACCESS_PPI *SmmAccess;
> UINTN Index;
> VOID *GuidHob;
> - IA32_DESCRIPTOR *IdtDescriptor;
> - VOID *IdtBuffer;
> PEI_S3_RESUME_STATE *PeiS3ResumeState;
> BOOLEAN InterruptStatus;
>
> DEBUG ((DEBUG_INFO, "S3ResumeExecuteBootScript()\n"));
>
> @@ -802,38 +800,10 @@ S3ResumeExecuteBootScript (
>
> if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
> AsmWriteCr3 ((UINTN)AcpiS3Context->S3NvsPageTableAddress);
> }
>
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - //
> - // On some platform, such as ECP, a dispatch node in boot script table may execute a 32-bit PEIM which may need PeiServices
> - // pointer. So PeiServices need preserve in (IDTBase- sizeof (UINTN)).
> - //
> - IdtDescriptor = (IA32_DESCRIPTOR *) (UINTN) (AcpiS3Context->IdtrProfile);
> - //
> - // Make sure the newly allocated IDT align with 16-bytes
> - //
> - IdtBuffer = AllocatePages (EFI_SIZE_TO_PAGES((IdtDescriptor->Limit + 1) + 16));
> - if (IdtBuffer == NULL) {
> - REPORT_STATUS_CODE (
> - EFI_ERROR_CODE | EFI_ERROR_MAJOR,
> - (EFI_SOFTWARE_PEI_MODULE | EFI_SW_PEI_EC_S3_RESUME_FAILED)
> - );
> - ASSERT (FALSE);
> - }
> - //
> - // Additional 16 bytes allocated to save IA32 IDT descriptor and Pei Service Table Pointer
> - // IA32 IDT descriptor will be used to setup IA32 IDT table for 32-bit Framework Boot Script code
> - //
> - ZeroMem (IdtBuffer, 16);
> - AsmReadIdtr ((IA32_DESCRIPTOR *)IdtBuffer);
> - CopyMem ((VOID*)((UINT8*)IdtBuffer + 16),(VOID*)(IdtDescriptor->Base), (IdtDescriptor->Limit + 1));
> - IdtDescriptor->Base = (UINTN)((UINT8*)IdtBuffer + 16);
> - *(UINTN*)(IdtDescriptor->Base - sizeof(UINTN)) = (UINTN)GetPeiServicesTablePointer ();
> - }
> -
> InterruptStatus = SaveAndDisableInterrupts ();
> //
> // Need to make sure the GDT is loaded with values that support long mode and real mode.
> //
> AsmWriteGdtr (&mGdt);
> diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
> index d694a98691..aae984d138 100644
> --- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
> +++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
> @@ -3,11 +3,11 @@
> #
> # This module works with StandAloneBootScriptExecutor to S3 resume to OS.
> # This module will excute the boot script saved during last boot and after that,
> # control is passed to OS waking up handler.
> #
> -# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> ##
> @@ -87,11 +87,10 @@
> gEfiEndOfPeiSignalPpiGuid ## SOMETIMES_PRODUCES
> gEfiPeiSmmCommunicationPpiGuid ## SOMETIMES_CONSUMES
>
> [FeaturePcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES
>
> [Pcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
>
>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 02/11] FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 ` [patch 02/11] FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage Dandan Bi
@ 2019-05-05 3:25 ` Ni, Ray
0 siblings, 0 replies; 28+ messages in thread
From: Ni, Ray @ 2019-05-05 3:25 UTC (permalink / raw)
To: devel@edk2.groups.io, Bi, Dandan
Reviewed-by: Ray Ni <ray.ni@intel.com>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Dandan
> Bi
> Sent: Monday, April 29, 2019 10:16 AM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>
> Subject: [edk2-devel] [patch 02/11] FatPkg/FatPei: Remove
> PcdFrameworkCompatibilitySupport usage
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Ray Ni <ray.ni@intel.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> FatPkg/FatPei/FatLiteApi.c | 10 +---------
> FatPkg/FatPei/FatPei.inf | 4 ----
> 2 files changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/FatPkg/FatPei/FatLiteApi.c b/FatPkg/FatPei/FatLiteApi.c index
> 0bf6ddae6a..b9f883b9e0 100644
> --- a/FatPkg/FatPei/FatLiteApi.c
> +++ b/FatPkg/FatPei/FatLiteApi.c
> @@ -1,9 +1,9 @@
> /** @file
> FAT recovery PEIM entry point, Ppi Functions and FAT Api functions.
>
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> @@ -429,14 +429,10 @@ GetRecoveryCapsuleInfo (
>
> if (EFI_ERROR (Status)) {
> return Status;
> }
>
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - CapsuleInstance = CapsuleInstance + 1;
> - }
> -
> if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules))
> {
> return EFI_NOT_FOUND;
> }
>
> PrivateData = PEI_FAT_PRIVATE_DATA_FROM_THIS (This); @@ -557,14
> +553,10 @@ LoadRecoveryCapsule (
>
> if (EFI_ERROR (Status)) {
> return Status;
> }
>
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - CapsuleInstance = CapsuleInstance + 1;
> - }
> -
> if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules))
> {
> return EFI_NOT_FOUND;
> }
>
> PrivateData = PEI_FAT_PRIVATE_DATA_FROM_THIS (This); diff --git
> a/FatPkg/FatPei/FatPei.inf b/FatPkg/FatPei/FatPei.inf index
> b554aae040..d3466db9bf 100644
> --- a/FatPkg/FatPei/FatPei.inf
> +++ b/FatPkg/FatPei/FatPei.inf
> @@ -63,14 +63,10 @@
> [Ppis]
> gEfiPeiVirtualBlockIoPpiGuid ## SOMETIMES_CONSUMES
> PPI_NOTIFY
> gEfiPeiVirtualBlockIo2PpiGuid ## SOMETIMES_CONSUMES
> PPI_NOTIFY
> gEfiPeiDeviceRecoveryModulePpiGuid ## SOMETIMES_PRODUCES
>
> -
> -[FeaturePcd]
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> ## CONSUMES
> -
> [Pcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName ##
> CONSUMES
>
> [Depex]
> gEfiPeiMemoryDiscoveredPpiGuid AND
> gEfiPeiBootInRecoveryModePpiGuid
> --
> 2.18.0.windows.1
>
>
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [patch 05/11] MdeModulePkg/CdExpress: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:16 ` [patch 05/11] MdeModulePkg/CdExpress: " Dandan Bi
@ 2019-05-06 1:05 ` Wu, Hao A
0 siblings, 0 replies; 28+ messages in thread
From: Wu, Hao A @ 2019-05-06 1:05 UTC (permalink / raw)
To: Bi, Dandan, devel@edk2.groups.io; +Cc: Gao, Liming
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Best Regards,
Hao Wu
> -----Original Message-----
> From: Bi, Dandan
> Sent: Monday, April 29, 2019 10:16 AM
> To: devel@edk2.groups.io
> Cc: Wu, Hao A; Gao, Liming
> Subject: [patch 05/11] MdeModulePkg/CdExpress: Remove
> PcdFrameworkCompatibilitySupport usage
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Hao Wu <hao.a.wu@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> .../Universal/Disk/CdExpressPei/CdExpressPei.inf | 5 +----
> .../Universal/Disk/CdExpressPei/PeiCdExpress.c | 10 +---------
> 2 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
> b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
> index 11ab49b33b..184036bfb9 100644
> --- a/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
> +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf
> @@ -3,11 +3,11 @@
> #
> # This module reads data from CDROM device by all installed block IO ppi and
> # finds whether there is Recovery data in the device. If it finds recovery
> # data, it will install Device Recovery Module PPI.
> #
> -# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> ##
>
> @@ -56,13 +56,10 @@
> ## NOTIFY
> ## CONSUMES
> gEfiPeiVirtualBlockIo2PpiGuid
> gEfiPeiDeviceRecoveryModulePpiGuid ## PRODUCES
>
> -[FeaturePcd]
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ##
> CONSUMES
> -
> [Pcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryFileName ##
> CONSUMES
>
> [Depex]
> gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid
> diff --git a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
> b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
> index b029c54729..fd34f07eec 100644
> --- a/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
> +++ b/MdeModulePkg/Universal/Disk/CdExpressPei/PeiCdExpress.c
> @@ -1,9 +1,9 @@
> /** @file
> Source file for CD recovery PEIM
>
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> @@ -585,14 +585,10 @@ GetRecoveryCapsuleInfo (
>
> if (EFI_ERROR (Status)) {
> return Status;
> }
>
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - CapsuleInstance = CapsuleInstance + 1;
> - }
> -
> if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules)) {
> return EFI_NOT_FOUND;
> }
>
> PrivateData = PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS (This);
> @@ -645,14 +641,10 @@ LoadRecoveryCapsule (
>
> if (EFI_ERROR (Status)) {
> return Status;
> }
>
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - CapsuleInstance = CapsuleInstance + 1;
> - }
> -
> if ((CapsuleInstance == 0) || (CapsuleInstance > NumberRecoveryCapsules)) {
> return EFI_NOT_FOUND;
> }
>
> PrivateData = PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS (This);
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:16 ` [patch 04/11] MdeModulePkg/Core: " Dandan Bi
@ 2019-05-06 1:22 ` Wu, Hao A
2019-05-06 2:48 ` Dandan Bi
0 siblings, 1 reply; 28+ messages in thread
From: Wu, Hao A @ 2019-05-06 1:22 UTC (permalink / raw)
To: devel@edk2.groups.io, Bi, Dandan; +Cc: Gao, Liming
> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Dandan Bi
> Sent: Monday, April 29, 2019 10:16 AM
> To: devel@edk2.groups.io
> Cc: Gao, Liming
> Subject: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> PcdFrameworkCompatibilitySupport usage
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
> MdeModulePkg/Core/Dxe/Image/Image.c | 132 +---------------------------
> MdeModulePkg/Core/Dxe/Image/Image.h | 85 +-----------------
> MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65 --------------
> MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
> 5 files changed, 3 insertions(+), 286 deletions(-)
>
> diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
> b/MdeModulePkg/Core/Dxe/DxeMain.inf
> index 8dee5bee0a..61161bee28 100644
> --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> @@ -1,11 +1,11 @@
> ## @file
> # This is core module in DXE phase.
> #
> # It provides an implementation of DXE Core that is compliant with DXE CIS.
> #
> -# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> ##
>
> [Defines]
> @@ -130,11 +130,10 @@
>
> [Protocols]
> ## PRODUCES
> ## SOMETIMES_CONSUMES
> gEfiDecompressProtocolGuid
> - gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES #
> Produces when PcdFrameworkCompatibilitySupport is set
A couple of questions.
Is '#include <Protocol/LoadPe32Image.h>' in MdeModulePkg\Core\Dxe\DxeMain.h
still needed?
Can we remove EFI_PE32_IMAGE_PROTOCOL altogether? Seems to me there is no
other consumer within edk2.
Best Regards,
Hao Wu
> gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
> gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
> gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
> gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES
> gEfiDriverFamilyOverrideProtocolGuid ## SOMETIMES_CONSUMES
> @@ -171,13 +170,10 @@
> gEfiVariableWriteArchProtocolGuid ## CONSUMES
> gEfiVariableArchProtocolGuid ## CONSUMES
> gEfiCapsuleArchProtocolGuid ## CONSUMES
> gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
>
> -[FeaturePcd]
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> ## CONSUMES
> -
> [Pcd]
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNu
> mber ## SOMETIMES_CONSUMES
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNum
> ber ## SOMETIMES_CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> ## CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress
> ## CONSUMES
> diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
> b/MdeModulePkg/Core/Dxe/Image/Image.c
> index de5b8bed27..22a87ecf6d 100644
> --- a/MdeModulePkg/Core/Dxe/Image/Image.c
> +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
> @@ -1,9 +1,9 @@
> /** @file
> Core image handling services to load and unload PeImage.
>
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #include "DxeMain.h"
> @@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> //
> // Module Globals
> //
> LOADED_IMAGE_PRIVATE_DATA *mCurrentImage = NULL;
>
> -LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
> - LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
> - NULL,
> - {
> - CoreLoadImageEx,
> - CoreUnloadImageEx
> - }
> -};
> -
> typedef struct {
> LIST_ENTRY Link;
> EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *Emulator;
> UINT16 MachineType;
> } EMULATOR_ENTRY;
> @@ -274,22 +265,10 @@ CoreInitializeImageServices (
> );
> ASSERT_EFI_ERROR(Status);
>
> InitializeListHead (&mAvailableEmulators);
>
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - //
> - // Export DXE Core PE Loader functionality for backward compatibility.
> - //
> - Status = CoreInstallProtocolInterface (
> - &mLoadPe32PrivateData.Handle,
> - &gEfiLoadPeImageProtocolGuid,
> - EFI_NATIVE_INTERFACE,
> - &mLoadPe32PrivateData.Pe32Image
> - );
> - }
> -
> ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
>
> return Status;
> }
>
> @@ -1564,96 +1543,10 @@ CoreLoadImage (
> PERF_LOAD_IMAGE_END (Handle);
>
> return Status;
> }
>
> -
> -
> -/**
> - Loads an EFI image into memory and returns a handle to the image with
> extended parameters.
> -
> - @param This Calling context
> - @param ParentImageHandle The caller's image handle.
> - @param FilePath The specific file path from which the image is
> - loaded.
> - @param SourceBuffer If not NULL, a pointer to the memory location
> - containing a copy of the image to be loaded.
> - @param SourceSize The size in bytes of SourceBuffer.
> - @param DstBuffer The buffer to store the image.
> - @param NumberOfPages For input, specifies the space size of the
> - image by caller if not NULL. For output,
> - specifies the actual space size needed.
> - @param ImageHandle Image handle for output.
> - @param EntryPoint Image entry point for output.
> - @param Attribute The bit mask of attributes to set for the load
> - PE image.
> -
> - @retval EFI_SUCCESS The image was loaded into memory.
> - @retval EFI_NOT_FOUND The FilePath was not found.
> - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid
> value.
> - @retval EFI_UNSUPPORTED The image type is not supported, or the
> device
> - path cannot be parsed to locate the proper
> - protocol for loading the file.
> - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient
> - resources.
> - @retval EFI_LOAD_ERROR Image was not loaded because the image
> format was corrupt or not
> - understood.
> - @retval EFI_DEVICE_ERROR Image was not loaded because the device
> returned a read error.
> - @retval EFI_ACCESS_DENIED Image was not loaded because the platform
> policy prohibits the
> - image from being loaded. NULL is returned in
> *ImageHandle.
> - @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle
> was created with a
> - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> current
> - platform policy specifies that the image should not be
> started.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -CoreLoadImageEx (
> - IN EFI_PE32_IMAGE_PROTOCOL *This,
> - IN EFI_HANDLE ParentImageHandle,
> - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> - IN VOID *SourceBuffer OPTIONAL,
> - IN UINTN SourceSize,
> - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> - OUT UINTN *NumberOfPages OPTIONAL,
> - OUT EFI_HANDLE *ImageHandle,
> - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> - IN UINT32 Attribute
> - )
> -{
> - EFI_STATUS Status;
> - EFI_HANDLE Handle;
> -
> - PERF_LOAD_IMAGE_BEGIN (NULL);
> -
> - Status = CoreLoadImageCommon (
> - TRUE,
> - ParentImageHandle,
> - FilePath,
> - SourceBuffer,
> - SourceSize,
> - DstBuffer,
> - NumberOfPages,
> - ImageHandle,
> - EntryPoint,
> - Attribute
> - );
> -
> - Handle = NULL;
> - if (!EFI_ERROR (Status)) {
> - //
> - // ImageHandle will be valid only Status is success.
> - //
> - Handle = *ImageHandle;
> - }
> -
> - PERF_LOAD_IMAGE_END (Handle);
> -
> - return Status;
> -}
> -
> -
> /**
> Transfer control to a loaded image's entry point.
>
> @param ImageHandle Handle of image to be started.
> @param ExitDataSize Pointer of the size to ExitData
> @@ -2010,28 +1903,5 @@ CoreUnloadImage (
> }
>
> Done:
> return Status;
> }
> -
> -
> -
> -/**
> - Unload the specified image.
> -
> - @param This Indicates the calling context.
> - @param ImageHandle The specified image handle.
> -
> - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> - @retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
> - @retval EFI_SUCCESS Image successfully unloaded.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -CoreUnloadImageEx (
> - IN EFI_PE32_IMAGE_PROTOCOL *This,
> - IN EFI_HANDLE ImageHandle
> - )
> -{
> - return CoreUnloadImage (ImageHandle);
> -}
> diff --git a/MdeModulePkg/Core/Dxe/Image/Image.h
> b/MdeModulePkg/Core/Dxe/Image/Image.h
> index 6020a27371..e9c44ab2a7 100644
> --- a/MdeModulePkg/Core/Dxe/Image/Image.h
> +++ b/MdeModulePkg/Core/Dxe/Image/Image.h
> @@ -1,30 +1,17 @@
> /** @file
> Data structure and functions to load and unload PeImage.
>
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
>
> #ifndef _IMAGE_H_
> #define _IMAGE_H_
>
> -#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE
> SIGNATURE_32('l','p','e','i')
> -
> -typedef struct {
> - UINTN Signature;
> - /// Image handle
> - EFI_HANDLE Handle;
> - EFI_PE32_IMAGE_PROTOCOL Pe32Image;
> -} LOAD_PE32_IMAGE_PRIVATE_DATA;
> -
> -#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
> - CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image,
> LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
> -
> -
> //
> // Private Data Types
> //
> #define IMAGE_FILE_HANDLE_SIGNATURE SIGNATURE_32('i','m','g','f')
> typedef struct {
> @@ -32,76 +19,6 @@ typedef struct {
> BOOLEAN FreeBuffer;
> VOID *Source;
> UINTN SourceSize;
> } IMAGE_FILE_HANDLE;
>
> -/**
> - Loads an EFI image into memory and returns a handle to the image with
> extended parameters.
> -
> - @param This Calling context
> - @param ParentImageHandle The caller's image handle.
> - @param FilePath The specific file path from which the image is
> - loaded.
> - @param SourceBuffer If not NULL, a pointer to the memory location
> - containing a copy of the image to be loaded.
> - @param SourceSize The size in bytes of SourceBuffer.
> - @param DstBuffer The buffer to store the image.
> - @param NumberOfPages For input, specifies the space size of the
> - image by caller if not NULL. For output,
> - specifies the actual space size needed.
> - @param ImageHandle Image handle for output.
> - @param EntryPoint Image entry point for output.
> - @param Attribute The bit mask of attributes to set for the load
> - PE image.
> -
> - @retval EFI_SUCCESS The image was loaded into memory.
> - @retval EFI_NOT_FOUND The FilePath was not found.
> - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid
> value.
> - @retval EFI_UNSUPPORTED The image type is not supported, or the
> device
> - path cannot be parsed to locate the proper
> - protocol for loading the file.
> - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to insufficient
> - resources.
> - @retval EFI_LOAD_ERROR Image was not loaded because the image
> format was corrupt or not
> - understood.
> - @retval EFI_DEVICE_ERROR Image was not loaded because the device
> returned a read error.
> - @retval EFI_ACCESS_DENIED Image was not loaded because the platform
> policy prohibits the
> - image from being loaded. NULL is returned in
> *ImageHandle.
> - @retval EFI_SECURITY_VIOLATION Image was loaded and an ImageHandle
> was created with a
> - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> current
> - platform policy specifies that the image should not be
> started.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -CoreLoadImageEx (
> - IN EFI_PE32_IMAGE_PROTOCOL *This,
> - IN EFI_HANDLE ParentImageHandle,
> - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> - IN VOID *SourceBuffer OPTIONAL,
> - IN UINTN SourceSize,
> - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> - OUT UINTN *NumberOfPages OPTIONAL,
> - OUT EFI_HANDLE *ImageHandle,
> - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> - IN UINT32 Attribute
> - );
> -
> -
> -/**
> - Unload the specified image.
> -
> - @param This Indicates the calling context.
> - @param ImageHandle The specified image handle.
> -
> - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> - @retval EFI_UNSUPPORTED Attempt to unload an unsupported image.
> - @retval EFI_SUCCESS Image successfully unloaded.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -CoreUnloadImageEx (
> - IN EFI_PE32_IMAGE_PROTOCOL *This,
> - IN EFI_HANDLE ImageHandle
> - );
> #endif
> diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> index f817ba04e2..709db00694 100644
> --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> @@ -1092,19 +1092,10 @@ PeiFfsFindNextFile (
> {
> PEI_CORE_FV_HANDLE *CoreFvHandle;
>
> CoreFvHandle = FvHandleToCoreHandle (FvHandle);
>
> - //
> - // To make backward compatiblity, if can not find corresponding the handle
> of FV
> - // then treat FV as build-in FFS2/FFS3 format and memory mapped FV that FV
> handle is pointed
> - // to the address of first byte of FV.
> - //
> - if ((CoreFvHandle == NULL) && FeaturePcdGet
> (PcdFrameworkCompatibilitySupport)) {
> - return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
> - }
> -
> if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
> return EFI_NOT_FOUND;
> }
>
> return CoreFvHandle->FvPpi->FindFileByType (CoreFvHandle->FvPpi,
> SearchType, FvHandle, FileHandle);
> @@ -2109,66 +2100,10 @@ PEI_CORE_FV_HANDLE *
> FindNextCoreFvHandle (
> IN PEI_CORE_INSTANCE *Private,
> IN UINTN Instance
> )
> {
> - UINTN Index;
> - BOOLEAN Match;
> - EFI_HOB_FIRMWARE_VOLUME *FvHob;
> -
> - //
> - // Handle Framework FvHob and Install FvInfo Ppi for it.
> - //
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - //
> - // Loop to search the wanted FirmwareVolume which supports FFS
> - //
> - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob (EFI_HOB_TYPE_FV);
> - while (FvHob != NULL) {
> - //
> - // Search whether FvHob has been installed into PeiCore's FV database.
> - // If found, no need install new FvInfoPpi for it.
> - //
> - for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++) {
> - if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress == Private-
> >Fv[Index].FvHeader) {
> - Match = TRUE;
> - break;
> - }
> - }
> -
> - //
> - // Search whether FvHob has been cached into PeiCore's Unknown FV
> database.
> - // If found, no need install new FvInfoPpi for it.
> - //
> - if (!Match) {
> - for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++) {
> - if ((UINTN)FvHob->BaseAddress == (UINTN)Private-
> >UnknownFvInfo[Index].FvInfo) {
> - Match = TRUE;
> - break;
> - }
> - }
> - }
> -
> - //
> - // If the Fv in FvHob has not been installed into PeiCore's FV database and
> has
> - // not been cached into PeiCore's Unknown FV database, install a new
> FvInfoPpi
> - // for it then PeiCore will dispatch it in callback of FvInfoPpi.
> - //
> - if (!Match) {
> - PeiServicesInstallFvInfoPpi (
> - &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob->BaseAddress)-
> >FileSystemGuid),
> - (VOID *)(UINTN)FvHob->BaseAddress,
> - (UINT32)FvHob->Length,
> - NULL,
> - NULL
> - );
> - }
> -
> - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob
> (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob->Header.HobLength));
> - }
> - }
> -
> if (Instance >= Private->FvCount) {
> return NULL;
> }
>
> return &Private->Fv[Instance];
> diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf
> b/MdeModulePkg/Core/Pei/PeiMain.inf
> index c8a6d5b80b..7c482dacfc 100644
> --- a/MdeModulePkg/Core/Pei/PeiMain.inf
> +++ b/MdeModulePkg/Core/Pei/PeiMain.inf
> @@ -100,11 +100,10 @@
> gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
>
> [Pcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize
> ## CONSUMES
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFi
> rst ## CONSUMES
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> ## CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumber
> ## SOMETIMES_CONSUMES
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePageNu
> mber ## SOMETIMES_CONSUMES
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageNum
> ber ## SOMETIMES_CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> ## CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot
> ## CONSUMES
> --
> 2.18.0.windows.1
>
>
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [patch 11/11] MdeModulePkg: Remove PcdFrameworkCompatibilitySupport
2019-04-29 2:16 ` [patch 11/11] MdeModulePkg: Remove PcdFrameworkCompatibilitySupport Dandan Bi
@ 2019-05-06 1:25 ` Wu, Hao A
0 siblings, 0 replies; 28+ messages in thread
From: Wu, Hao A @ 2019-05-06 1:25 UTC (permalink / raw)
To: Bi, Dandan, devel@edk2.groups.io; +Cc: Gao, Liming, Wang, Jian J
> -----Original Message-----
> From: Bi, Dandan
> Sent: Monday, April 29, 2019 10:16 AM
> To: devel@edk2.groups.io
> Cc: Gao, Liming; Wu, Hao A; Wang, Jian J
> Subject: [patch 11/11] MdeModulePkg: Remove
> PcdFrameworkCompatibilitySupport
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility support is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Hao Wu <hao.a.wu@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> MdeModulePkg/MdeModulePkg.dec | 8 --------
> MdeModulePkg/MdeModulePkg.uni | 6 ------
> 2 files changed, 14 deletions(-)
>
> diff --git a/MdeModulePkg/MdeModulePkg.dec
> b/MdeModulePkg/MdeModulePkg.dec
> index be84916cc0..095863dc07 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -735,18 +735,10 @@
> # TRUE - USB KeyBoard Driver will disable the default keyboard layout.<BR>
> # FALSE - USB KeyBoard Driver will not disable the default keyboard
> layout.<BR>
> # @Prompt Disable default keyboard layout in USB KeyBoard Driver.
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKb
> Driver|FALSE|BOOLEAN|0x00010200
>
> - ## Indicates if backward compatibility to Framework HII and Framework
> FvHob is supported.<BR><BR>
> - # TRUE - Setup Browser supports GUID opcodes generated from Framework
> HII VFR file by VFR compiler.
> - # the PeiCore will handle the framework FvHob and install FvInfo PPI
> for it.<BR>
> - # FALSE - Setup Browser doesn't support GUID opcodes generated from
> Framework HII VFR file by VFR compiler.
> - # the PeiCore will not handle the framework FvHob and install FvInfo
> PPI for it.<BR>
> - # @Prompt Enable framework backward compatibility support.
> -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|FALSE
> |BOOLEAN|0x00012009
> -
> ## Indicates if HelloWorld Application will print the verbose information.
> # This PCD is a sample to explain FeatureFlag PCD usage.<BR><BR>
> # TRUE - HelloWorld Application will print the verbose information.<BR>
> # FALSE - HelloWorld Application will not print the verbose information.<BR>
> # @Prompt Enable HelloWorld print.
> diff --git a/MdeModulePkg/MdeModulePkg.uni
> b/MdeModulePkg/MdeModulePkg.uni
> index cf2aefa7ad..b71e68617c 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -709,16 +709,10 @@
>
> #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdDisableDefaultKeyboardLayoutIn
> UsbKbDriver_HELP #language en-US "Disable default USB keyboard layout?
> The default keyboard layout serves as the backup when no keyboard layout can
> be retrieved from HII database.<BR><BR>\n"
> "TRUE -
> disable<BR>\n"
> "FALSE -
> enable<BR>"
>
> -#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFrameworkCompatibilitySupport_
> PROMPT #language en-US "Enable framework backward compatibility
> support"
> -
> -#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFrameworkCompatibilitySupport_
> HELP #language en-US "Indicates if backward compatibility to Framework HII
> and Framework FvHob is supported.<BR><BR>\n"
> - "TRUE - Setup
> Browser supports GUID opcodes generated from Framework HII VFR file by VFR
> compiler. the PeiCore will handle the framework FvHob and install FvInfo PPI
> for it.<BR>\n"
> - "FALSE - Setup
> Browser doesn't support GUID opcodes generated from Framework HII VFR file
> by VFR compiler. the PeiCore will not handle the framework FvHob and install
> FvInfo PPI for it.<BR>"
> -
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Best Regards,
Hao Wu
> #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHelloWorldPrintEnable_PROMPT
> #language en-US "Enable HelloWorld print"
>
> #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHelloWorldPrintEnable_HELP
> #language en-US "Indicates if HelloWorld Application will print the verbose
> information. This PCD is a sample to explain FeatureFlag PCD
> usage.<BR><BR>\n"
> "TRUE - HelloWorld
> Application will print the verbose information.<BR>\n"
> "FALSE - HelloWorld
> Application will not print the verbose information.<BR>"
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
2019-05-06 1:22 ` [edk2-devel] " Wu, Hao A
@ 2019-05-06 2:48 ` Dandan Bi
2019-05-06 2:54 ` Wu, Hao A
0 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-05-06 2:48 UTC (permalink / raw)
To: Wu, Hao A, devel@edk2.groups.io; +Cc: Gao, Liming, Bi, Dandan
> -----Original Message-----
> From: Wu, Hao A
> Sent: Monday, May 6, 2019 9:23 AM
> To: devel@edk2.groups.io; Bi, Dandan <dandan.bi@intel.com>
> Cc: Gao, Liming <liming.gao@intel.com>
> Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> PcdFrameworkCompatibilitySupport usage
>
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Dandan Bi
> > Sent: Monday, April 29, 2019 10:16 AM
> > To: devel@edk2.groups.io
> > Cc: Gao, Liming
> > Subject: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > PcdFrameworkCompatibilitySupport usage
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
> >
> > Currently Framework compatibility is not needed and
> > PcdFrameworkCompatibilitySupport will be removed from edk2.
> > So remove the usage of this PCD firstly.
> >
> > Cc: Liming Gao <liming.gao@intel.com>
> > Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> > ---
> > MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
> > MdeModulePkg/Core/Dxe/Image/Image.c | 132
> > +--------------------------- MdeModulePkg/Core/Dxe/Image/Image.h |
> > 85 +----------------- MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65 ----------
> ----
> > MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
> > 5 files changed, 3 insertions(+), 286 deletions(-)
> >
> > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > index 8dee5bee0a..61161bee28 100644
> > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > @@ -1,11 +1,11 @@
> > ## @file
> > # This is core module in DXE phase.
> > #
> > # It provides an implementation of DXE Core that is compliant with DXE CIS.
> > #
> > -# Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +# Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> > # SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> >
> > [Defines]
> > @@ -130,11 +130,10 @@
> >
> > [Protocols]
> > ## PRODUCES
> > ## SOMETIMES_CONSUMES
> > gEfiDecompressProtocolGuid
> > - gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES #
> > Produces when PcdFrameworkCompatibilitySupport is set
>
> A couple of questions.
>
> Is '#include <Protocol/LoadPe32Image.h>' in
> MdeModulePkg\Core\Dxe\DxeMain.h still needed?
>
> Can we remove EFI_PE32_IMAGE_PROTOCOL altogether? Seems to me
> there is no other consumer within edk2.
>
> Best Regards,
> Hao Wu
Hi Hao,
1. Yes, since following definitions in <Protocol/LoadPe32Image.h> are still used in MdeModulePkg\Core\Dxe\Image\Image.c
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02
2. I also think we can remove this protocol, but I prefer a separate patch (not covered by this patch series) to remove it and solve the dependency issue in 1 together. Is it OK to you?
Thanks,
Dandan
>
> > gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
> > gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
> > gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
> > gEfiBusSpecificDriverOverrideProtocolGuid ## SOMETIMES_CONSUMES
> > gEfiDriverFamilyOverrideProtocolGuid ## SOMETIMES_CONSUMES
> > @@ -171,13 +170,10 @@
> > gEfiVariableWriteArchProtocolGuid ## CONSUMES
> > gEfiVariableArchProtocolGuid ## CONSUMES
> > gEfiCapsuleArchProtocolGuid ## CONSUMES
> > gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
> >
> > -[FeaturePcd]
> > -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > ## CONSUMES
> > -
> > [Pcd]
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> Nu
> > mber ## SOMETIMES_CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> um
> > ber ## SOMETIMES_CONSUMES
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > ## CONSUMES
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress
> > ## CONSUMES
> > diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
> > b/MdeModulePkg/Core/Dxe/Image/Image.c
> > index de5b8bed27..22a87ecf6d 100644
> > --- a/MdeModulePkg/Core/Dxe/Image/Image.c
> > +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
> > @@ -1,9 +1,9 @@
> > /** @file
> > Core image handling services to load and unload PeImage.
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> >
> > #include "DxeMain.h"
> > @@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //
> > // Module Globals // LOADED_IMAGE_PRIVATE_DATA *mCurrentImage
> =
> > NULL;
> >
> > -LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
> > - LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
> > - NULL,
> > - {
> > - CoreLoadImageEx,
> > - CoreUnloadImageEx
> > - }
> > -};
> > -
> > typedef struct {
> > LIST_ENTRY Link;
> > EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *Emulator;
> > UINT16 MachineType;
> > } EMULATOR_ENTRY;
> > @@ -274,22 +265,10 @@ CoreInitializeImageServices (
> > );
> > ASSERT_EFI_ERROR(Status);
> >
> > InitializeListHead (&mAvailableEmulators);
> >
> > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > - //
> > - // Export DXE Core PE Loader functionality for backward compatibility.
> > - //
> > - Status = CoreInstallProtocolInterface (
> > - &mLoadPe32PrivateData.Handle,
> > - &gEfiLoadPeImageProtocolGuid,
> > - EFI_NATIVE_INTERFACE,
> > - &mLoadPe32PrivateData.Pe32Image
> > - );
> > - }
> > -
> > ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
> >
> > return Status;
> > }
> >
> > @@ -1564,96 +1543,10 @@ CoreLoadImage (
> > PERF_LOAD_IMAGE_END (Handle);
> >
> > return Status;
> > }
> >
> > -
> > -
> > -/**
> > - Loads an EFI image into memory and returns a handle to the image
> > with extended parameters.
> > -
> > - @param This Calling context
> > - @param ParentImageHandle The caller's image handle.
> > - @param FilePath The specific file path from which the image is
> > - loaded.
> > - @param SourceBuffer If not NULL, a pointer to the memory
> location
> > - containing a copy of the image to be loaded.
> > - @param SourceSize The size in bytes of SourceBuffer.
> > - @param DstBuffer The buffer to store the image.
> > - @param NumberOfPages For input, specifies the space size of the
> > - image by caller if not NULL. For output,
> > - specifies the actual space size needed.
> > - @param ImageHandle Image handle for output.
> > - @param EntryPoint Image entry point for output.
> > - @param Attribute The bit mask of attributes to set for the load
> > - PE image.
> > -
> > - @retval EFI_SUCCESS The image was loaded into memory.
> > - @retval EFI_NOT_FOUND The FilePath was not found.
> > - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid
> > value.
> > - @retval EFI_UNSUPPORTED The image type is not supported, or the
> > device
> > - path cannot be parsed to locate the proper
> > - protocol for loading the file.
> > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
> insufficient
> > - resources.
> > - @retval EFI_LOAD_ERROR Image was not loaded because the image
> > format was corrupt or not
> > - understood.
> > - @retval EFI_DEVICE_ERROR Image was not loaded because the
> device
> > returned a read error.
> > - @retval EFI_ACCESS_DENIED Image was not loaded because the
> platform
> > policy prohibits the
> > - image from being loaded. NULL is returned in
> > *ImageHandle.
> > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
> ImageHandle
> > was created with a
> > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > current
> > - platform policy specifies that the image should not be
> > started.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreLoadImageEx (
> > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > - IN EFI_HANDLE ParentImageHandle,
> > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> > - IN VOID *SourceBuffer OPTIONAL,
> > - IN UINTN SourceSize,
> > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> > - OUT UINTN *NumberOfPages OPTIONAL,
> > - OUT EFI_HANDLE *ImageHandle,
> > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> > - IN UINT32 Attribute
> > - )
> > -{
> > - EFI_STATUS Status;
> > - EFI_HANDLE Handle;
> > -
> > - PERF_LOAD_IMAGE_BEGIN (NULL);
> > -
> > - Status = CoreLoadImageCommon (
> > - TRUE,
> > - ParentImageHandle,
> > - FilePath,
> > - SourceBuffer,
> > - SourceSize,
> > - DstBuffer,
> > - NumberOfPages,
> > - ImageHandle,
> > - EntryPoint,
> > - Attribute
> > - );
> > -
> > - Handle = NULL;
> > - if (!EFI_ERROR (Status)) {
> > - //
> > - // ImageHandle will be valid only Status is success.
> > - //
> > - Handle = *ImageHandle;
> > - }
> > -
> > - PERF_LOAD_IMAGE_END (Handle);
> > -
> > - return Status;
> > -}
> > -
> > -
> > /**
> > Transfer control to a loaded image's entry point.
> >
> > @param ImageHandle Handle of image to be started.
> > @param ExitDataSize Pointer of the size to ExitData
> > @@ -2010,28 +1903,5 @@ CoreUnloadImage (
> > }
> >
> > Done:
> > return Status;
> > }
> > -
> > -
> > -
> > -/**
> > - Unload the specified image.
> > -
> > - @param This Indicates the calling context.
> > - @param ImageHandle The specified image handle.
> > -
> > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
> image.
> > - @retval EFI_SUCCESS Image successfully unloaded.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreUnloadImageEx (
> > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > - IN EFI_HANDLE ImageHandle
> > - )
> > -{
> > - return CoreUnloadImage (ImageHandle); -} diff --git
> > a/MdeModulePkg/Core/Dxe/Image/Image.h
> > b/MdeModulePkg/Core/Dxe/Image/Image.h
> > index 6020a27371..e9c44ab2a7 100644
> > --- a/MdeModulePkg/Core/Dxe/Image/Image.h
> > +++ b/MdeModulePkg/Core/Dxe/Image/Image.h
> > @@ -1,30 +1,17 @@
> > /** @file
> > Data structure and functions to load and unload PeImage.
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> >
> >
> > #ifndef _IMAGE_H_
> > #define _IMAGE_H_
> >
> > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE
> > SIGNATURE_32('l','p','e','i')
> > -
> > -typedef struct {
> > - UINTN Signature;
> > - /// Image handle
> > - EFI_HANDLE Handle;
> > - EFI_PE32_IMAGE_PROTOCOL Pe32Image;
> > -} LOAD_PE32_IMAGE_PRIVATE_DATA;
> > -
> > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
> > - CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image,
> > LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
> > -
> > -
> > //
> > // Private Data Types
> > //
> > #define IMAGE_FILE_HANDLE_SIGNATURE SIGNATURE_32('i','m','g','f')
> > typedef struct {
> > @@ -32,76 +19,6 @@ typedef struct {
> > BOOLEAN FreeBuffer;
> > VOID *Source;
> > UINTN SourceSize;
> > } IMAGE_FILE_HANDLE;
> >
> > -/**
> > - Loads an EFI image into memory and returns a handle to the image
> > with extended parameters.
> > -
> > - @param This Calling context
> > - @param ParentImageHandle The caller's image handle.
> > - @param FilePath The specific file path from which the image is
> > - loaded.
> > - @param SourceBuffer If not NULL, a pointer to the memory
> location
> > - containing a copy of the image to be loaded.
> > - @param SourceSize The size in bytes of SourceBuffer.
> > - @param DstBuffer The buffer to store the image.
> > - @param NumberOfPages For input, specifies the space size of the
> > - image by caller if not NULL. For output,
> > - specifies the actual space size needed.
> > - @param ImageHandle Image handle for output.
> > - @param EntryPoint Image entry point for output.
> > - @param Attribute The bit mask of attributes to set for the load
> > - PE image.
> > -
> > - @retval EFI_SUCCESS The image was loaded into memory.
> > - @retval EFI_NOT_FOUND The FilePath was not found.
> > - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid
> > value.
> > - @retval EFI_UNSUPPORTED The image type is not supported, or the
> > device
> > - path cannot be parsed to locate the proper
> > - protocol for loading the file.
> > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
> insufficient
> > - resources.
> > - @retval EFI_LOAD_ERROR Image was not loaded because the image
> > format was corrupt or not
> > - understood.
> > - @retval EFI_DEVICE_ERROR Image was not loaded because the
> device
> > returned a read error.
> > - @retval EFI_ACCESS_DENIED Image was not loaded because the
> platform
> > policy prohibits the
> > - image from being loaded. NULL is returned in
> > *ImageHandle.
> > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
> ImageHandle
> > was created with a
> > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > current
> > - platform policy specifies that the image should not be
> > started.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreLoadImageEx (
> > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > - IN EFI_HANDLE ParentImageHandle,
> > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> > - IN VOID *SourceBuffer OPTIONAL,
> > - IN UINTN SourceSize,
> > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> > - OUT UINTN *NumberOfPages OPTIONAL,
> > - OUT EFI_HANDLE *ImageHandle,
> > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> > - IN UINT32 Attribute
> > - );
> > -
> > -
> > -/**
> > - Unload the specified image.
> > -
> > - @param This Indicates the calling context.
> > - @param ImageHandle The specified image handle.
> > -
> > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
> image.
> > - @retval EFI_SUCCESS Image successfully unloaded.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreUnloadImageEx (
> > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > - IN EFI_HANDLE ImageHandle
> > - );
> > #endif
> > diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > index f817ba04e2..709db00694 100644
> > --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > @@ -1092,19 +1092,10 @@ PeiFfsFindNextFile ( {
> > PEI_CORE_FV_HANDLE *CoreFvHandle;
> >
> > CoreFvHandle = FvHandleToCoreHandle (FvHandle);
> >
> > - //
> > - // To make backward compatiblity, if can not find corresponding the
> > handle of FV
> > - // then treat FV as build-in FFS2/FFS3 format and memory mapped FV
> > that FV handle is pointed
> > - // to the address of first byte of FV.
> > - //
> > - if ((CoreFvHandle == NULL) && FeaturePcdGet
> > (PcdFrameworkCompatibilitySupport)) {
> > - return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
> > - }
> > -
> > if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
> > return EFI_NOT_FOUND;
> > }
> >
> > return CoreFvHandle->FvPpi->FindFileByType (CoreFvHandle->FvPpi,
> > SearchType, FvHandle, FileHandle); @@ -2109,66 +2100,10 @@
> > PEI_CORE_FV_HANDLE * FindNextCoreFvHandle (
> > IN PEI_CORE_INSTANCE *Private,
> > IN UINTN Instance
> > )
> > {
> > - UINTN Index;
> > - BOOLEAN Match;
> > - EFI_HOB_FIRMWARE_VOLUME *FvHob;
> > -
> > - //
> > - // Handle Framework FvHob and Install FvInfo Ppi for it.
> > - //
> > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > - //
> > - // Loop to search the wanted FirmwareVolume which supports FFS
> > - //
> > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob
> (EFI_HOB_TYPE_FV);
> > - while (FvHob != NULL) {
> > - //
> > - // Search whether FvHob has been installed into PeiCore's FV database.
> > - // If found, no need install new FvInfoPpi for it.
> > - //
> > - for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++) {
> > - if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress == Private-
> > >Fv[Index].FvHeader) {
> > - Match = TRUE;
> > - break;
> > - }
> > - }
> > -
> > - //
> > - // Search whether FvHob has been cached into PeiCore's Unknown FV
> > database.
> > - // If found, no need install new FvInfoPpi for it.
> > - //
> > - if (!Match) {
> > - for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++) {
> > - if ((UINTN)FvHob->BaseAddress == (UINTN)Private-
> > >UnknownFvInfo[Index].FvInfo) {
> > - Match = TRUE;
> > - break;
> > - }
> > - }
> > - }
> > -
> > - //
> > - // If the Fv in FvHob has not been installed into PeiCore's FV database
> and
> > has
> > - // not been cached into PeiCore's Unknown FV database, install a new
> > FvInfoPpi
> > - // for it then PeiCore will dispatch it in callback of FvInfoPpi.
> > - //
> > - if (!Match) {
> > - PeiServicesInstallFvInfoPpi (
> > - &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob-
> >BaseAddress)-
> > >FileSystemGuid),
> > - (VOID *)(UINTN)FvHob->BaseAddress,
> > - (UINT32)FvHob->Length,
> > - NULL,
> > - NULL
> > - );
> > - }
> > -
> > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob
> > (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob-
> >Header.HobLength));
> > - }
> > - }
> > -
> > if (Instance >= Private->FvCount) {
> > return NULL;
> > }
> >
> > return &Private->Fv[Instance];
> > diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf
> > b/MdeModulePkg/Core/Pei/PeiMain.inf
> > index c8a6d5b80b..7c482dacfc 100644
> > --- a/MdeModulePkg/Core/Pei/PeiMain.inf
> > +++ b/MdeModulePkg/Core/Pei/PeiMain.inf
> > @@ -100,11 +100,10 @@
> > gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
> >
> > [Pcd]
> > gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize
> > ## CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSecti
> onFi
> > rst ## CONSUMES
> > -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > ## CONSUMES
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumb
> er
> > ## SOMETIMES_CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> Nu
> > mber ## SOMETIMES_CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> um
> > ber ## SOMETIMES_CONSUMES
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > ## CONSUMES
> > gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot
> > ## CONSUMES
> > --
> > 2.18.0.windows.1
> >
> >
> >
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
2019-05-06 2:48 ` Dandan Bi
@ 2019-05-06 2:54 ` Wu, Hao A
2019-05-07 7:08 ` Dandan Bi
0 siblings, 1 reply; 28+ messages in thread
From: Wu, Hao A @ 2019-05-06 2:54 UTC (permalink / raw)
To: Bi, Dandan, devel@edk2.groups.io; +Cc: Gao, Liming
> -----Original Message-----
> From: Bi, Dandan
> Sent: Monday, May 06, 2019 10:48 AM
> To: Wu, Hao A; devel@edk2.groups.io
> Cc: Gao, Liming; Bi, Dandan
> Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> PcdFrameworkCompatibilitySupport usage
>
> > -----Original Message-----
> > From: Wu, Hao A
> > Sent: Monday, May 6, 2019 9:23 AM
> > To: devel@edk2.groups.io; Bi, Dandan <dandan.bi@intel.com>
> > Cc: Gao, Liming <liming.gao@intel.com>
> > Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > PcdFrameworkCompatibilitySupport usage
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > > Dandan Bi
> > > Sent: Monday, April 29, 2019 10:16 AM
> > > To: devel@edk2.groups.io
> > > Cc: Gao, Liming
> > > Subject: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > > PcdFrameworkCompatibilitySupport usage
> > >
> > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
> > >
> > > Currently Framework compatibility is not needed and
> > > PcdFrameworkCompatibilitySupport will be removed from edk2.
> > > So remove the usage of this PCD firstly.
> > >
> > > Cc: Liming Gao <liming.gao@intel.com>
> > > Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> > > ---
> > > MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
> > > MdeModulePkg/Core/Dxe/Image/Image.c | 132
> > > +--------------------------- MdeModulePkg/Core/Dxe/Image/Image.h |
> > > 85 +----------------- MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65 ----------
> > ----
> > > MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
> > > 5 files changed, 3 insertions(+), 286 deletions(-)
> > >
> > > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > index 8dee5bee0a..61161bee28 100644
> > > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > @@ -1,11 +1,11 @@
> > > ## @file
> > > # This is core module in DXE phase.
> > > #
> > > # It provides an implementation of DXE Core that is compliant with DXE
> CIS.
> > > #
> > > -# Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > reserved.<BR>
> > > +# Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > +reserved.<BR>
> > > # SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> > >
> > > [Defines]
> > > @@ -130,11 +130,10 @@
> > >
> > > [Protocols]
> > > ## PRODUCES
> > > ## SOMETIMES_CONSUMES
> > > gEfiDecompressProtocolGuid
> > > - gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES #
> > > Produces when PcdFrameworkCompatibilitySupport is set
> >
> > A couple of questions.
> >
> > Is '#include <Protocol/LoadPe32Image.h>' in
> > MdeModulePkg\Core\Dxe\DxeMain.h still needed?
> >
> > Can we remove EFI_PE32_IMAGE_PROTOCOL altogether? Seems to me
> > there is no other consumer within edk2.
> >
> > Best Regards,
> > Hao Wu
>
> Hi Hao,
>
> 1. Yes, since following definitions in <Protocol/LoadPe32Image.h> are still used
> in MdeModulePkg\Core\Dxe\Image\Image.c
> #define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION
> 0x01
> #define
> EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATIO
> N 0x02
OK. I overlooked that these definitions are still being used.
>
> 2. I also think we can remove this protocol, but I prefer a separate patch (not
> covered by this patch series) to remove it and solve the dependency issue in 1
> together. Is it OK to you?
As point 1 mentioned above, I think the protocol should be kept to preserve
the definitions.
Maybe Liming will have some comments on this.
Best Regards,
Hao Wu
>
> Thanks,
> Dandan
> >
> > > gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
> > > gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
> > > gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
> > > gEfiBusSpecificDriverOverrideProtocolGuid ##
> SOMETIMES_CONSUMES
> > > gEfiDriverFamilyOverrideProtocolGuid ## SOMETIMES_CONSUMES
> > > @@ -171,13 +170,10 @@
> > > gEfiVariableWriteArchProtocolGuid ## CONSUMES
> > > gEfiVariableArchProtocolGuid ## CONSUMES
> > > gEfiCapsuleArchProtocolGuid ## CONSUMES
> > > gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
> > >
> > > -[FeaturePcd]
> > > -
> > gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > > ## CONSUMES
> > > -
> > > [Pcd]
> > >
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> > Nu
> > > mber ## SOMETIMES_CONSUMES
> > >
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> > um
> > > ber ## SOMETIMES_CONSUMES
> > > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > > ## CONSUMES
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress
> > > ## CONSUMES
> > > diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
> > > b/MdeModulePkg/Core/Dxe/Image/Image.c
> > > index de5b8bed27..22a87ecf6d 100644
> > > --- a/MdeModulePkg/Core/Dxe/Image/Image.c
> > > +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
> > > @@ -1,9 +1,9 @@
> > > /** @file
> > > Core image handling services to load and unload PeImage.
> > >
> > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > +reserved.<BR>
> > > SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > > **/
> > >
> > > #include "DxeMain.h"
> > > @@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //
> > > // Module Globals // LOADED_IMAGE_PRIVATE_DATA *mCurrentImage
> > =
> > > NULL;
> > >
> > > -LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
> > > - LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
> > > - NULL,
> > > - {
> > > - CoreLoadImageEx,
> > > - CoreUnloadImageEx
> > > - }
> > > -};
> > > -
> > > typedef struct {
> > > LIST_ENTRY Link;
> > > EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *Emulator;
> > > UINT16 MachineType;
> > > } EMULATOR_ENTRY;
> > > @@ -274,22 +265,10 @@ CoreInitializeImageServices (
> > > );
> > > ASSERT_EFI_ERROR(Status);
> > >
> > > InitializeListHead (&mAvailableEmulators);
> > >
> > > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > > - //
> > > - // Export DXE Core PE Loader functionality for backward compatibility.
> > > - //
> > > - Status = CoreInstallProtocolInterface (
> > > - &mLoadPe32PrivateData.Handle,
> > > - &gEfiLoadPeImageProtocolGuid,
> > > - EFI_NATIVE_INTERFACE,
> > > - &mLoadPe32PrivateData.Pe32Image
> > > - );
> > > - }
> > > -
> > > ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
> > >
> > > return Status;
> > > }
> > >
> > > @@ -1564,96 +1543,10 @@ CoreLoadImage (
> > > PERF_LOAD_IMAGE_END (Handle);
> > >
> > > return Status;
> > > }
> > >
> > > -
> > > -
> > > -/**
> > > - Loads an EFI image into memory and returns a handle to the image
> > > with extended parameters.
> > > -
> > > - @param This Calling context
> > > - @param ParentImageHandle The caller's image handle.
> > > - @param FilePath The specific file path from which the image is
> > > - loaded.
> > > - @param SourceBuffer If not NULL, a pointer to the memory
> > location
> > > - containing a copy of the image to be loaded.
> > > - @param SourceSize The size in bytes of SourceBuffer.
> > > - @param DstBuffer The buffer to store the image.
> > > - @param NumberOfPages For input, specifies the space size of the
> > > - image by caller if not NULL. For output,
> > > - specifies the actual space size needed.
> > > - @param ImageHandle Image handle for output.
> > > - @param EntryPoint Image entry point for output.
> > > - @param Attribute The bit mask of attributes to set for the load
> > > - PE image.
> > > -
> > > - @retval EFI_SUCCESS The image was loaded into memory.
> > > - @retval EFI_NOT_FOUND The FilePath was not found.
> > > - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid
> > > value.
> > > - @retval EFI_UNSUPPORTED The image type is not supported, or the
> > > device
> > > - path cannot be parsed to locate the proper
> > > - protocol for loading the file.
> > > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
> > insufficient
> > > - resources.
> > > - @retval EFI_LOAD_ERROR Image was not loaded because the
> image
> > > format was corrupt or not
> > > - understood.
> > > - @retval EFI_DEVICE_ERROR Image was not loaded because the
> > device
> > > returned a read error.
> > > - @retval EFI_ACCESS_DENIED Image was not loaded because the
> > platform
> > > policy prohibits the
> > > - image from being loaded. NULL is returned in
> > > *ImageHandle.
> > > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
> > ImageHandle
> > > was created with a
> > > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > > current
> > > - platform policy specifies that the image should not be
> > > started.
> > > -
> > > -**/
> > > -EFI_STATUS
> > > -EFIAPI
> > > -CoreLoadImageEx (
> > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > - IN EFI_HANDLE ParentImageHandle,
> > > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> > > - IN VOID *SourceBuffer OPTIONAL,
> > > - IN UINTN SourceSize,
> > > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> > > - OUT UINTN *NumberOfPages OPTIONAL,
> > > - OUT EFI_HANDLE *ImageHandle,
> > > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> > > - IN UINT32 Attribute
> > > - )
> > > -{
> > > - EFI_STATUS Status;
> > > - EFI_HANDLE Handle;
> > > -
> > > - PERF_LOAD_IMAGE_BEGIN (NULL);
> > > -
> > > - Status = CoreLoadImageCommon (
> > > - TRUE,
> > > - ParentImageHandle,
> > > - FilePath,
> > > - SourceBuffer,
> > > - SourceSize,
> > > - DstBuffer,
> > > - NumberOfPages,
> > > - ImageHandle,
> > > - EntryPoint,
> > > - Attribute
> > > - );
> > > -
> > > - Handle = NULL;
> > > - if (!EFI_ERROR (Status)) {
> > > - //
> > > - // ImageHandle will be valid only Status is success.
> > > - //
> > > - Handle = *ImageHandle;
> > > - }
> > > -
> > > - PERF_LOAD_IMAGE_END (Handle);
> > > -
> > > - return Status;
> > > -}
> > > -
> > > -
> > > /**
> > > Transfer control to a loaded image's entry point.
> > >
> > > @param ImageHandle Handle of image to be started.
> > > @param ExitDataSize Pointer of the size to ExitData
> > > @@ -2010,28 +1903,5 @@ CoreUnloadImage (
> > > }
> > >
> > > Done:
> > > return Status;
> > > }
> > > -
> > > -
> > > -
> > > -/**
> > > - Unload the specified image.
> > > -
> > > - @param This Indicates the calling context.
> > > - @param ImageHandle The specified image handle.
> > > -
> > > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> > > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
> > image.
> > > - @retval EFI_SUCCESS Image successfully unloaded.
> > > -
> > > -**/
> > > -EFI_STATUS
> > > -EFIAPI
> > > -CoreUnloadImageEx (
> > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > - IN EFI_HANDLE ImageHandle
> > > - )
> > > -{
> > > - return CoreUnloadImage (ImageHandle); -} diff --git
> > > a/MdeModulePkg/Core/Dxe/Image/Image.h
> > > b/MdeModulePkg/Core/Dxe/Image/Image.h
> > > index 6020a27371..e9c44ab2a7 100644
> > > --- a/MdeModulePkg/Core/Dxe/Image/Image.h
> > > +++ b/MdeModulePkg/Core/Dxe/Image/Image.h
> > > @@ -1,30 +1,17 @@
> > > /** @file
> > > Data structure and functions to load and unload PeImage.
> > >
> > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > +reserved.<BR>
> > > SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > > **/
> > >
> > >
> > > #ifndef _IMAGE_H_
> > > #define _IMAGE_H_
> > >
> > > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE
> > > SIGNATURE_32('l','p','e','i')
> > > -
> > > -typedef struct {
> > > - UINTN Signature;
> > > - /// Image handle
> > > - EFI_HANDLE Handle;
> > > - EFI_PE32_IMAGE_PROTOCOL Pe32Image;
> > > -} LOAD_PE32_IMAGE_PRIVATE_DATA;
> > > -
> > > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
> > > - CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image,
> > > LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
> > > -
> > > -
> > > //
> > > // Private Data Types
> > > //
> > > #define IMAGE_FILE_HANDLE_SIGNATURE SIGNATURE_32('i','m','g','f')
> > > typedef struct {
> > > @@ -32,76 +19,6 @@ typedef struct {
> > > BOOLEAN FreeBuffer;
> > > VOID *Source;
> > > UINTN SourceSize;
> > > } IMAGE_FILE_HANDLE;
> > >
> > > -/**
> > > - Loads an EFI image into memory and returns a handle to the image
> > > with extended parameters.
> > > -
> > > - @param This Calling context
> > > - @param ParentImageHandle The caller's image handle.
> > > - @param FilePath The specific file path from which the image is
> > > - loaded.
> > > - @param SourceBuffer If not NULL, a pointer to the memory
> > location
> > > - containing a copy of the image to be loaded.
> > > - @param SourceSize The size in bytes of SourceBuffer.
> > > - @param DstBuffer The buffer to store the image.
> > > - @param NumberOfPages For input, specifies the space size of the
> > > - image by caller if not NULL. For output,
> > > - specifies the actual space size needed.
> > > - @param ImageHandle Image handle for output.
> > > - @param EntryPoint Image entry point for output.
> > > - @param Attribute The bit mask of attributes to set for the load
> > > - PE image.
> > > -
> > > - @retval EFI_SUCCESS The image was loaded into memory.
> > > - @retval EFI_NOT_FOUND The FilePath was not found.
> > > - @retval EFI_INVALID_PARAMETER One of the parameters has an invalid
> > > value.
> > > - @retval EFI_UNSUPPORTED The image type is not supported, or the
> > > device
> > > - path cannot be parsed to locate the proper
> > > - protocol for loading the file.
> > > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
> > insufficient
> > > - resources.
> > > - @retval EFI_LOAD_ERROR Image was not loaded because the
> image
> > > format was corrupt or not
> > > - understood.
> > > - @retval EFI_DEVICE_ERROR Image was not loaded because the
> > device
> > > returned a read error.
> > > - @retval EFI_ACCESS_DENIED Image was not loaded because the
> > platform
> > > policy prohibits the
> > > - image from being loaded. NULL is returned in
> > > *ImageHandle.
> > > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
> > ImageHandle
> > > was created with a
> > > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > > current
> > > - platform policy specifies that the image should not be
> > > started.
> > > -
> > > -**/
> > > -EFI_STATUS
> > > -EFIAPI
> > > -CoreLoadImageEx (
> > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > - IN EFI_HANDLE ParentImageHandle,
> > > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> > > - IN VOID *SourceBuffer OPTIONAL,
> > > - IN UINTN SourceSize,
> > > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> > > - OUT UINTN *NumberOfPages OPTIONAL,
> > > - OUT EFI_HANDLE *ImageHandle,
> > > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> > > - IN UINT32 Attribute
> > > - );
> > > -
> > > -
> > > -/**
> > > - Unload the specified image.
> > > -
> > > - @param This Indicates the calling context.
> > > - @param ImageHandle The specified image handle.
> > > -
> > > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> > > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
> > image.
> > > - @retval EFI_SUCCESS Image successfully unloaded.
> > > -
> > > -**/
> > > -EFI_STATUS
> > > -EFIAPI
> > > -CoreUnloadImageEx (
> > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > - IN EFI_HANDLE ImageHandle
> > > - );
> > > #endif
> > > diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > index f817ba04e2..709db00694 100644
> > > --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > @@ -1092,19 +1092,10 @@ PeiFfsFindNextFile ( {
> > > PEI_CORE_FV_HANDLE *CoreFvHandle;
> > >
> > > CoreFvHandle = FvHandleToCoreHandle (FvHandle);
> > >
> > > - //
> > > - // To make backward compatiblity, if can not find corresponding the
> > > handle of FV
> > > - // then treat FV as build-in FFS2/FFS3 format and memory mapped FV
> > > that FV handle is pointed
> > > - // to the address of first byte of FV.
> > > - //
> > > - if ((CoreFvHandle == NULL) && FeaturePcdGet
> > > (PcdFrameworkCompatibilitySupport)) {
> > > - return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
> > > - }
> > > -
> > > if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
> > > return EFI_NOT_FOUND;
> > > }
> > >
> > > return CoreFvHandle->FvPpi->FindFileByType (CoreFvHandle->FvPpi,
> > > SearchType, FvHandle, FileHandle); @@ -2109,66 +2100,10 @@
> > > PEI_CORE_FV_HANDLE * FindNextCoreFvHandle (
> > > IN PEI_CORE_INSTANCE *Private,
> > > IN UINTN Instance
> > > )
> > > {
> > > - UINTN Index;
> > > - BOOLEAN Match;
> > > - EFI_HOB_FIRMWARE_VOLUME *FvHob;
> > > -
> > > - //
> > > - // Handle Framework FvHob and Install FvInfo Ppi for it.
> > > - //
> > > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > > - //
> > > - // Loop to search the wanted FirmwareVolume which supports FFS
> > > - //
> > > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob
> > (EFI_HOB_TYPE_FV);
> > > - while (FvHob != NULL) {
> > > - //
> > > - // Search whether FvHob has been installed into PeiCore's FV database.
> > > - // If found, no need install new FvInfoPpi for it.
> > > - //
> > > - for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++) {
> > > - if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress == Private-
> > > >Fv[Index].FvHeader) {
> > > - Match = TRUE;
> > > - break;
> > > - }
> > > - }
> > > -
> > > - //
> > > - // Search whether FvHob has been cached into PeiCore's Unknown FV
> > > database.
> > > - // If found, no need install new FvInfoPpi for it.
> > > - //
> > > - if (!Match) {
> > > - for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++) {
> > > - if ((UINTN)FvHob->BaseAddress == (UINTN)Private-
> > > >UnknownFvInfo[Index].FvInfo) {
> > > - Match = TRUE;
> > > - break;
> > > - }
> > > - }
> > > - }
> > > -
> > > - //
> > > - // If the Fv in FvHob has not been installed into PeiCore's FV database
> > and
> > > has
> > > - // not been cached into PeiCore's Unknown FV database, install a new
> > > FvInfoPpi
> > > - // for it then PeiCore will dispatch it in callback of FvInfoPpi.
> > > - //
> > > - if (!Match) {
> > > - PeiServicesInstallFvInfoPpi (
> > > - &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob-
> > >BaseAddress)-
> > > >FileSystemGuid),
> > > - (VOID *)(UINTN)FvHob->BaseAddress,
> > > - (UINT32)FvHob->Length,
> > > - NULL,
> > > - NULL
> > > - );
> > > - }
> > > -
> > > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob
> > > (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob-
> > >Header.HobLength));
> > > - }
> > > - }
> > > -
> > > if (Instance >= Private->FvCount) {
> > > return NULL;
> > > }
> > >
> > > return &Private->Fv[Instance];
> > > diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf
> > > b/MdeModulePkg/Core/Pei/PeiMain.inf
> > > index c8a6d5b80b..7c482dacfc 100644
> > > --- a/MdeModulePkg/Core/Pei/PeiMain.inf
> > > +++ b/MdeModulePkg/Core/Pei/PeiMain.inf
> > > @@ -100,11 +100,10 @@
> > > gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
> > >
> > > [Pcd]
> > > gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize
> > > ## CONSUMES
> > >
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSecti
> > onFi
> > > rst ## CONSUMES
> > > -
> > gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > > ## CONSUMES
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumb
> > er
> > > ## SOMETIMES_CONSUMES
> > >
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> > Nu
> > > mber ## SOMETIMES_CONSUMES
> > >
> > >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> > um
> > > ber ## SOMETIMES_CONSUMES
> > > gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > > ## CONSUMES
> > > gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot
> > > ## CONSUMES
> > > --
> > > 2.18.0.windows.1
> > >
> > >
> > >
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support
2019-04-29 2:15 ` [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Dandan Bi
@ 2019-05-07 5:52 ` Bob Feng
2019-05-07 6:00 ` Liming Gao
1 sibling, 0 replies; 28+ messages in thread
From: Bob Feng @ 2019-05-07 5:52 UTC (permalink / raw)
To: devel@edk2.groups.io, Bi, Dandan; +Cc: Gao, Liming
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Dandan Bi
Sent: Monday, April 29, 2019 10:16 AM
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
Subject: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
Currently there is no usage of framework VFR, remove the support from VfrCompile.
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
---
BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 35 +-----
BaseTools/Source/C/VfrCompile/VfrCompiler.h | 3 +-
BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 23 +---
BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 3 +-
BaseTools/Source/C/VfrCompile/VfrSyntax.g | 103 +-----------------
.../Source/C/VfrCompile/VfrUtilityLib.cpp | 52 +--------
BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 7 +-
.../VfrCompiler_Utility_Man_Page.rtf | 4 -
8 files changed, 15 insertions(+), 215 deletions(-)
diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
index c4d4d261ad..5f4d262d85 100644
--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
@@ -1,10 +1,10 @@
/** @file
VfrCompiler main class and main function.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "stdio.h"
@@ -72,11 +72,10 @@ CVfrCompiler::OptionInitialization (
mOptions.PreprocessorOutputFileName = NULL;
mOptions.VfrBaseFileName = NULL;
mOptions.IncludePaths = NULL;
mOptions.SkipCPreprocessor = TRUE;
mOptions.CPreprocessorOptions = NULL;
- mOptions.CompatibleMode = FALSE;
mOptions.HasOverrideClassGuid = FALSE;
mOptions.WarningAsError = FALSE;
mOptions.AutoDefault = FALSE;
mOptions.CheckDefault = FALSE;
memset (&mOptions.OverrideClassGuid, 0, sizeof (EFI_GUID)); @@ -140,12 +139,10 @@ CVfrCompiler::OptionInitialization (
DebugError (NULL, 0, 1001, "Missing option", "-od - missing C-preprocessor argument");
goto Fail;
}
AppendCPreprocessorOptions (Argv[Index]);
- } else if (stricmp(Argv[Index], "-c") == 0 || stricmp(Argv[Index], "--compatible-framework") == 0) {
- mOptions.CompatibleMode = TRUE;
} else if (stricmp(Argv[Index], "-s") == 0|| stricmp(Argv[Index], "--string-db") == 0) {
Index++;
if ((Index >= Argc) || (Argv[Index][0] == '-')) {
DebugError (NULL, 0, 1001, "Missing option", "-s missing input string file name");
goto Fail;
@@ -559,12 +556,10 @@ CVfrCompiler::Usage (
" default is current directory",
" -b, --create-ifr-package",
" create an IFR HII pack file",
" -n, --no-pre-processing",
" do not preprocessing input file",
- " -c, --compatible-framework",
- " compatible framework vfr file",
" -s, --string-db",
" input uni string package file",
" -g, --guid",
" override class guid input",
" format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
@@ -683,11 +678,10 @@ CVfrCompiler::Compile (
if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening the input file", "%s", InFileName);
goto Fail;
}
- InputInfo.CompatibleMode = mOptions.CompatibleMode;
if (mOptions.HasOverrideClassGuid) {
InputInfo.OverrideClassGuid = &mOptions.OverrideClassGuid;
} else {
InputInfo.OverrideClassGuid = NULL;
}
@@ -773,31 +767,10 @@ CVfrCompiler::AdjustBin (
//ok
} else {
DebugError (NULL, 0, 0001, "Error parsing vfr file", " %s.Buffer not allocated.", mOptions.VfrFileName);
}
- //
- // For UEFI mode, not do OpCode Adjust
- //
- if (mOptions.CompatibleMode) {
- //
- // Adjust Opcode to be compatible with framework vfr
- //
- Status = gCIfrRecordInfoDB.IfrRecordAdjust ();
- if (Status != VFR_RETURN_SUCCESS) {
- //
- // Record List Adjust Failed
- //
- SET_RUN_STATUS (STATUS_FAILED);
- return;
- }
- //
- // Re get the IfrRecord Buffer.
- //
- gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer);
- }
-
return;
}
VOID
CVfrCompiler::GenBinary (
@@ -851,24 +824,20 @@ CVfrCompiler::GenCFile (
if (!IS_RUN_STATUS(STATUS_GENBINARY)) {
goto Fail;
}
- if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) {
+ if (!mOptions.CreateIfrPkgFile) {
if ((pFile = fopen (LongFilePath (mOptions.COutputFileName), "w")) == NULL) {
DebugError (NULL, 0, 0001, "Error opening output C file", "%s", mOptions.COutputFileName);
goto Fail;
}
for (Index = 0; gSourceFileHeader[Index] != NULL; Index++) {
fprintf (pFile, "%s\n", gSourceFileHeader[Index]);
}
- if (mOptions.CompatibleMode) {
- gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName);
- }
-
if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) != VFR_RETURN_SUCCESS) {
fclose (pFile);
goto Fail;
}
fclose (pFile);
diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
index b8cccca4b0..b6e207d2ce 100644
--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
@@ -1,10 +1,10 @@
/** @file
VfrCompiler internal definitions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _VFRCOMPILER_H_
@@ -45,11 +45,10 @@ typedef struct {
CHAR8 *PreprocessorOutputFileName;
CHAR8 *VfrBaseFileName; // name of input VFR file with no path or extension
CHAR8 *IncludePaths;
bool SkipCPreprocessor;
CHAR8 *CPreprocessorOptions;
- BOOLEAN CompatibleMode;
BOOLEAN HasOverrideClassGuid;
EFI_GUID OverrideClassGuid;
BOOLEAN WarningAsError;
BOOLEAN AutoDefault;
BOOLEAN CheckDefault;
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
index 5948dc0883..36d3baaf10 100644
--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
@@ -1,10 +1,10 @@
/** @file
The definition of CFormPkg's member function
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "stdio.h"
@@ -442,25 +442,14 @@ CFormPkg::GenCFile (
if ((Ret = BuildPkgHdr(&PkgHdr)) != VFR_RETURN_SUCCESS) {
return Ret;
}
- //
- // For framework vfr file, the extension framework header will be added.
- //
- if (VfrCompatibleMode) {
- fprintf (pFile, " // FRAMEWORK PACKAGE HEADER Length\n");
- PkgLength = PkgHdr->Length + sizeof (UINT32) + 2;
- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT32));
- fprintf (pFile, "\n\n // FRAMEWORK PACKAGE HEADER Type\n");
- PkgLength = 3;
- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT16));
- } else {
- fprintf (pFile, " // ARRAY LENGTH\n");
- PkgLength = PkgHdr->Length + sizeof (UINT32);
- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT32));
- }
+
+ fprintf (pFile, " // ARRAY LENGTH\n"); PkgLength = PkgHdr->Length +
+ sizeof (UINT32); _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8
+ *)&PkgLength, sizeof (UINT32));
fprintf (pFile, "\n\n // PACKAGE HEADER\n");
_WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)PkgHdr, sizeof (EFI_HII_PACKAGE_HEADER));
PkgLength = sizeof (EFI_HII_PACKAGE_HEADER);
@@ -966,11 +955,11 @@ CFormPkg::DeclarePendingQuestion (
//
// For undefined Efi VarStore type question
// Append the extended guided opcode to contain VarName
//
- if (VarStoreType == EFI_VFR_VARSTORE_EFI || VfrCompatibleMode) {
+ if (VarStoreType == EFI_VFR_VARSTORE_EFI) {
CIfrVarEqName CVNObj (QId, Info.mInfo.mVarName);
CVNObj.SetLineNo (LineNo);
}
//
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
index 68df87ba88..1cea4f0e25 100644
--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
@@ -1,10 +1,10 @@
/** @file
The definition of CFormPkg's member function
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _EFIIFRCLASS_H_
@@ -93,11 +93,10 @@ struct SBufferNode {
CHAR8 *mBufferFree;
struct SBufferNode *mNext;
};
typedef struct {
- BOOLEAN CompatibleMode;
EFI_GUID *OverrideClassGuid;
} INPUT_INFO_TO_SYNTAX;
class CFormPkg {
private:
diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
index 04fe030b61..24b30e3825 100644
--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
@@ -1,9 +1,9 @@
/*++ @file
Vfr Syntax
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
--*/
#header<<
@@ -47,11 +47,10 @@ VfrParserStart (
IN FILE *File,
IN INPUT_INFO_TO_SYNTAX *InputInfo
)
{
ParserBlackBox<CVfrDLGLexer, EfiVfrParser, ANTLRToken> VfrParser(File);
- VfrParser.parser()->SetCompatibleMode (InputInfo->CompatibleMode);
VfrParser.parser()->SetOverrideClassGuid (InputInfo->OverrideClassGuid);
return VfrParser.parser()->vfrProgram(); } >>
@@ -673,17 +672,10 @@ vfrFormSetDefinition :
<<
_DeclareStandardDefaultStorage (GET_LINENO (L));
>>
vfrFormSetList
E:EndFormSet <<
- if (mCompatibleMode) {
- //
- // declare all undefined varstore and efivarstore
- //
- _DeclareDefaultFrameworkVarStore (GET_LINENO(E));
- }
-
//
// Declare undefined Question so that they can be used in expression.
//
if (gCFormPkg.HavePendingUnassigned()) {
mParserStatus += gCFormPkg.DeclarePendingQuestion ( @@ -5047,23 +5039,18 @@ public:
VOID _STRCAT (IN OUT CHAR8 **, IN CONST CHAR8 *);
VOID _DeclareDefaultLinearVarStore (IN UINT32);
VOID _DeclareStandardDefaultStorage (IN UINT32);
- VOID _DeclareDefaultFrameworkVarStore (IN UINT32);
VOID AssignQuestionKey (IN CIfrQuestionHeader &, IN ANTLRTokenPtr);
VOID ConvertIdExpr (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32);
VOID IdEqValDoSpecial (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN EFI_COMPARE_TYPE);
VOID IdEqIdDoSpecial (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN EFI_COMPARE_TYPE);
VOID IdEqListDoSpecial (IN UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN UINT16 *);
VOID SetOverrideClassGuid (IN EFI_GUID *);
-//
-// For framework vfr compatibility
-//
- VOID SetCompatibleMode (IN BOOLEAN);
>>
}
<<
VOID
@@ -5540,88 +5527,10 @@ EfiVfrParser::_STOR (
Ref.DevicePath = _STOSID (DevicePath, LineNum);
return Ref;
}
-//
-// framework vfr to default declare varstore for each structure -// -VOID -EfiVfrParser::_DeclareDefaultFrameworkVarStore (
- IN UINT32 LineNo
- )
-{
- SVfrVarStorageNode *pNode;
- UINT32 TypeSize;
- BOOLEAN FirstNode;
- CONST CHAR8 VarName[] = "Setup";
-
- FirstNode = TRUE;
- pNode = gCVfrDataStorage.GetBufferVarStoreList();
- if (pNode == NULL && gCVfrVarDataTypeDB.mFirstNewDataTypeName != NULL) {
- //
- // Create the default Buffer Var Store when no VarStore is defined.
- // its name should be "Setup"
- //
- gCVfrVarDataTypeDB.GetDataTypeSize (gCVfrVarDataTypeDB.mFirstNewDataTypeName, &TypeSize);
- CIfrVarStore VSObj;
- VSObj.SetLineNo (LineNo);
- VSObj.SetVarStoreId (0x1); //the first and only one Buffer Var Store
- VSObj.SetSize ((UINT16) TypeSize);
- //VSObj.SetName (gCVfrVarDataTypeDB.mFirstNewDataTypeName);
- VSObj.SetName ((CHAR8 *) VarName);
- VSObj.SetGuid (&mFormsetGuid);
-#ifdef VFREXP_DEBUG
- printf ("Create the default VarStoreName is %s\n", gCVfrVarDataTypeDB.mFirstNewDataTypeName);
-#endif
- } else {
- for (; pNode != NULL; pNode = pNode->mNext) {
- //
- // create the default varstore opcode for not declared varstore
- // the first varstore name should be "Setup"
- //
- if (!pNode->mAssignedFlag) {
- CIfrVarStore VSObj;
- VSObj.SetLineNo (LineNo);
- VSObj.SetVarStoreId (pNode->mVarStoreId);
- VSObj.SetSize ((UINT16) pNode->mStorageInfo.mDataType->mTotalSize);
- if (FirstNode) {
- VSObj.SetName ((CHAR8 *) VarName);
- FirstNode = FALSE;
- } else {
- VSObj.SetName (pNode->mVarStoreName);
- }
- VSObj.SetGuid (&pNode->mGuid);
-#ifdef VFREXP_DEBUG
- printf ("undefined VarStoreName is %s and Id is 0x%x\n", pNode->mVarStoreName, pNode->mVarStoreId);
-#endif
- }
- }
- }
-
- pNode = gCVfrDataStorage.GetEfiVarStoreList();
- for (; pNode != NULL; pNode = pNode->mNext) {
- //
- // create the default efi varstore opcode for not exist varstore
- //
- if (!pNode->mAssignedFlag) {
- CIfrVarStoreEfi VSEObj;
- VSEObj.SetLineNo (LineNo);
- VSEObj.SetAttributes (0x00000002); //hardcode EFI_VARIABLE_BOOTSERVICE_ACCESS attribute
- VSEObj.SetGuid (&pNode->mGuid);
- VSEObj.SetVarStoreId (pNode->mVarStoreId);
- // Generate old efi varstore storage structure for compatible with old "VarEqVal" opcode,
- // which is 3 bytes less than new structure define in UEFI Spec 2.3.1.
- VSEObj.SetBinaryLength (sizeof (EFI_IFR_VARSTORE_EFI) - 3);
-#ifdef VFREXP_DEBUG
- printf ("undefined Efi VarStoreName is %s and Id is 0x%x\n", pNode->mVarStoreName, pNode->mVarStoreId);
-#endif
- }
- }
-
-}
-
VOID
EfiVfrParser::_DeclareDefaultLinearVarStore (
IN UINT32 LineNo
)
{
@@ -5917,20 +5826,10 @@ VOID
EfiVfrParser::SetOverrideClassGuid (IN EFI_GUID *OverrideClassGuid) {
mOverrideClassGuid = OverrideClassGuid; }
-//
-// For framework vfr compatibility
-//
-VOID
-EfiVfrParser::SetCompatibleMode (IN BOOLEAN Mode) -{
- mCompatibleMode = Mode;
- mCVfrQuestionDB.SetCompatibleMode (Mode); -}
-
VOID
EfiVfrParser::CheckDuplicateDefaultValue (
IN EFI_DEFAULT_ID DefaultId,
IN ANTLRTokenPtr Tok
)
diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
index 9c9c4d4054..2b9b5dbb1c 100644
--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
@@ -1,10 +1,10 @@
/** @file
Vfr common library functions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "stdio.h"
@@ -757,21 +757,10 @@ CVfrVarDataTypeDB::GetFieldOffset ( {
if (Field == NULL) {
return VFR_RETURN_FATAL_ERROR;
}
- //
- // Framework Vfr file Array Index is from 1.
- // But Uefi Vfr file Array Index is from 0.
- //
- if (VfrCompatibleMode && ArrayIdx != INVALID_ARRAY_INDEX) {
- if (ArrayIdx == 0) {
- return VFR_RETURN_ERROR_ARRARY_NUM;
- }
- ArrayIdx = ArrayIdx - 1;
- }
-
if ((ArrayIdx != INVALID_ARRAY_INDEX) && ((Field->mArrayNum == 0) || (Field->mArrayNum <= ArrayIdx))) {
return VFR_RETURN_ERROR_ARRARY_NUM;
}
//
@@ -1681,21 +1670,11 @@ CVfrDataStorage::GetFreeVarStoreId (
EFI_VFR_VARSTORE_TYPE VarType
)
{
UINT32 Index, Mask, Offset;
- //
- // Assign the different ID range for the different type VarStore to support Framework Vfr
- //
Index = 0;
- if ((!VfrCompatibleMode) || (VarType == EFI_VFR_VARSTORE_BUFFER)) {
- Index = 0;
- } else if (VarType == EFI_VFR_VARSTORE_EFI) {
- Index = 1;
- } else if (VarType == EFI_VFR_VARSTORE_NAME) {
- Index = 2;
- }
for (; Index < EFI_FREE_VARSTORE_ID_BITMAP_SIZE; Index++) {
if (mFreeVarStoreIdBitMap[Index] != 0xFFFFFFFF) {
break;
}
@@ -1913,17 +1892,10 @@ CVfrDataStorage::GetVarStoreByDataType (
)
{
SVfrVarStorageNode *pNode;
SVfrVarStorageNode *MatchNode;
- //
- // Framework VFR uses Data type name as varstore name, so don't need check again.
- //
- if (VfrCompatibleMode) {
- return VFR_RETURN_UNDEFINED;
- }
-
MatchNode = NULL;
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (strcmp (pNode->mStorageInfo.mDataType->mTypeName, DataTypeName) != 0) {
continue;
}
@@ -2287,20 +2259,10 @@ CVfrDataStorage::GetNameVarStoreInfo (
if (mCurrVarStorageNode == NULL) {
return VFR_RETURN_GET_NVVARSTORE_ERROR;
}
- //
- // Framework Vfr file Index is from 1, but Uefi Vfr file Index is from 0.
- //
- if (VfrCompatibleMode) {
- if (Index == 0) {
- return VFR_RETURN_ERROR_ARRARY_NUM;
- }
- Index --;
- }
-
Info->mInfo.mVarName = mCurrVarStorageNode->mStorageInfo.mNameSpace.mNameTable[Index];
return VFR_RETURN_SUCCESS;
}
@@ -2859,14 +2821,11 @@ CVfrQuestionDB::RegisterQuestion (
}
if (QuestionId == EFI_QUESTION_ID_INVALID) {
QuestionId = GetFreeQuestionId ();
} else {
- //
- // For Framework Vfr, don't check question ID conflict.
- //
- if (!VfrCompatibleMode && ChekQuestionIdFree (QuestionId) == FALSE) {
+ if (ChekQuestionIdFree (QuestionId) == FALSE) {
delete pNode;
return VFR_RETURN_QUESTIONID_REDEFINED;
}
MarkQuestionIdUsed (QuestionId);
}
@@ -3366,14 +3325,11 @@ CVfrQuestionDB::UpdateQuestionId (
if (QId == NewQId) {
// don't update
return VFR_RETURN_SUCCESS;
}
- //
- // For Framework Vfr, don't check question ID conflict.
- //
- if (!VfrCompatibleMode && ChekQuestionIdFree (NewQId) == FALSE) {
+ if (ChekQuestionIdFree (NewQId) == FALSE) {
return VFR_RETURN_REDEFINED;
}
for (pNode = mQuestionList; pNode != NULL; pNode = pNode->mNext) {
if (pNode->mQuestionId == QId) {
@@ -3955,12 +3911,10 @@ CVfrStringDB::GetUnicodeStringTextSize (
}
return StringSize;
}
-BOOLEAN VfrCompatibleMode = FALSE;
-
CVfrVarDataTypeDB gCVfrVarDataTypeDB;
CVfrDefaultStore gCVfrDefaultStore;
CVfrDataStorage gCVfrDataStorage;
diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
index e2b2917e99..57bb0c424d 100644
--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
@@ -1,10 +1,10 @@
/** @file
Vfr common library functions.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _VFRUTILITYLIB_H_
@@ -13,11 +13,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "string.h"
#include "Common/UefiBaseTypes.h"
#include "EfiVfr.h"
#include "VfrError.h"
-extern BOOLEAN VfrCompatibleMode;
static EFI_GUID gEdkiiIfrBitVarGuid = EDKII_IFR_BIT_VARSTORE_GUID;
#define MAX_BIT_WIDTH 32
#define MAX_NAME_LEN 64
#define MAX_STRING_LEN 0x100
@@ -422,14 +421,10 @@ public:
EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID);
EFI_VFR_RETURN_CODE FindQuestion (IN CHAR8 *);
VOID PrintAllQuestion (IN VOID);
VOID ResetInit (IN VOID);
- VOID SetCompatibleMode (IN BOOLEAN Mode) {
- VfrCompatibleMode = Mode;
- }
-
private:
CVfrQuestionDB (IN CONST CVfrQuestionDB&); // Prevent copy-construction
CVfrQuestionDB& operator= (IN CONST CVfrQuestionDB&); // Prevent assignment };
diff --git a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
index fa0beebb9c..2b056f8f26 100644
--- a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
+++ b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
@@ -145,14 +145,10 @@ The generated file will be placed into the output directory sp\hich\af43\dbch\af \par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 -n, --no-pre-processing \par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 Do not preprocess}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0
\fs18\cf1\insrsid2570438 \hich\af43\dbch\af31505\loch\f43 t}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid1204842 \hich\af43\dbch\af31505\loch\f43 he}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43
input vfr file. The input VFR file has been pro\hich\af43\dbch\af31505\loch\f43 cessed. If this option is not specified, the default behavior is same to set this option.
\par }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254 \hich\af43\dbch\af31505\loch\f43 Selecting this option disables preprocessing of VFR files. }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2570438 -\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 -c, --compatible-framework -\par }\pard \ltrpar\ql \li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 Recognize}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254
-\hich\af43\dbch\af31505\loch\f43 s}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 the input VFR file is the framework VFR syntax. If this option is n\hich\af43\dbch\af31505\loch\f43 -ot specified, the UEFI syntax is default }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254 \hich\af43\dbch\af31505\loch\f43 the VFR }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 syntax.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 -h, --help \par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 Print version and usage of this program and exit.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12931970 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 -s, --string-db \par }\pard \ltrpar\ql \fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12931970 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 Input uni string package file.
\par }\pard \ltrpar\ql \li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid12931970 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 \b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 -g, --guid
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 07/11] QuarkPlatformPkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:16 ` [patch 07/11] QuarkPlatformPkg: " Dandan Bi
@ 2019-05-07 5:58 ` Liming Gao
0 siblings, 0 replies; 28+ messages in thread
From: Liming Gao @ 2019-05-07 5:58 UTC (permalink / raw)
To: devel@edk2.groups.io, Bi, Dandan; +Cc: Kinney, Michael D, Steele, Kelly
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
>Dandan Bi
>Sent: Monday, April 29, 2019 10:16 AM
>To: devel@edk2.groups.io
>Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Steele, Kelly
><kelly.steele@intel.com>; Gao, Liming <liming.gao@intel.com>
>Subject: [edk2-devel] [patch 07/11] QuarkPlatformPkg: Remove
>PcdFrameworkCompatibilitySupport usage
>
>REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
>Currently Framework compatibility support is not needed and
>PcdFrameworkCompatibilitySupport will be removed from edk2.
>So remove the usage of this PCD firstly.
>
>Cc: Michael D Kinney <michael.d.kinney@intel.com>
>Cc: Kelly Steele <kelly.steele@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>---
> .../Pei/PlatformInit/Generic/Recovery.c | 50 ++++++-------------
> .../Pei/PlatformInit/PlatformEarlyInit.inf | 3 +-
> 2 files changed, 15 insertions(+), 38 deletions(-)
>
>diff --git a/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
>b/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
>index f6a076f757..67299a68b7 100644
>--- a/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
>+++ b/QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c
>@@ -1,10 +1,10 @@
> /** @file
> Install Platform EFI_PEI_RECOVERY_MODULE_PPI and Implementation of
> EFI_PEI_LOAD_RECOVERY_CAPSULE service.
>
>-Copyright (c) 2013-2016 Intel Corporation.
>+Copyright (c) 2013-2019 Intel Corporation.
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
>@@ -195,29 +195,17 @@ Returns:
> //
> // If there is an image provider, get the capsule ID
> //
> if (ProviderAvailable) {
> RecoveryCapsuleSize = 0;
>- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
>- Status = DeviceRecoveryModule->GetRecoveryCapsuleInfo (
>- PeiServices,
>- DeviceRecoveryModule,
>- 0,
>- &RecoveryCapsuleSize,
>- &DeviceId
>- );
>- } else {
>- Status = DeviceRecoveryModule->GetRecoveryCapsuleInfo (
>- PeiServices,
>- DeviceRecoveryModule,
>- 1,
>- &RecoveryCapsuleSize,
>- &DeviceId
>- );
>-
>-
>- }
>+ Status = DeviceRecoveryModule->GetRecoveryCapsuleInfo (
>+ PeiServices,
>+ DeviceRecoveryModule,
>+ 1,
>+ &RecoveryCapsuleSize,
>+ &DeviceId
>+ );
>
> if (EFI_ERROR (Status)) {
> return Status;
> }
>
>@@ -237,26 +225,16 @@ Returns:
> Buffer = NULL;
> Address = (UINTN) AllocatePages ((RecoveryCapsuleSize - 1) / 0x1000 + 1);
> ASSERT (Address);
>
> Buffer = (UINT8 *) (UINTN) Address;
>- if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
>- Status = DeviceRecoveryModule->LoadRecoveryCapsule (
>- PeiServices,
>- DeviceRecoveryModule,
>- 0,
>- Buffer
>- );
>- } else {
>- Status = DeviceRecoveryModule->LoadRecoveryCapsule (
>- PeiServices,
>- DeviceRecoveryModule,
>- 1,
>- Buffer
>- );
>-
>- }
>+ Status = DeviceRecoveryModule->LoadRecoveryCapsule (
>+ PeiServices,
>+ DeviceRecoveryModule,
>+ 1,
>+ Buffer
>+ );
>
> DEBUG ((EFI_D_INFO | EFI_D_LOAD, "LoadRecoveryCapsule
>Returns: %r\n", Status));
>
> if (Status == EFI_DEVICE_ERROR) {
> AssertMediaDeviceError (PeiServices);
>diff --git a/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
>b/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
>index 617d681d77..df8b0dd3bd 100644
>--- a/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
>+++ b/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf
>@@ -34,11 +34,11 @@
> # Recovery.c - provides the platform recoveyr functionality.
> # MrcWrapper.c - Contains the logic to call MRC PPI and do Framework
> # memory specific stuff like build memory map, build
> # resource description hob for DXE phase,etc.
> # Bootmode.c - Detect boot mode.
>-# Copyright (c) 2013 - 2016 Intel Corporation.
>+# Copyright (c) 2013 - 2019 Intel Corporation.
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> ##
>
>@@ -138,11 +138,10 @@
> [FeaturePcd]
> gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk
> gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD
> gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk
> gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk
>- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError
>
> [Pcd]
> gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base
> gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize
>--
>2.18.0.windows.1
>
>
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [patch 03/11] IntelFrameworkModulePkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:15 ` [patch 03/11] IntelFrameworkModulePkg: " Dandan Bi
@ 2019-05-07 5:59 ` Liming Gao
0 siblings, 0 replies; 28+ messages in thread
From: Liming Gao @ 2019-05-07 5:59 UTC (permalink / raw)
To: Bi, Dandan, devel@edk2.groups.io
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: Bi, Dandan
>Sent: Monday, April 29, 2019 10:16 AM
>To: devel@edk2.groups.io
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [patch 03/11] IntelFrameworkModulePkg: Remove
>PcdFrameworkCompatibilitySupport usage
>
>REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
>Currently Framework compatibility is not needed and
>PcdFrameworkCompatibilitySupport will be removed from edk2.
>So remove the usage of this PCD firstly.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>---
> .../Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c | 10 +---------
> .../Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 3 +--
> 2 files changed, 2 insertions(+), 11 deletions(-)
>
>diff --git
>a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
>b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
>index b5f8131f98..366ada935d 100644
>---
>a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
>+++
>b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3Save.c
>@@ -1,10 +1,10 @@
> /** @file
> This is an implementation of the ACPI S3 Save protocol. This is defined in
> S3 boot path specification 0.9.
>
>-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
>@@ -138,14 +138,10 @@ S3Ready (
> if (AlreadyEntered) {
> return EFI_SUCCESS;
> }
> AlreadyEntered = TRUE;
>
>- if (FeaturePcdGet(PcdFrameworkCompatibilitySupport)) {
>- S3ReadyThunkPlatform ();
>- }
>-
> return EFI_SUCCESS;
> }
>
> /**
> The Driver Entry Point.
>@@ -180,14 +176,10 @@ InstallAcpiS3Save (
> mLegacyRegionSize = 0x250;
> } else {
> mLegacyRegionSize = 0x100;
> }
>
>- if (FeaturePcdGet(PcdFrameworkCompatibilitySupport)) {
>- InstallAcpiS3SaveThunk ();
>- }
>-
> Status = gBS->InstallProtocolInterface (
> &ImageHandle,
> &gEfiAcpiS3SaveProtocolGuid,
> EFI_NATIVE_INTERFACE,
> &mS3Save
>diff --git
>a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe
>.inf
>b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe
>.inf
>index 2e4f0868d2..0cfcb8ce53 100644
>---
>a/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe
>.inf
>+++
>b/IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe
>.inf
>@@ -1,9 +1,9 @@
> ## @file
> # AcpiS3Save module installs ACPI S3 Save protocol to prepare S3 boot data.
> #
>-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
>+# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent
> #
> ##
>
>@@ -56,11 +56,10 @@
> ## SOMETIMES_CONSUMES
> gEdkiiVariableLockProtocolGuid
>
> [FeaturePcd]
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport
>## CONSUMES
>- gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
>## CONSUMES
>
> [Pcd]
>
>gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemory
>Size ## SOMETIMES_CONSUMES
> gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable ##
>CONSUMES
>
>--
>2.18.0.windows.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support
2019-04-29 2:15 ` [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Dandan Bi
2019-05-07 5:52 ` [edk2-devel] " Bob Feng
@ 2019-05-07 6:00 ` Liming Gao
1 sibling, 0 replies; 28+ messages in thread
From: Liming Gao @ 2019-05-07 6:00 UTC (permalink / raw)
To: devel@edk2.groups.io, Bi, Dandan; +Cc: Feng, Bob C
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
>Dandan Bi
>Sent: Monday, April 29, 2019 10:16 AM
>To: devel@edk2.groups.io
>Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
>Subject: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove
>framework VFR support
>
>REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
>Currently there is no usage of framework VFR,
>remove the support from VfrCompile.
>
>Cc: Bob Feng <bob.c.feng@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>---
> BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 35 +-----
> BaseTools/Source/C/VfrCompile/VfrCompiler.h | 3 +-
> BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 23 +---
> BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 3 +-
> BaseTools/Source/C/VfrCompile/VfrSyntax.g | 103 +-----------------
> .../Source/C/VfrCompile/VfrUtilityLib.cpp | 52 +--------
> BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 7 +-
> .../VfrCompiler_Utility_Man_Page.rtf | 4 -
> 8 files changed, 15 insertions(+), 215 deletions(-)
>
>diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
>b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
>index c4d4d261ad..5f4d262d85 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
>+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
>@@ -1,10 +1,10 @@
> /** @file
>
> VfrCompiler main class and main function.
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #include "stdio.h"
>@@ -72,11 +72,10 @@ CVfrCompiler::OptionInitialization (
> mOptions.PreprocessorOutputFileName = NULL;
> mOptions.VfrBaseFileName = NULL;
> mOptions.IncludePaths = NULL;
> mOptions.SkipCPreprocessor = TRUE;
> mOptions.CPreprocessorOptions = NULL;
>- mOptions.CompatibleMode = FALSE;
> mOptions.HasOverrideClassGuid = FALSE;
> mOptions.WarningAsError = FALSE;
> mOptions.AutoDefault = FALSE;
> mOptions.CheckDefault = FALSE;
> memset (&mOptions.OverrideClassGuid, 0, sizeof (EFI_GUID));
>@@ -140,12 +139,10 @@ CVfrCompiler::OptionInitialization (
> DebugError (NULL, 0, 1001, "Missing option", "-od - missing C-
>preprocessor argument");
> goto Fail;
> }
>
> AppendCPreprocessorOptions (Argv[Index]);
>- } else if (stricmp(Argv[Index], "-c") == 0 || stricmp(Argv[Index], "--
>compatible-framework") == 0) {
>- mOptions.CompatibleMode = TRUE;
> } else if (stricmp(Argv[Index], "-s") == 0|| stricmp(Argv[Index], "--string-
>db") == 0) {
> Index++;
> if ((Index >= Argc) || (Argv[Index][0] == '-')) {
> DebugError (NULL, 0, 1001, "Missing option", "-s missing input string file
>name");
> goto Fail;
>@@ -559,12 +556,10 @@ CVfrCompiler::Usage (
> " default is current directory",
> " -b, --create-ifr-package",
> " create an IFR HII pack file",
> " -n, --no-pre-processing",
> " do not preprocessing input file",
>- " -c, --compatible-framework",
>- " compatible framework vfr file",
> " -s, --string-db",
> " input uni string package file",
> " -g, --guid",
> " override class guid input",
> " format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
>@@ -683,11 +678,10 @@ CVfrCompiler::Compile (
> if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {
> DebugError (NULL, 0, 0001, "Error opening the input file", "%s", InFileName);
> goto Fail;
> }
>
>- InputInfo.CompatibleMode = mOptions.CompatibleMode;
> if (mOptions.HasOverrideClassGuid) {
> InputInfo.OverrideClassGuid = &mOptions.OverrideClassGuid;
> } else {
> InputInfo.OverrideClassGuid = NULL;
> }
>@@ -773,31 +767,10 @@ CVfrCompiler::AdjustBin (
> //ok
> } else {
> DebugError (NULL, 0, 0001, "Error parsing vfr file", " %s.Buffer not
>allocated.", mOptions.VfrFileName);
> }
>
>- //
>- // For UEFI mode, not do OpCode Adjust
>- //
>- if (mOptions.CompatibleMode) {
>- //
>- // Adjust Opcode to be compatible with framework vfr
>- //
>- Status = gCIfrRecordInfoDB.IfrRecordAdjust ();
>- if (Status != VFR_RETURN_SUCCESS) {
>- //
>- // Record List Adjust Failed
>- //
>- SET_RUN_STATUS (STATUS_FAILED);
>- return;
>- }
>- //
>- // Re get the IfrRecord Buffer.
>- //
>- gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer);
>- }
>-
> return;
> }
>
> VOID
> CVfrCompiler::GenBinary (
>@@ -851,24 +824,20 @@ CVfrCompiler::GenCFile (
>
> if (!IS_RUN_STATUS(STATUS_GENBINARY)) {
> goto Fail;
> }
>
>- if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) {
>+ if (!mOptions.CreateIfrPkgFile) {
> if ((pFile = fopen (LongFilePath (mOptions.COutputFileName), "w")) ==
>NULL) {
> DebugError (NULL, 0, 0001, "Error opening output C file", "%s",
>mOptions.COutputFileName);
> goto Fail;
> }
>
> for (Index = 0; gSourceFileHeader[Index] != NULL; Index++) {
> fprintf (pFile, "%s\n", gSourceFileHeader[Index]);
> }
>
>- if (mOptions.CompatibleMode) {
>- gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName);
>- }
>-
> if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) !=
>VFR_RETURN_SUCCESS) {
> fclose (pFile);
> goto Fail;
> }
> fclose (pFile);
>diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
>b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
>index b8cccca4b0..b6e207d2ce 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h
>+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h
>@@ -1,10 +1,10 @@
> /** @file
>
> VfrCompiler internal definitions.
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #ifndef _VFRCOMPILER_H_
>@@ -45,11 +45,10 @@ typedef struct {
> CHAR8 *PreprocessorOutputFileName;
> CHAR8 *VfrBaseFileName; // name of input VFR file with no path or
>extension
> CHAR8 *IncludePaths;
> bool SkipCPreprocessor;
> CHAR8 *CPreprocessorOptions;
>- BOOLEAN CompatibleMode;
> BOOLEAN HasOverrideClassGuid;
> EFI_GUID OverrideClassGuid;
> BOOLEAN WarningAsError;
> BOOLEAN AutoDefault;
> BOOLEAN CheckDefault;
>diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
>b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
>index 5948dc0883..36d3baaf10 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
>+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
>@@ -1,10 +1,10 @@
> /** @file
>
> The definition of CFormPkg's member function
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #include "stdio.h"
>@@ -442,25 +442,14 @@ CFormPkg::GenCFile (
>
> if ((Ret = BuildPkgHdr(&PkgHdr)) != VFR_RETURN_SUCCESS) {
> return Ret;
> }
>
>- //
>- // For framework vfr file, the extension framework header will be added.
>- //
>- if (VfrCompatibleMode) {
>- fprintf (pFile, " // FRAMEWORK PACKAGE HEADER Length\n");
>- PkgLength = PkgHdr->Length + sizeof (UINT32) + 2;
>- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength,
>sizeof (UINT32));
>- fprintf (pFile, "\n\n // FRAMEWORK PACKAGE HEADER Type\n");
>- PkgLength = 3;
>- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength,
>sizeof (UINT16));
>- } else {
>- fprintf (pFile, " // ARRAY LENGTH\n");
>- PkgLength = PkgHdr->Length + sizeof (UINT32);
>- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength,
>sizeof (UINT32));
>- }
>+
>+ fprintf (pFile, " // ARRAY LENGTH\n");
>+ PkgLength = PkgHdr->Length + sizeof (UINT32);
>+ _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength,
>sizeof (UINT32));
>
> fprintf (pFile, "\n\n // PACKAGE HEADER\n");
> _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)PkgHdr, sizeof
>(EFI_HII_PACKAGE_HEADER));
> PkgLength = sizeof (EFI_HII_PACKAGE_HEADER);
>
>@@ -966,11 +955,11 @@ CFormPkg::DeclarePendingQuestion (
>
> //
> // For undefined Efi VarStore type question
> // Append the extended guided opcode to contain VarName
> //
>- if (VarStoreType == EFI_VFR_VARSTORE_EFI || VfrCompatibleMode) {
>+ if (VarStoreType == EFI_VFR_VARSTORE_EFI) {
> CIfrVarEqName CVNObj (QId, Info.mInfo.mVarName);
> CVNObj.SetLineNo (LineNo);
> }
>
> //
>diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
>b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
>index 68df87ba88..1cea4f0e25 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
>+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
>@@ -1,10 +1,10 @@
> /** @file
>
> The definition of CFormPkg's member function
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #ifndef _EFIIFRCLASS_H_
>@@ -93,11 +93,10 @@ struct SBufferNode {
> CHAR8 *mBufferFree;
> struct SBufferNode *mNext;
> };
>
> typedef struct {
>- BOOLEAN CompatibleMode;
> EFI_GUID *OverrideClassGuid;
> } INPUT_INFO_TO_SYNTAX;
>
> class CFormPkg {
> private:
>diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>index 04fe030b61..24b30e3825 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>@@ -1,9 +1,9 @@
> /*++ @file
> Vfr Syntax
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> --*/
>
> #header<<
>@@ -47,11 +47,10 @@ VfrParserStart (
> IN FILE *File,
> IN INPUT_INFO_TO_SYNTAX *InputInfo
> )
> {
> ParserBlackBox<CVfrDLGLexer, EfiVfrParser, ANTLRToken> VfrParser(File);
>- VfrParser.parser()->SetCompatibleMode (InputInfo->CompatibleMode);
> VfrParser.parser()->SetOverrideClassGuid (InputInfo->OverrideClassGuid);
> return VfrParser.parser()->vfrProgram();
> }
> >>
>
>@@ -673,17 +672,10 @@ vfrFormSetDefinition :
> <<
> _DeclareStandardDefaultStorage (GET_LINENO
>(L));
> >>
> vfrFormSetList
> E:EndFormSet <<
>- if (mCompatibleMode) {
>- //
>- // declare all undefined varstore and efivarstore
>- //
>- _DeclareDefaultFrameworkVarStore
>(GET_LINENO(E));
>- }
>-
> //
> // Declare undefined Question so that they can be
>used in expression.
> //
> if (gCFormPkg.HavePendingUnassigned()) {
> mParserStatus +=
>gCFormPkg.DeclarePendingQuestion (
>@@ -5047,23 +5039,18 @@ public:
>
> VOID _STRCAT (IN OUT CHAR8 **, IN CONST CHAR8 *);
>
> VOID _DeclareDefaultLinearVarStore (IN UINT32);
> VOID _DeclareStandardDefaultStorage (IN UINT32);
>- VOID _DeclareDefaultFrameworkVarStore (IN UINT32);
>
> VOID AssignQuestionKey (IN CIfrQuestionHeader &, IN
>ANTLRTokenPtr);
>
> VOID ConvertIdExpr (IN UINT32 &, IN UINT32, IN
>EFI_QUESTION_ID, IN CHAR8 *, IN UINT32);
> VOID IdEqValDoSpecial (IN UINT32 &, IN UINT32, IN
>EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN
>EFI_COMPARE_TYPE);
> VOID IdEqIdDoSpecial (IN UINT32 &, IN UINT32, IN
>EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *,
>IN UINT32, IN EFI_COMPARE_TYPE);
> VOID IdEqListDoSpecial (IN UINT32 &, IN UINT32, IN
>EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN UINT16 *);
> VOID SetOverrideClassGuid (IN EFI_GUID *);
>-//
>-// For framework vfr compatibility
>-//
>- VOID SetCompatibleMode (IN BOOLEAN);
> >>
> }
>
> <<
> VOID
>@@ -5540,88 +5527,10 @@ EfiVfrParser::_STOR (
> Ref.DevicePath = _STOSID (DevicePath, LineNum);
>
> return Ref;
> }
>
>-//
>-// framework vfr to default declare varstore for each structure
>-//
>-VOID
>-EfiVfrParser::_DeclareDefaultFrameworkVarStore (
>- IN UINT32 LineNo
>- )
>-{
>- SVfrVarStorageNode *pNode;
>- UINT32 TypeSize;
>- BOOLEAN FirstNode;
>- CONST CHAR8 VarName[] = "Setup";
>-
>- FirstNode = TRUE;
>- pNode = gCVfrDataStorage.GetBufferVarStoreList();
>- if (pNode == NULL && gCVfrVarDataTypeDB.mFirstNewDataTypeName !=
>NULL) {
>- //
>- // Create the default Buffer Var Store when no VarStore is defined.
>- // its name should be "Setup"
>- //
>- gCVfrVarDataTypeDB.GetDataTypeSize
>(gCVfrVarDataTypeDB.mFirstNewDataTypeName, &TypeSize);
>- CIfrVarStore VSObj;
>- VSObj.SetLineNo (LineNo);
>- VSObj.SetVarStoreId (0x1); //the first and only one Buffer Var Store
>- VSObj.SetSize ((UINT16) TypeSize);
>- //VSObj.SetName (gCVfrVarDataTypeDB.mFirstNewDataTypeName);
>- VSObj.SetName ((CHAR8 *) VarName);
>- VSObj.SetGuid (&mFormsetGuid);
>-#ifdef VFREXP_DEBUG
>- printf ("Create the default VarStoreName is %s\n",
>gCVfrVarDataTypeDB.mFirstNewDataTypeName);
>-#endif
>- } else {
>- for (; pNode != NULL; pNode = pNode->mNext) {
>- //
>- // create the default varstore opcode for not declared varstore
>- // the first varstore name should be "Setup"
>- //
>- if (!pNode->mAssignedFlag) {
>- CIfrVarStore VSObj;
>- VSObj.SetLineNo (LineNo);
>- VSObj.SetVarStoreId (pNode->mVarStoreId);
>- VSObj.SetSize ((UINT16) pNode->mStorageInfo.mDataType-
>>mTotalSize);
>- if (FirstNode) {
>- VSObj.SetName ((CHAR8 *) VarName);
>- FirstNode = FALSE;
>- } else {
>- VSObj.SetName (pNode->mVarStoreName);
>- }
>- VSObj.SetGuid (&pNode->mGuid);
>-#ifdef VFREXP_DEBUG
>- printf ("undefined VarStoreName is %s and Id is 0x%x\n", pNode-
>>mVarStoreName, pNode->mVarStoreId);
>-#endif
>- }
>- }
>- }
>-
>- pNode = gCVfrDataStorage.GetEfiVarStoreList();
>- for (; pNode != NULL; pNode = pNode->mNext) {
>- //
>- // create the default efi varstore opcode for not exist varstore
>- //
>- if (!pNode->mAssignedFlag) {
>- CIfrVarStoreEfi VSEObj;
>- VSEObj.SetLineNo (LineNo);
>- VSEObj.SetAttributes (0x00000002); //hardcode
>EFI_VARIABLE_BOOTSERVICE_ACCESS attribute
>- VSEObj.SetGuid (&pNode->mGuid);
>- VSEObj.SetVarStoreId (pNode->mVarStoreId);
>- // Generate old efi varstore storage structure for compatible with old
>"VarEqVal" opcode,
>- // which is 3 bytes less than new structure define in UEFI Spec 2.3.1.
>- VSEObj.SetBinaryLength (sizeof (EFI_IFR_VARSTORE_EFI) - 3);
>-#ifdef VFREXP_DEBUG
>- printf ("undefined Efi VarStoreName is %s and Id is 0x%x\n", pNode-
>>mVarStoreName, pNode->mVarStoreId);
>-#endif
>- }
>- }
>-
>-}
>-
> VOID
> EfiVfrParser::_DeclareDefaultLinearVarStore (
> IN UINT32 LineNo
> )
> {
>@@ -5917,20 +5826,10 @@ VOID
> EfiVfrParser::SetOverrideClassGuid (IN EFI_GUID *OverrideClassGuid)
> {
> mOverrideClassGuid = OverrideClassGuid;
> }
>
>-//
>-// For framework vfr compatibility
>-//
>-VOID
>-EfiVfrParser::SetCompatibleMode (IN BOOLEAN Mode)
>-{
>- mCompatibleMode = Mode;
>- mCVfrQuestionDB.SetCompatibleMode (Mode);
>-}
>-
> VOID
> EfiVfrParser::CheckDuplicateDefaultValue (
> IN EFI_DEFAULT_ID DefaultId,
> IN ANTLRTokenPtr Tok
> )
>diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
>b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
>index 9c9c4d4054..2b9b5dbb1c 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
>+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
>@@ -1,10 +1,10 @@
> /** @file
>
> Vfr common library functions.
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #include "stdio.h"
>@@ -757,21 +757,10 @@ CVfrVarDataTypeDB::GetFieldOffset (
> {
> if (Field == NULL) {
> return VFR_RETURN_FATAL_ERROR;
> }
>
>- //
>- // Framework Vfr file Array Index is from 1.
>- // But Uefi Vfr file Array Index is from 0.
>- //
>- if (VfrCompatibleMode && ArrayIdx != INVALID_ARRAY_INDEX) {
>- if (ArrayIdx == 0) {
>- return VFR_RETURN_ERROR_ARRARY_NUM;
>- }
>- ArrayIdx = ArrayIdx - 1;
>- }
>-
> if ((ArrayIdx != INVALID_ARRAY_INDEX) && ((Field->mArrayNum == 0) ||
>(Field->mArrayNum <= ArrayIdx))) {
> return VFR_RETURN_ERROR_ARRARY_NUM;
> }
>
> //
>@@ -1681,21 +1670,11 @@ CVfrDataStorage::GetFreeVarStoreId (
> EFI_VFR_VARSTORE_TYPE VarType
> )
> {
> UINT32 Index, Mask, Offset;
>
>- //
>- // Assign the different ID range for the different type VarStore to support
>Framework Vfr
>- //
> Index = 0;
>- if ((!VfrCompatibleMode) || (VarType == EFI_VFR_VARSTORE_BUFFER)) {
>- Index = 0;
>- } else if (VarType == EFI_VFR_VARSTORE_EFI) {
>- Index = 1;
>- } else if (VarType == EFI_VFR_VARSTORE_NAME) {
>- Index = 2;
>- }
>
> for (; Index < EFI_FREE_VARSTORE_ID_BITMAP_SIZE; Index++) {
> if (mFreeVarStoreIdBitMap[Index] != 0xFFFFFFFF) {
> break;
> }
>@@ -1913,17 +1892,10 @@ CVfrDataStorage::GetVarStoreByDataType (
> )
> {
> SVfrVarStorageNode *pNode;
> SVfrVarStorageNode *MatchNode;
>
>- //
>- // Framework VFR uses Data type name as varstore name, so don't need
>check again.
>- //
>- if (VfrCompatibleMode) {
>- return VFR_RETURN_UNDEFINED;
>- }
>-
> MatchNode = NULL;
> for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext)
>{
> if (strcmp (pNode->mStorageInfo.mDataType->mTypeName,
>DataTypeName) != 0) {
> continue;
> }
>@@ -2287,20 +2259,10 @@ CVfrDataStorage::GetNameVarStoreInfo (
>
> if (mCurrVarStorageNode == NULL) {
> return VFR_RETURN_GET_NVVARSTORE_ERROR;
> }
>
>- //
>- // Framework Vfr file Index is from 1, but Uefi Vfr file Index is from 0.
>- //
>- if (VfrCompatibleMode) {
>- if (Index == 0) {
>- return VFR_RETURN_ERROR_ARRARY_NUM;
>- }
>- Index --;
>- }
>-
> Info->mInfo.mVarName = mCurrVarStorageNode-
>>mStorageInfo.mNameSpace.mNameTable[Index];
>
> return VFR_RETURN_SUCCESS;
> }
>
>@@ -2859,14 +2821,11 @@ CVfrQuestionDB::RegisterQuestion (
> }
>
> if (QuestionId == EFI_QUESTION_ID_INVALID) {
> QuestionId = GetFreeQuestionId ();
> } else {
>- //
>- // For Framework Vfr, don't check question ID conflict.
>- //
>- if (!VfrCompatibleMode && ChekQuestionIdFree (QuestionId) == FALSE) {
>+ if (ChekQuestionIdFree (QuestionId) == FALSE) {
> delete pNode;
> return VFR_RETURN_QUESTIONID_REDEFINED;
> }
> MarkQuestionIdUsed (QuestionId);
> }
>@@ -3366,14 +3325,11 @@ CVfrQuestionDB::UpdateQuestionId (
> if (QId == NewQId) {
> // don't update
> return VFR_RETURN_SUCCESS;
> }
>
>- //
>- // For Framework Vfr, don't check question ID conflict.
>- //
>- if (!VfrCompatibleMode && ChekQuestionIdFree (NewQId) == FALSE) {
>+ if (ChekQuestionIdFree (NewQId) == FALSE) {
> return VFR_RETURN_REDEFINED;
> }
>
> for (pNode = mQuestionList; pNode != NULL; pNode = pNode->mNext) {
> if (pNode->mQuestionId == QId) {
>@@ -3955,12 +3911,10 @@ CVfrStringDB::GetUnicodeStringTextSize (
> }
>
> return StringSize;
> }
>
>-BOOLEAN VfrCompatibleMode = FALSE;
>-
> CVfrVarDataTypeDB gCVfrVarDataTypeDB;
> CVfrDefaultStore gCVfrDefaultStore;
> CVfrDataStorage gCVfrDataStorage;
>
>
>diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
>b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
>index e2b2917e99..57bb0c424d 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
>+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
>@@ -1,10 +1,10 @@
> /** @file
>
> Vfr common library functions.
>
>-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #ifndef _VFRUTILITYLIB_H_
>@@ -13,11 +13,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include "string.h"
> #include "Common/UefiBaseTypes.h"
> #include "EfiVfr.h"
> #include "VfrError.h"
>
>-extern BOOLEAN VfrCompatibleMode;
> static EFI_GUID gEdkiiIfrBitVarGuid = EDKII_IFR_BIT_VARSTORE_GUID;
>
> #define MAX_BIT_WIDTH 32
> #define MAX_NAME_LEN 64
> #define MAX_STRING_LEN 0x100
>@@ -422,14 +421,10 @@ public:
> EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID);
> EFI_VFR_RETURN_CODE FindQuestion (IN CHAR8 *);
> VOID PrintAllQuestion (IN VOID);
> VOID ResetInit (IN VOID);
>
>- VOID SetCompatibleMode (IN BOOLEAN Mode) {
>- VfrCompatibleMode = Mode;
>- }
>-
> private:
> CVfrQuestionDB (IN CONST CVfrQuestionDB&); // Prevent copy-
>construction
> CVfrQuestionDB& operator= (IN CONST CVfrQuestionDB&); // Prevent
>assignment
> };
>
>diff --git a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
>b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
>index fa0beebb9c..2b056f8f26 100644
>--- a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
>+++ b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf
>@@ -145,14 +145,10 @@ The generated file will be placed into the output
>directory sp\hich\af43\dbch\af
> \par }\pard \ltrpar\ql
>\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1
>\ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 -n, --no-pre-processing
> \par }\pard \ltrpar\ql
>\li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0
>{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 Do not preprocess}{\rtlch\fcs1 \af43\afs18
>\ltrch\fcs0
> \fs18\cf1\insrsid2570438 \hich\af43\dbch\af31505\loch\f43 t}{\rtlch\fcs1
>\af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid1204842
>\hich\af43\dbch\af31505\loch\f43 he}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0
>\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43
> input vfr file. The input VFR file has been
>pro\hich\af43\dbch\af31505\loch\f43 cessed. If this option is not specified,
>the default behavior is same to set this option.
> \par }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254
>\hich\af43\dbch\af31505\loch\f43 Selecting this option disables preprocessing
>of VFR files. }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2570438
>-\par }\pard \ltrpar\ql
>\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1
>\ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 -c, --compatible-framework
>-\par }\pard \ltrpar\ql
>\li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0
>{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 Recognize}{\rtlch\fcs1 \af43\afs18
>\ltrch\fcs0 \fs18\cf1\insrsid83254
>-\hich\af43\dbch\af31505\loch\f43 s}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0
>\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 the input VFR
>file is the framework VFR syntax. If this option is
>n\hich\af43\dbch\af31505\loch\f43
>-ot specified, the UEFI syntax is default }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0
>\fs18\cf1\insrsid83254 \hich\af43\dbch\af31505\loch\f43 the VFR }{\rtlch\fcs1
>\af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 syntax.
> \par }\pard \ltrpar\ql
>\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1
>\ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 -h, --help
> \par }\pard \ltrpar\ql
>\fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0
>{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490
>\hich\af43\dbch\af31505\loch\f43 Print version and usage of this program and
>exit.
> \par }\pard \ltrpar\ql
>\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid129319
>70 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0
>\b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 -s,
>--string-db
> \par }\pard \ltrpar\ql
>\fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid1
>2931970 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0
>\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43
>Input uni string package file.
> \par }\pard \ltrpar\ql
>\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid129319
>70 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0
>\b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 -g,
>--guid
>--
>2.18.0.windows.1
>
>
>
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 08/11] SignedCapsulePkg: Remove PcdFrameworkCompatibilitySupport usage
[not found] ` <3C0D5C461C9E904E8F62152F6274C0BB40BD01BF@SHSMSX104.ccr.corp.intel.com>
@ 2019-05-07 6:02 ` Yao, Jiewen
0 siblings, 0 replies; 28+ messages in thread
From: Yao, Jiewen @ 2019-05-07 6:02 UTC (permalink / raw)
To: Bi, Dandan, Zhang, Chao B, devel@edk2.groups.io
Reviewed-by: Jiewen.yao@intel.com
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Dandan Bi
> > Sent: Monday, April 29, 2019 10:16 AM
> > To: devel@edk2.groups.io
> > Cc: Yao, Jiewen <jiewen.yao@intel.com>; Chao
> > Subject: [edk2-devel] [patch 08/11] SignedCapsulePkg: Remove
> > PcdFrameworkCompatibilitySupport usage
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
> >
> > Currently Framework compatibility support is not needed and
> > PcdFrameworkCompatibilitySupport will be removed from edk2.
> > So remove the usage of this PCD firstly.
> >
> > Cc: Jiewen Yao <jiewen.yao@intel.com>
> > Cc: Chao Zhang <chao.b.zhang@intel.com
> > Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> > ---
> > .../Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.c | 6
> +++---
> > .../RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf | 5
> +----
> > 2 files changed, 4 insertions(+), 7 deletions(-)
> >
> > diff --git
> >
> a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oadPei.c
> >
> b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oadPei.c
> > index 29a2cc520c..eda3cc5420 100644
> > ---
> >
> a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oadPei.c
> > +++
> >
> b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oa
> > +++ dPei.c
> > @@ -7,11 +7,11 @@
> > buffer overflow, integer overflow.
> >
> > ProcessRecoveryCapsule(), ProcessFmpCapsuleImage(),
> > ProcessRecoveryImage(),
> > ValidateFmpCapsule() will receive untrusted input and do basic
> validation.
> >
> > -Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
> > +Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> >
> > //
> > @@ -764,11 +764,11 @@ LoadRecoveryCapsule (
> > for (CapsuleInstance = 1; CapsuleInstance <=
> NumberRecoveryCapsules;
> > CapsuleInstance++) {
> > CapsuleSize = 0;
> > Status = DeviceRecoveryPpi->GetRecoveryCapsuleInfo (
> > (EFI_PEI_SERVICES
> **)PeiServices,
> > DeviceRecoveryPpi,
> > -
> FeaturePcdGet(PcdFrameworkCompatibilitySupport) ?
> > CapsuleInstance - 1 : CapsuleInstance,
> > + CapsuleInstance,
> > &CapsuleSize,
> > &CapsuleType
> > );
> > DEBUG ((DEBUG_ERROR, "LoadRecoveryCapsule -
> > GetRecoveryCapsuleInfo (%d - %x) - %r\n", CapsuleInstance, CapsuleSize,
> > Status));
> > if (EFI_ERROR (Status)) {
> > @@ -781,11 +781,11 @@ LoadRecoveryCapsule (
> > continue;
> > }
> > Status = DeviceRecoveryPpi->LoadRecoveryCapsule (
> > (EFI_PEI_SERVICES
> **)PeiServices,
> > DeviceRecoveryPpi,
> > -
> FeaturePcdGet(PcdFrameworkCompatibilitySupport) ?
> > CapsuleInstance - 1 : CapsuleInstance,
> > + CapsuleInstance,
> > CapsuleBuffer
> > );
> > DEBUG ((DEBUG_ERROR, "LoadRecoveryCapsule -
> LoadRecoveryCapsule
> > (%d) - %r\n", CapsuleInstance, Status));
> > if (EFI_ERROR (Status)) {
> > FreePages (CapsuleBuffer, EFI_SIZE_TO_PAGES(CapsuleSize));
> diff --git
> >
> a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oadPei.inf
> >
> b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oadPei.inf
> > index f0f5d21a7a..431b0e1802 100644
> > ---
> >
> a/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oadPei.inf
> > +++
> >
> b/SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleL
> > oa
> > +++ dPei.inf
> > @@ -1,11 +1,11 @@
> > ## @file
> > # Recovery module.
> > #
> > # Load Recovery capsule and install FV.
> > #
> > -# Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2016 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> > #
> > # SPDX-License-Identifier: BSD-2-Clause-Patent # # ## @@
> -54,13 +54,10
> > @@
> >
> > [Pcd]
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdSystemFmpCapsuleImageTypeIdGu
> > id ## CONSUMES
> >
> gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid
> > ## CONSUMES
> >
> > -[FeaturePcd]
> > -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > ## CONSUMES
> > -
> > [depex]
> > gEfiPeiBootInRecoveryModePpiGuid
> >
> > [UserExtensions.TianoCore."ExtraFiles"]
> > RecoveryModuleLoadPeiExtra.uni
> > --
> > 2.18.0.windows.1
> >
> >
> >
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [patch 06/11] MdeModulePkg/Setup: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:16 ` [patch 06/11] MdeModulePkg/Setup: " Dandan Bi
@ 2019-05-07 6:13 ` Dong, Eric
0 siblings, 0 replies; 28+ messages in thread
From: Dong, Eric @ 2019-05-07 6:13 UTC (permalink / raw)
To: Bi, Dandan, devel@edk2.groups.io; +Cc: Gao, Liming
Reviewed-by: Eric Dong <eric.dong@intel.com>
> -----Original Message-----
> From: Bi, Dandan
> Sent: Monday, April 29, 2019 10:16 AM
> To: devel@edk2.groups.io
> Cc: Gao, Liming <liming.gao@intel.com>; Dong, Eric <eric.dong@intel.com>
> Subject: [patch 06/11] MdeModulePkg/Setup: Remove
> PcdFrameworkCompatibilitySupport usage
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility support is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> .../Universal/SetupBrowserDxe/IfrParse.c | 86 +------------------
> .../SetupBrowserDxe/SetupBrowserDxe.inf | 6 +-
> 2 files changed, 2 insertions(+), 90 deletions(-)
>
> diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
> b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
> index 034edb51a7..891b95cf9f 100644
> --- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
> +++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
> @@ -1,9 +1,9 @@
> /** @file
> Parser for IFR binary encoding.
>
> -Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>
> #include "Setup.h"
> @@ -82,80 +82,10 @@ CreateStatement (
> InsertTailList (&Form->StatementListHead, &Statement->Link);
> }
> return Statement;
> }
>
> -/**
> - Convert a numeric value to a Unicode String and insert it to String Package.
> - This string is used as the Unicode Name for the EFI Variable. This is to support
> - the deprecated vareqval opcode.
> -
> - @param FormSet The FormSet.
> - @param Statement The numeric question whose VarStoreInfo.VarName is
> the
> - numeric value which is used to produce the Unicode Name
> - for the EFI Variable.
> -
> - If the Statement is NULL, the ASSERT.
> - If the opcode is not Numeric, then ASSERT.
> -
> - @retval EFI_SUCCESS The funtion always succeeds.
> -**/
> -EFI_STATUS
> -UpdateCheckBoxStringToken (
> - IN CONST FORM_BROWSER_FORMSET *FormSet,
> - IN FORM_BROWSER_STATEMENT *Statement
> - )
> -{
> - CHAR16 Str[MAXIMUM_VALUE_CHARACTERS];
> - EFI_STRING_ID Id;
> -
> - ASSERT (Statement != NULL);
> - ASSERT (Statement->Operand == EFI_IFR_NUMERIC_OP);
> -
> - UnicodeValueToStringS (Str, sizeof (Str), 0, Statement->VarStoreInfo.VarName,
> MAXIMUM_VALUE_CHARACTERS - 1);
> -
> - Id = HiiSetString (FormSet->HiiHandle, 0, Str, NULL);
> - if (Id == 0) {
> - return EFI_OUT_OF_RESOURCES;
> - }
> -
> - Statement->VarStoreInfo.VarName = Id;
> -
> - return EFI_SUCCESS;
> -}
> -
> -/**
> - Check if the next opcode is the EFI_IFR_EXTEND_OP_VAREQNAME.
> -
> - @param OpCodeData The current opcode.
> -
> - @retval TRUE Yes.
> - @retval FALSE No.
> -**/
> -BOOLEAN
> -IsNextOpCodeGuidedVarEqName (
> - IN UINT8 *OpCodeData
> - )
> -{
> - //
> - // Get next opcode
> - //
> - OpCodeData += ((EFI_IFR_OP_HEADER *) OpCodeData)->Length;
> - if (*OpCodeData == EFI_IFR_GUID_OP) {
> - if (CompareGuid (&gEfiIfrFrameworkGuid, (EFI_GUID *)(OpCodeData + sizeof
> (EFI_IFR_OP_HEADER)))) {
> - //
> - // Specific GUIDed opcodes to support IFR generated from Framework HII
> VFR
> - //
> - if ((((EFI_IFR_GUID_VAREQNAME *) OpCodeData)->ExtendOpCode) ==
> EFI_IFR_EXTEND_OP_VAREQNAME) {
> - return TRUE;
> - }
> - }
> - }
> -
> - return FALSE;
> -}
> -
> /**
> Initialize Question's members.
>
> @param OpCodeData Pointer of the raw OpCode data.
> @param FormSet Pointer of the current FormSet.
> @@ -174,11 +104,10 @@ CreateQuestion (
> FORM_BROWSER_STATEMENT *Statement;
> EFI_IFR_QUESTION_HEADER *QuestionHdr;
> LIST_ENTRY *Link;
> FORMSET_STORAGE *Storage;
> NAME_VALUE_NODE *NameValueNode;
> - EFI_STATUS Status;
> BOOLEAN Find;
>
> Statement = CreateStatement (OpCodeData, FormSet, Form);
> if (Statement == NULL) {
> return NULL;
> @@ -196,23 +125,10 @@ CreateQuestion (
> // VarStoreId of zero indicates no variable storage
> //
> return Statement;
> }
>
> - //
> - // Take a look at next OpCode to see whether it is a GUIDed opcode to
> support
> - // Framework Compatibility
> - //
> - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> - if ((*OpCodeData == EFI_IFR_NUMERIC_OP) &&
> IsNextOpCodeGuidedVarEqName (OpCodeData)) {
> - Status = UpdateCheckBoxStringToken (FormSet, Statement);
> - if (EFI_ERROR (Status)) {
> - return NULL;
> - }
> - }
> - }
> -
> //
> // Find Storage for this Question
> //
> Link = GetFirstNode (&FormSet->StorageListHead);
> while (!IsNull (&FormSet->StorageListHead, Link)) { diff --git
> a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> b/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> index a6b9402daa..82db7c1ef1 100644
> --- a/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> +++ b/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
> @@ -1,11 +1,11 @@
> ## @file
> # The DXE driver produces FORM BROWSER2 protocol defined in UEFI
> specification.
> #
> # It also produces FormBrowserEx(2) protocol to let user register the different
> Hot key service.
> #
> -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2007 - 2019, Intel Corporation. All rights
> +reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent # # ## @@ -50,11 +50,10
> @@
> DevicePathLib
> PcdLib
> UefiLib
>
> [Guids]
> - gEfiIfrFrameworkGuid ## SOMETIMES_CONSUMES ## GUID
> gEfiHiiPlatformSetupFormsetGuid ## SOMETIMES_CONSUMES ##
> GUID
> gEfiHiiStandardFormGuid ## SOMETIMES_CONSUMES ## GUID
> gZeroGuid ## SOMETIMES_CONSUMES ## GUID
> gEdkiiIfrBitVarstoreGuid ## SOMETIMES_CONSUMES ## GUID
>
> @@ -71,13 +70,10 @@
> ## NOTIFY
> gEdkiiFormDisplayEngineProtocolGuid
> gEdkiiFormBrowserExProtocolGuid ## PRODUCES
> gEfiRegularExpressionProtocolGuid ## SOMETIMES_CONSUMES
>
> -[FeaturePcd]
> - gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> ## CONSUMES
> -
> [Depex]
> gEfiHiiDatabaseProtocolGuid AND gEfiHiiConfigRoutingProtocolGuid
>
> [UserExtensions.TianoCore."ExtraFiles"]
> SetupBrowserExtra.uni
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
2019-05-06 2:54 ` Wu, Hao A
@ 2019-05-07 7:08 ` Dandan Bi
2019-05-08 8:23 ` Liming Gao
0 siblings, 1 reply; 28+ messages in thread
From: Dandan Bi @ 2019-05-07 7:08 UTC (permalink / raw)
To: Wu, Hao A, devel@edk2.groups.io; +Cc: Gao, Liming, Bi, Dandan
Hi Hao and Liming,
Any comments for this patch itself?
As for whether delete the header definition of EFI_PE32_IMAGE_PROTOCOL , it is another topic. Liming, do you have any comments on this one?
Thanks,
Dandan
> -----Original Message-----
> From: Wu, Hao A
> Sent: Monday, May 6, 2019 10:55 AM
> To: Bi, Dandan <dandan.bi@intel.com>; devel@edk2.groups.io
> Cc: Gao, Liming <liming.gao@intel.com>
> Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> PcdFrameworkCompatibilitySupport usage
>
> > -----Original Message-----
> > From: Bi, Dandan
> > Sent: Monday, May 06, 2019 10:48 AM
> > To: Wu, Hao A; devel@edk2.groups.io
> > Cc: Gao, Liming; Bi, Dandan
> > Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > PcdFrameworkCompatibilitySupport usage
> >
> > > -----Original Message-----
> > > From: Wu, Hao A
> > > Sent: Monday, May 6, 2019 9:23 AM
> > > To: devel@edk2.groups.io; Bi, Dandan <dandan.bi@intel.com>
> > > Cc: Gao, Liming <liming.gao@intel.com>
> > > Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > > PcdFrameworkCompatibilitySupport usage
> > >
> > > > -----Original Message-----
> > > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf
> > > > Of Dandan Bi
> > > > Sent: Monday, April 29, 2019 10:16 AM
> > > > To: devel@edk2.groups.io
> > > > Cc: Gao, Liming
> > > > Subject: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > > > PcdFrameworkCompatibilitySupport usage
> > > >
> > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
> > > >
> > > > Currently Framework compatibility is not needed and
> > > > PcdFrameworkCompatibilitySupport will be removed from edk2.
> > > > So remove the usage of this PCD firstly.
> > > >
> > > > Cc: Liming Gao <liming.gao@intel.com>
> > > > Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> > > > ---
> > > > MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
> > > > MdeModulePkg/Core/Dxe/Image/Image.c | 132
> > > > +--------------------------- MdeModulePkg/Core/Dxe/Image/Image.h
> > > > +|
> > > > 85 +----------------- MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65
> > > > ----------
> > > ----
> > > > MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
> > > > 5 files changed, 3 insertions(+), 286 deletions(-)
> > > >
> > > > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > > b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > > index 8dee5bee0a..61161bee28 100644
> > > > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > > > @@ -1,11 +1,11 @@
> > > > ## @file
> > > > # This is core module in DXE phase.
> > > > #
> > > > # It provides an implementation of DXE Core that is compliant
> > > > with DXE
> > CIS.
> > > > #
> > > > -# Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > > reserved.<BR>
> > > > +# Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > > +reserved.<BR>
> > > > # SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> > > >
> > > > [Defines]
> > > > @@ -130,11 +130,10 @@
> > > >
> > > > [Protocols]
> > > > ## PRODUCES
> > > > ## SOMETIMES_CONSUMES
> > > > gEfiDecompressProtocolGuid
> > > > - gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES
> #
> > > > Produces when PcdFrameworkCompatibilitySupport is set
> > >
> > > A couple of questions.
> > >
> > > Is '#include <Protocol/LoadPe32Image.h>' in
> > > MdeModulePkg\Core\Dxe\DxeMain.h still needed?
> > >
> > > Can we remove EFI_PE32_IMAGE_PROTOCOL altogether? Seems to me
> there
> > > is no other consumer within edk2.
> > >
> > > Best Regards,
> > > Hao Wu
> >
> > Hi Hao,
> >
> > 1. Yes, since following definitions in <Protocol/LoadPe32Image.h> are
> > still used in MdeModulePkg\Core\Dxe\Image\Image.c
> > #define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION
> > 0x01
> > #define
> >
> EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRA
> TIO
> > N 0x02
>
> OK. I overlooked that these definitions are still being used.
>
> >
> > 2. I also think we can remove this protocol, but I prefer a separate
> > patch (not covered by this patch series) to remove it and solve the
> > dependency issue in 1 together. Is it OK to you?
>
> As point 1 mentioned above, I think the protocol should be kept to preserve
> the definitions.
>
> Maybe Liming will have some comments on this.
>
> Best Regards,
> Hao Wu
>
> >
> > Thanks,
> > Dandan
> > >
> > > > gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
> > > > gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
> > > > gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
> > > > gEfiBusSpecificDriverOverrideProtocolGuid ##
> > SOMETIMES_CONSUMES
> > > > gEfiDriverFamilyOverrideProtocolGuid ##
> SOMETIMES_CONSUMES
> > > > @@ -171,13 +170,10 @@
> > > > gEfiVariableWriteArchProtocolGuid ## CONSUMES
> > > > gEfiVariableArchProtocolGuid ## CONSUMES
> > > > gEfiCapsuleArchProtocolGuid ## CONSUMES
> > > > gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
> > > >
> > > > -[FeaturePcd]
> > > > -
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > > > ## CONSUMES
> > > > -
> > > > [Pcd]
> > > >
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> > > Nu
> > > > mber ## SOMETIMES_CONSUMES
> > > >
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> > > um
> > > > ber ## SOMETIMES_CONSUMES
> > > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > > > ## CONSUMES
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress
> > > > ## CONSUMES
> > > > diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
> > > > b/MdeModulePkg/Core/Dxe/Image/Image.c
> > > > index de5b8bed27..22a87ecf6d 100644
> > > > --- a/MdeModulePkg/Core/Dxe/Image/Image.c
> > > > +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
> > > > @@ -1,9 +1,9 @@
> > > > /** @file
> > > > Core image handling services to load and unload PeImage.
> > > >
> > > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > > reserved.<BR>
> > > > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > > +reserved.<BR>
> > > > SPDX-License-Identifier: BSD-2-Clause-Patent
> > > >
> > > > **/
> > > >
> > > > #include "DxeMain.h"
> > > > @@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > > > // // Module Globals // LOADED_IMAGE_PRIVATE_DATA
> > > > *mCurrentImage
> > > =
> > > > NULL;
> > > >
> > > > -LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
> > > > - LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
> > > > - NULL,
> > > > - {
> > > > - CoreLoadImageEx,
> > > > - CoreUnloadImageEx
> > > > - }
> > > > -};
> > > > -
> > > > typedef struct {
> > > > LIST_ENTRY Link;
> > > > EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *Emulator;
> > > > UINT16 MachineType;
> > > > } EMULATOR_ENTRY;
> > > > @@ -274,22 +265,10 @@ CoreInitializeImageServices (
> > > > );
> > > > ASSERT_EFI_ERROR(Status);
> > > >
> > > > InitializeListHead (&mAvailableEmulators);
> > > >
> > > > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > > > - //
> > > > - // Export DXE Core PE Loader functionality for backward compatibility.
> > > > - //
> > > > - Status = CoreInstallProtocolInterface (
> > > > - &mLoadPe32PrivateData.Handle,
> > > > - &gEfiLoadPeImageProtocolGuid,
> > > > - EFI_NATIVE_INTERFACE,
> > > > - &mLoadPe32PrivateData.Pe32Image
> > > > - );
> > > > - }
> > > > -
> > > > ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
> > > >
> > > > return Status;
> > > > }
> > > >
> > > > @@ -1564,96 +1543,10 @@ CoreLoadImage (
> > > > PERF_LOAD_IMAGE_END (Handle);
> > > >
> > > > return Status;
> > > > }
> > > >
> > > > -
> > > > -
> > > > -/**
> > > > - Loads an EFI image into memory and returns a handle to the
> > > > image with extended parameters.
> > > > -
> > > > - @param This Calling context
> > > > - @param ParentImageHandle The caller's image handle.
> > > > - @param FilePath The specific file path from which the image
> is
> > > > - loaded.
> > > > - @param SourceBuffer If not NULL, a pointer to the memory
> > > location
> > > > - containing a copy of the image to be loaded.
> > > > - @param SourceSize The size in bytes of SourceBuffer.
> > > > - @param DstBuffer The buffer to store the image.
> > > > - @param NumberOfPages For input, specifies the space size of
> the
> > > > - image by caller if not NULL. For output,
> > > > - specifies the actual space size needed.
> > > > - @param ImageHandle Image handle for output.
> > > > - @param EntryPoint Image entry point for output.
> > > > - @param Attribute The bit mask of attributes to set for the
> load
> > > > - PE image.
> > > > -
> > > > - @retval EFI_SUCCESS The image was loaded into memory.
> > > > - @retval EFI_NOT_FOUND The FilePath was not found.
> > > > - @retval EFI_INVALID_PARAMETER One of the parameters has an
> invalid
> > > > value.
> > > > - @retval EFI_UNSUPPORTED The image type is not supported, or
> the
> > > > device
> > > > - path cannot be parsed to locate the proper
> > > > - protocol for loading the file.
> > > > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
> > > insufficient
> > > > - resources.
> > > > - @retval EFI_LOAD_ERROR Image was not loaded because the
> > image
> > > > format was corrupt or not
> > > > - understood.
> > > > - @retval EFI_DEVICE_ERROR Image was not loaded because the
> > > device
> > > > returned a read error.
> > > > - @retval EFI_ACCESS_DENIED Image was not loaded because the
> > > platform
> > > > policy prohibits the
> > > > - image from being loaded. NULL is returned in
> > > > *ImageHandle.
> > > > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
> > > ImageHandle
> > > > was created with a
> > > > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > > > current
> > > > - platform policy specifies that the image should not be
> > > > started.
> > > > -
> > > > -**/
> > > > -EFI_STATUS
> > > > -EFIAPI
> > > > -CoreLoadImageEx (
> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > > - IN EFI_HANDLE ParentImageHandle,
> > > > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> > > > - IN VOID *SourceBuffer OPTIONAL,
> > > > - IN UINTN SourceSize,
> > > > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> > > > - OUT UINTN *NumberOfPages OPTIONAL,
> > > > - OUT EFI_HANDLE *ImageHandle,
> > > > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> > > > - IN UINT32 Attribute
> > > > - )
> > > > -{
> > > > - EFI_STATUS Status;
> > > > - EFI_HANDLE Handle;
> > > > -
> > > > - PERF_LOAD_IMAGE_BEGIN (NULL);
> > > > -
> > > > - Status = CoreLoadImageCommon (
> > > > - TRUE,
> > > > - ParentImageHandle,
> > > > - FilePath,
> > > > - SourceBuffer,
> > > > - SourceSize,
> > > > - DstBuffer,
> > > > - NumberOfPages,
> > > > - ImageHandle,
> > > > - EntryPoint,
> > > > - Attribute
> > > > - );
> > > > -
> > > > - Handle = NULL;
> > > > - if (!EFI_ERROR (Status)) {
> > > > - //
> > > > - // ImageHandle will be valid only Status is success.
> > > > - //
> > > > - Handle = *ImageHandle;
> > > > - }
> > > > -
> > > > - PERF_LOAD_IMAGE_END (Handle);
> > > > -
> > > > - return Status;
> > > > -}
> > > > -
> > > > -
> > > > /**
> > > > Transfer control to a loaded image's entry point.
> > > >
> > > > @param ImageHandle Handle of image to be started.
> > > > @param ExitDataSize Pointer of the size to ExitData
> > > > @@ -2010,28 +1903,5 @@ CoreUnloadImage (
> > > > }
> > > >
> > > > Done:
> > > > return Status;
> > > > }
> > > > -
> > > > -
> > > > -
> > > > -/**
> > > > - Unload the specified image.
> > > > -
> > > > - @param This Indicates the calling context.
> > > > - @param ImageHandle The specified image handle.
> > > > -
> > > > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> > > > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
> > > image.
> > > > - @retval EFI_SUCCESS Image successfully unloaded.
> > > > -
> > > > -**/
> > > > -EFI_STATUS
> > > > -EFIAPI
> > > > -CoreUnloadImageEx (
> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > > - IN EFI_HANDLE ImageHandle
> > > > - )
> > > > -{
> > > > - return CoreUnloadImage (ImageHandle); -} diff --git
> > > > a/MdeModulePkg/Core/Dxe/Image/Image.h
> > > > b/MdeModulePkg/Core/Dxe/Image/Image.h
> > > > index 6020a27371..e9c44ab2a7 100644
> > > > --- a/MdeModulePkg/Core/Dxe/Image/Image.h
> > > > +++ b/MdeModulePkg/Core/Dxe/Image/Image.h
> > > > @@ -1,30 +1,17 @@
> > > > /** @file
> > > > Data structure and functions to load and unload PeImage.
> > > >
> > > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > > reserved.<BR>
> > > > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > > +reserved.<BR>
> > > > SPDX-License-Identifier: BSD-2-Clause-Patent
> > > >
> > > > **/
> > > >
> > > >
> > > > #ifndef _IMAGE_H_
> > > > #define _IMAGE_H_
> > > >
> > > > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE
> > > > SIGNATURE_32('l','p','e','i')
> > > > -
> > > > -typedef struct {
> > > > - UINTN Signature;
> > > > - /// Image handle
> > > > - EFI_HANDLE Handle;
> > > > - EFI_PE32_IMAGE_PROTOCOL Pe32Image;
> > > > -} LOAD_PE32_IMAGE_PRIVATE_DATA;
> > > > -
> > > > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
> > > > - CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image,
> > > > LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
> > > > -
> > > > -
> > > > //
> > > > // Private Data Types
> > > > //
> > > > #define IMAGE_FILE_HANDLE_SIGNATURE
> SIGNATURE_32('i','m','g','f')
> > > > typedef struct {
> > > > @@ -32,76 +19,6 @@ typedef struct {
> > > > BOOLEAN FreeBuffer;
> > > > VOID *Source;
> > > > UINTN SourceSize;
> > > > } IMAGE_FILE_HANDLE;
> > > >
> > > > -/**
> > > > - Loads an EFI image into memory and returns a handle to the
> > > > image with extended parameters.
> > > > -
> > > > - @param This Calling context
> > > > - @param ParentImageHandle The caller's image handle.
> > > > - @param FilePath The specific file path from which the image
> is
> > > > - loaded.
> > > > - @param SourceBuffer If not NULL, a pointer to the memory
> > > location
> > > > - containing a copy of the image to be loaded.
> > > > - @param SourceSize The size in bytes of SourceBuffer.
> > > > - @param DstBuffer The buffer to store the image.
> > > > - @param NumberOfPages For input, specifies the space size of
> the
> > > > - image by caller if not NULL. For output,
> > > > - specifies the actual space size needed.
> > > > - @param ImageHandle Image handle for output.
> > > > - @param EntryPoint Image entry point for output.
> > > > - @param Attribute The bit mask of attributes to set for the
> load
> > > > - PE image.
> > > > -
> > > > - @retval EFI_SUCCESS The image was loaded into memory.
> > > > - @retval EFI_NOT_FOUND The FilePath was not found.
> > > > - @retval EFI_INVALID_PARAMETER One of the parameters has an
> invalid
> > > > value.
> > > > - @retval EFI_UNSUPPORTED The image type is not supported, or
> the
> > > > device
> > > > - path cannot be parsed to locate the proper
> > > > - protocol for loading the file.
> > > > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
> > > insufficient
> > > > - resources.
> > > > - @retval EFI_LOAD_ERROR Image was not loaded because the
> > image
> > > > format was corrupt or not
> > > > - understood.
> > > > - @retval EFI_DEVICE_ERROR Image was not loaded because the
> > > device
> > > > returned a read error.
> > > > - @retval EFI_ACCESS_DENIED Image was not loaded because the
> > > platform
> > > > policy prohibits the
> > > > - image from being loaded. NULL is returned in
> > > > *ImageHandle.
> > > > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
> > > ImageHandle
> > > > was created with a
> > > > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > > > current
> > > > - platform policy specifies that the image should not be
> > > > started.
> > > > -
> > > > -**/
> > > > -EFI_STATUS
> > > > -EFIAPI
> > > > -CoreLoadImageEx (
> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > > - IN EFI_HANDLE ParentImageHandle,
> > > > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
> > > > - IN VOID *SourceBuffer OPTIONAL,
> > > > - IN UINTN SourceSize,
> > > > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
> > > > - OUT UINTN *NumberOfPages OPTIONAL,
> > > > - OUT EFI_HANDLE *ImageHandle,
> > > > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
> > > > - IN UINT32 Attribute
> > > > - );
> > > > -
> > > > -
> > > > -/**
> > > > - Unload the specified image.
> > > > -
> > > > - @param This Indicates the calling context.
> > > > - @param ImageHandle The specified image handle.
> > > > -
> > > > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
> > > > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
> > > image.
> > > > - @retval EFI_SUCCESS Image successfully unloaded.
> > > > -
> > > > -**/
> > > > -EFI_STATUS
> > > > -EFIAPI
> > > > -CoreUnloadImageEx (
> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
> > > > - IN EFI_HANDLE ImageHandle
> > > > - );
> > > > #endif
> > > > diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > > b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > > index f817ba04e2..709db00694 100644
> > > > --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > > +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > > > @@ -1092,19 +1092,10 @@ PeiFfsFindNextFile ( {
> > > > PEI_CORE_FV_HANDLE *CoreFvHandle;
> > > >
> > > > CoreFvHandle = FvHandleToCoreHandle (FvHandle);
> > > >
> > > > - //
> > > > - // To make backward compatiblity, if can not find corresponding
> > > > the handle of FV
> > > > - // then treat FV as build-in FFS2/FFS3 format and memory mapped
> > > > FV that FV handle is pointed
> > > > - // to the address of first byte of FV.
> > > > - //
> > > > - if ((CoreFvHandle == NULL) && FeaturePcdGet
> > > > (PcdFrameworkCompatibilitySupport)) {
> > > > - return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
> > > > - }
> > > > -
> > > > if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
> > > > return EFI_NOT_FOUND;
> > > > }
> > > >
> > > > return CoreFvHandle->FvPpi->FindFileByType
> > > > (CoreFvHandle->FvPpi, SearchType, FvHandle, FileHandle); @@
> > > > -2109,66 +2100,10 @@ PEI_CORE_FV_HANDLE *
> FindNextCoreFvHandle (
> > > > IN PEI_CORE_INSTANCE *Private,
> > > > IN UINTN Instance
> > > > )
> > > > {
> > > > - UINTN Index;
> > > > - BOOLEAN Match;
> > > > - EFI_HOB_FIRMWARE_VOLUME *FvHob;
> > > > -
> > > > - //
> > > > - // Handle Framework FvHob and Install FvInfo Ppi for it.
> > > > - //
> > > > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > > > - //
> > > > - // Loop to search the wanted FirmwareVolume which supports FFS
> > > > - //
> > > > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob
> > > (EFI_HOB_TYPE_FV);
> > > > - while (FvHob != NULL) {
> > > > - //
> > > > - // Search whether FvHob has been installed into PeiCore's FV
> database.
> > > > - // If found, no need install new FvInfoPpi for it.
> > > > - //
> > > > - for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++) {
> > > > - if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress == Private-
> > > > >Fv[Index].FvHeader) {
> > > > - Match = TRUE;
> > > > - break;
> > > > - }
> > > > - }
> > > > -
> > > > - //
> > > > - // Search whether FvHob has been cached into PeiCore's Unknown
> FV
> > > > database.
> > > > - // If found, no need install new FvInfoPpi for it.
> > > > - //
> > > > - if (!Match) {
> > > > - for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++) {
> > > > - if ((UINTN)FvHob->BaseAddress == (UINTN)Private-
> > > > >UnknownFvInfo[Index].FvInfo) {
> > > > - Match = TRUE;
> > > > - break;
> > > > - }
> > > > - }
> > > > - }
> > > > -
> > > > - //
> > > > - // If the Fv in FvHob has not been installed into PeiCore's FV
> database
> > > and
> > > > has
> > > > - // not been cached into PeiCore's Unknown FV database, install a
> new
> > > > FvInfoPpi
> > > > - // for it then PeiCore will dispatch it in callback of FvInfoPpi.
> > > > - //
> > > > - if (!Match) {
> > > > - PeiServicesInstallFvInfoPpi (
> > > > - &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob-
> > > >BaseAddress)-
> > > > >FileSystemGuid),
> > > > - (VOID *)(UINTN)FvHob->BaseAddress,
> > > > - (UINT32)FvHob->Length,
> > > > - NULL,
> > > > - NULL
> > > > - );
> > > > - }
> > > > -
> > > > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob
> > > > (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob-
> > > >Header.HobLength));
> > > > - }
> > > > - }
> > > > -
> > > > if (Instance >= Private->FvCount) {
> > > > return NULL;
> > > > }
> > > >
> > > > return &Private->Fv[Instance];
> > > > diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf
> > > > b/MdeModulePkg/Core/Pei/PeiMain.inf
> > > > index c8a6d5b80b..7c482dacfc 100644
> > > > --- a/MdeModulePkg/Core/Pei/PeiMain.inf
> > > > +++ b/MdeModulePkg/Core/Pei/PeiMain.inf
> > > > @@ -100,11 +100,10 @@
> > > > gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
> > > >
> > > > [Pcd]
> > > > gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize
> > > > ## CONSUMES
> > > >
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSecti
> > > onFi
> > > > rst ## CONSUMES
> > > > -
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > > > ## CONSUMES
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumb
> > > er
> > > > ## SOMETIMES_CONSUMES
> > > >
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> > > Nu
> > > > mber ## SOMETIMES_CONSUMES
> > > >
> > > >
> > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> > > um
> > > > ber ## SOMETIMES_CONSUMES
> > > >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > > > ## CONSUMES
> > > > gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot
> > > > ## CONSUMES
> > > > --
> > > > 2.18.0.windows.1
> > > >
> > > >
> > > >
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [patch 10/11] Vlv2TbltDevicePkg: Remove PcdFrameworkCompatibilitySupport usage
2019-04-29 2:16 ` [patch 10/11] Vlv2TbltDevicePkg: " Dandan Bi
@ 2019-05-07 8:35 ` Sun, Zailiang
0 siblings, 0 replies; 28+ messages in thread
From: Sun, Zailiang @ 2019-05-07 8:35 UTC (permalink / raw)
To: Bi, Dandan, devel@edk2.groups.io; +Cc: Qian, Yi
Reviewed-by: Zailiang Sun <zailiang.sun@intel.com>
> -----Original Message-----
> From: Bi, Dandan
> Sent: Monday, April 29, 2019 10:16 AM
> To: devel@edk2.groups.io
> Cc: Sun, Zailiang <zailiang.sun@intel.com>; Qian, Yi <yi.qian@intel.com>
> Subject: [patch 10/11] Vlv2TbltDevicePkg: Remove
> PcdFrameworkCompatibilitySupport usage
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
> Currently Framework compatibility support is not needed and
> PcdFrameworkCompatibilitySupport will be removed from edk2.
> So remove the usage of this PCD firstly.
>
> Cc: Zailiang Sun <zailiang.sun@intel.com>
> Cc: Yi Qian <yi.qian@intel.com>
> Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> ---
> Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 3 +--
> Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 3 +--
> Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 3 +--
> 3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
> b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
> index b3642c5c7a..96e77d54e8 100644
> --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
> +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
> @@ -1,9 +1,9 @@
> #/** @file
> # Platform description.
> #
> -# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2012 - 2019, Intel Corporation. All rights
> +reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent # # #**/ @@ -489,11
> +489,10 @@ !if $(CAPSULE_RESET_ENABLE) == TRUE
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
> !else
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALS
> E
> !endif
> -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|T
> RUE
> gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
> !if $(DATAHUB_STATUS_CODE_ENABLE) == TRUE
>
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub
> |TRUE
> !else
>
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub
> |FALSE
> diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> index 28e6f5a181..114353082b 100644
> --- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> +++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
> @@ -1,9 +1,9 @@
> #/** @file
> # Platform description.
> #
> -# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2012 - 2019, Intel Corporation. All rights
> +reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent # # #**/ @@ -491,11
> +491,10 @@ !if $(CAPSULE_RESET_ENABLE) == TRUE
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
> !else
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALS
> E
> !endif
> -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|T
> RUE
> gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
> !if $(DATAHUB_STATUS_CODE_ENABLE) == TRUE
>
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub
> |TRUE
> !else
>
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub
> |FALSE
> diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
> b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
> index f9ba56ef4b..20fdc691cb 100644
> --- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
> +++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
> @@ -1,9 +1,9 @@
> #/** @file
> # Platform description.
> #
> -# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2012 - 2019, Intel Corporation. All rights
> +reserved.<BR>
> #
> # SPDX-License-Identifier: BSD-2-Clause-Patent # # #**/ @@ -491,11
> +491,10 @@ !if $(CAPSULE_RESET_ENABLE) == TRUE
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE
> !else
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALS
> E
> !endif
> -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport|T
> RUE
> gEfiCpuTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
> !if $(DATAHUB_STATUS_CODE_ENABLE) == TRUE
>
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub
> |TRUE
> !else
>
> gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub
> |FALSE
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage
2019-05-07 7:08 ` Dandan Bi
@ 2019-05-08 8:23 ` Liming Gao
0 siblings, 0 replies; 28+ messages in thread
From: Liming Gao @ 2019-05-08 8:23 UTC (permalink / raw)
To: Bi, Dandan, Wu, Hao A, devel@edk2.groups.io
Dandan:
I am OK to submit the separate BZ to remove the header definition of EFI_PE32_IMAGE_PROTOCOL.
For this patch, the change is good. Reviewed-by: Liming Gao <liming.gao@intel.com>
Thanks
Liming
>-----Original Message-----
>From: Bi, Dandan
>Sent: Tuesday, May 07, 2019 3:08 PM
>To: Wu, Hao A <hao.a.wu@intel.com>; devel@edk2.groups.io
>Cc: Gao, Liming <liming.gao@intel.com>; Bi, Dandan <dandan.bi@intel.com>
>Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
>PcdFrameworkCompatibilitySupport usage
>
>Hi Hao and Liming,
>
>Any comments for this patch itself?
>As for whether delete the header definition of EFI_PE32_IMAGE_PROTOCOL ,
>it is another topic. Liming, do you have any comments on this one?
>
>Thanks,
>Dandan
>> -----Original Message-----
>> From: Wu, Hao A
>> Sent: Monday, May 6, 2019 10:55 AM
>> To: Bi, Dandan <dandan.bi@intel.com>; devel@edk2.groups.io
>> Cc: Gao, Liming <liming.gao@intel.com>
>> Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
>> PcdFrameworkCompatibilitySupport usage
>>
>> > -----Original Message-----
>> > From: Bi, Dandan
>> > Sent: Monday, May 06, 2019 10:48 AM
>> > To: Wu, Hao A; devel@edk2.groups.io
>> > Cc: Gao, Liming; Bi, Dandan
>> > Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
>> > PcdFrameworkCompatibilitySupport usage
>> >
>> > > -----Original Message-----
>> > > From: Wu, Hao A
>> > > Sent: Monday, May 6, 2019 9:23 AM
>> > > To: devel@edk2.groups.io; Bi, Dandan <dandan.bi@intel.com>
>> > > Cc: Gao, Liming <liming.gao@intel.com>
>> > > Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
>> > > PcdFrameworkCompatibilitySupport usage
>> > >
>> > > > -----Original Message-----
>> > > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On
>Behalf
>> > > > Of Dandan Bi
>> > > > Sent: Monday, April 29, 2019 10:16 AM
>> > > > To: devel@edk2.groups.io
>> > > > Cc: Gao, Liming
>> > > > Subject: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
>> > > > PcdFrameworkCompatibilitySupport usage
>> > > >
>> > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>> > > >
>> > > > Currently Framework compatibility is not needed and
>> > > > PcdFrameworkCompatibilitySupport will be removed from edk2.
>> > > > So remove the usage of this PCD firstly.
>> > > >
>> > > > Cc: Liming Gao <liming.gao@intel.com>
>> > > > Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>> > > > ---
>> > > > MdeModulePkg/Core/Dxe/DxeMain.inf | 6 +-
>> > > > MdeModulePkg/Core/Dxe/Image/Image.c | 132
>> > > > +--------------------------- MdeModulePkg/Core/Dxe/Image/Image.h
>> > > > +|
>> > > > 85 +----------------- MdeModulePkg/Core/Pei/FwVol/FwVol.c | 65
>> > > > ----------
>> > > ----
>> > > > MdeModulePkg/Core/Pei/PeiMain.inf | 1 -
>> > > > 5 files changed, 3 insertions(+), 286 deletions(-)
>> > > >
>> > > > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
>> > > > b/MdeModulePkg/Core/Dxe/DxeMain.inf
>> > > > index 8dee5bee0a..61161bee28 100644
>> > > > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
>> > > > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
>> > > > @@ -1,11 +1,11 @@
>> > > > ## @file
>> > > > # This is core module in DXE phase.
>> > > > #
>> > > > # It provides an implementation of DXE Core that is compliant
>> > > > with DXE
>> > CIS.
>> > > > #
>> > > > -# Copyright (c) 2006 - 2018, Intel Corporation. All rights
>> > > > reserved.<BR>
>> > > > +# Copyright (c) 2006 - 2019, Intel Corporation. All rights
>> > > > +reserved.<BR>
>> > > > # SPDX-License-Identifier: BSD-2-Clause-Patent # ##
>> > > >
>> > > > [Defines]
>> > > > @@ -130,11 +130,10 @@
>> > > >
>> > > > [Protocols]
>> > > > ## PRODUCES
>> > > > ## SOMETIMES_CONSUMES
>> > > > gEfiDecompressProtocolGuid
>> > > > - gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES
>> #
>> > > > Produces when PcdFrameworkCompatibilitySupport is set
>> > >
>> > > A couple of questions.
>> > >
>> > > Is '#include <Protocol/LoadPe32Image.h>' in
>> > > MdeModulePkg\Core\Dxe\DxeMain.h still needed?
>> > >
>> > > Can we remove EFI_PE32_IMAGE_PROTOCOL altogether? Seems to me
>> there
>> > > is no other consumer within edk2.
>> > >
>> > > Best Regards,
>> > > Hao Wu
>> >
>> > Hi Hao,
>> >
>> > 1. Yes, since following definitions in <Protocol/LoadPe32Image.h> are
>> > still used in MdeModulePkg\Core\Dxe\Image\Image.c
>> > #define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION
>> > 0x01
>> > #define
>> >
>> EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRA
>> TIO
>> > N 0x02
>>
>> OK. I overlooked that these definitions are still being used.
>>
>> >
>> > 2. I also think we can remove this protocol, but I prefer a separate
>> > patch (not covered by this patch series) to remove it and solve the
>> > dependency issue in 1 together. Is it OK to you?
>>
>> As point 1 mentioned above, I think the protocol should be kept to preserve
>> the definitions.
>>
>> Maybe Liming will have some comments on this.
>>
>> Best Regards,
>> Hao Wu
>>
>> >
>> > Thanks,
>> > Dandan
>> > >
>> > > > gEfiSimpleFileSystemProtocolGuid ##
>SOMETIMES_CONSUMES
>> > > > gEfiLoadFileProtocolGuid ## SOMETIMES_CONSUMES
>> > > > gEfiLoadFile2ProtocolGuid ## SOMETIMES_CONSUMES
>> > > > gEfiBusSpecificDriverOverrideProtocolGuid ##
>> > SOMETIMES_CONSUMES
>> > > > gEfiDriverFamilyOverrideProtocolGuid ##
>> SOMETIMES_CONSUMES
>> > > > @@ -171,13 +170,10 @@
>> > > > gEfiVariableWriteArchProtocolGuid ## CONSUMES
>> > > > gEfiVariableArchProtocolGuid ## CONSUMES
>> > > > gEfiCapsuleArchProtocolGuid ## CONSUMES
>> > > > gEfiWatchdogTimerArchProtocolGuid ## CONSUMES
>> > > >
>> > > > -[FeaturePcd]
>> > > > -
>> > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
>> > > > ## CONSUMES
>> > > > -
>> > > > [Pcd]
>> > > >
>> > > >
>> > >
>>
>gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
>> > > Nu
>> > > > mber ## SOMETIMES_CONSUMES
>> > > >
>> > > >
>> > >
>>
>gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
>> > > um
>> > > > ber ## SOMETIMES_CONSUMES
>> > > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
>> > > > ## CONSUMES
>> > > >
>> > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress
>> > > > ## CONSUMES
>> > > > diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
>> > > > b/MdeModulePkg/Core/Dxe/Image/Image.c
>> > > > index de5b8bed27..22a87ecf6d 100644
>> > > > --- a/MdeModulePkg/Core/Dxe/Image/Image.c
>> > > > +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
>> > > > @@ -1,9 +1,9 @@
>> > > > /** @file
>> > > > Core image handling services to load and unload PeImage.
>> > > >
>> > > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
>> > > > reserved.<BR>
>> > > > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
>> > > > +reserved.<BR>
>> > > > SPDX-License-Identifier: BSD-2-Clause-Patent
>> > > >
>> > > > **/
>> > > >
>> > > > #include "DxeMain.h"
>> > > > @@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>> > > > // // Module Globals // LOADED_IMAGE_PRIVATE_DATA
>> > > > *mCurrentImage
>> > > =
>> > > > NULL;
>> > > >
>> > > > -LOAD_PE32_IMAGE_PRIVATE_DATA mLoadPe32PrivateData = {
>> > > > - LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
>> > > > - NULL,
>> > > > - {
>> > > > - CoreLoadImageEx,
>> > > > - CoreUnloadImageEx
>> > > > - }
>> > > > -};
>> > > > -
>> > > > typedef struct {
>> > > > LIST_ENTRY Link;
>> > > > EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL *Emulator;
>> > > > UINT16 MachineType;
>> > > > } EMULATOR_ENTRY;
>> > > > @@ -274,22 +265,10 @@ CoreInitializeImageServices (
>> > > > );
>> > > > ASSERT_EFI_ERROR(Status);
>> > > >
>> > > > InitializeListHead (&mAvailableEmulators);
>> > > >
>> > > > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
>> > > > - //
>> > > > - // Export DXE Core PE Loader functionality for backward
>compatibility.
>> > > > - //
>> > > > - Status = CoreInstallProtocolInterface (
>> > > > - &mLoadPe32PrivateData.Handle,
>> > > > - &gEfiLoadPeImageProtocolGuid,
>> > > > - EFI_NATIVE_INTERFACE,
>> > > > - &mLoadPe32PrivateData.Pe32Image
>> > > > - );
>> > > > - }
>> > > > -
>> > > > ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
>> > > >
>> > > > return Status;
>> > > > }
>> > > >
>> > > > @@ -1564,96 +1543,10 @@ CoreLoadImage (
>> > > > PERF_LOAD_IMAGE_END (Handle);
>> > > >
>> > > > return Status;
>> > > > }
>> > > >
>> > > > -
>> > > > -
>> > > > -/**
>> > > > - Loads an EFI image into memory and returns a handle to the
>> > > > image with extended parameters.
>> > > > -
>> > > > - @param This Calling context
>> > > > - @param ParentImageHandle The caller's image handle.
>> > > > - @param FilePath The specific file path from which the image
>> is
>> > > > - loaded.
>> > > > - @param SourceBuffer If not NULL, a pointer to the memory
>> > > location
>> > > > - containing a copy of the image to be loaded.
>> > > > - @param SourceSize The size in bytes of SourceBuffer.
>> > > > - @param DstBuffer The buffer to store the image.
>> > > > - @param NumberOfPages For input, specifies the space size of
>> the
>> > > > - image by caller if not NULL. For output,
>> > > > - specifies the actual space size needed.
>> > > > - @param ImageHandle Image handle for output.
>> > > > - @param EntryPoint Image entry point for output.
>> > > > - @param Attribute The bit mask of attributes to set for the
>> load
>> > > > - PE image.
>> > > > -
>> > > > - @retval EFI_SUCCESS The image was loaded into memory.
>> > > > - @retval EFI_NOT_FOUND The FilePath was not found.
>> > > > - @retval EFI_INVALID_PARAMETER One of the parameters has an
>> invalid
>> > > > value.
>> > > > - @retval EFI_UNSUPPORTED The image type is not supported, or
>> the
>> > > > device
>> > > > - path cannot be parsed to locate the proper
>> > > > - protocol for loading the file.
>> > > > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
>> > > insufficient
>> > > > - resources.
>> > > > - @retval EFI_LOAD_ERROR Image was not loaded because the
>> > image
>> > > > format was corrupt or not
>> > > > - understood.
>> > > > - @retval EFI_DEVICE_ERROR Image was not loaded because the
>> > > device
>> > > > returned a read error.
>> > > > - @retval EFI_ACCESS_DENIED Image was not loaded because the
>> > > platform
>> > > > policy prohibits the
>> > > > - image from being loaded. NULL is returned in
>> > > > *ImageHandle.
>> > > > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
>> > > ImageHandle
>> > > > was created with a
>> > > > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
>> > > > current
>> > > > - platform policy specifies that the image should not
>be
>> > > > started.
>> > > > -
>> > > > -**/
>> > > > -EFI_STATUS
>> > > > -EFIAPI
>> > > > -CoreLoadImageEx (
>> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
>> > > > - IN EFI_HANDLE ParentImageHandle,
>> > > > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
>> > > > - IN VOID *SourceBuffer OPTIONAL,
>> > > > - IN UINTN SourceSize,
>> > > > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
>> > > > - OUT UINTN *NumberOfPages OPTIONAL,
>> > > > - OUT EFI_HANDLE *ImageHandle,
>> > > > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
>> > > > - IN UINT32 Attribute
>> > > > - )
>> > > > -{
>> > > > - EFI_STATUS Status;
>> > > > - EFI_HANDLE Handle;
>> > > > -
>> > > > - PERF_LOAD_IMAGE_BEGIN (NULL);
>> > > > -
>> > > > - Status = CoreLoadImageCommon (
>> > > > - TRUE,
>> > > > - ParentImageHandle,
>> > > > - FilePath,
>> > > > - SourceBuffer,
>> > > > - SourceSize,
>> > > > - DstBuffer,
>> > > > - NumberOfPages,
>> > > > - ImageHandle,
>> > > > - EntryPoint,
>> > > > - Attribute
>> > > > - );
>> > > > -
>> > > > - Handle = NULL;
>> > > > - if (!EFI_ERROR (Status)) {
>> > > > - //
>> > > > - // ImageHandle will be valid only Status is success.
>> > > > - //
>> > > > - Handle = *ImageHandle;
>> > > > - }
>> > > > -
>> > > > - PERF_LOAD_IMAGE_END (Handle);
>> > > > -
>> > > > - return Status;
>> > > > -}
>> > > > -
>> > > > -
>> > > > /**
>> > > > Transfer control to a loaded image's entry point.
>> > > >
>> > > > @param ImageHandle Handle of image to be started.
>> > > > @param ExitDataSize Pointer of the size to ExitData
>> > > > @@ -2010,28 +1903,5 @@ CoreUnloadImage (
>> > > > }
>> > > >
>> > > > Done:
>> > > > return Status;
>> > > > }
>> > > > -
>> > > > -
>> > > > -
>> > > > -/**
>> > > > - Unload the specified image.
>> > > > -
>> > > > - @param This Indicates the calling context.
>> > > > - @param ImageHandle The specified image handle.
>> > > > -
>> > > > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
>> > > > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
>> > > image.
>> > > > - @retval EFI_SUCCESS Image successfully unloaded.
>> > > > -
>> > > > -**/
>> > > > -EFI_STATUS
>> > > > -EFIAPI
>> > > > -CoreUnloadImageEx (
>> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
>> > > > - IN EFI_HANDLE ImageHandle
>> > > > - )
>> > > > -{
>> > > > - return CoreUnloadImage (ImageHandle); -} diff --git
>> > > > a/MdeModulePkg/Core/Dxe/Image/Image.h
>> > > > b/MdeModulePkg/Core/Dxe/Image/Image.h
>> > > > index 6020a27371..e9c44ab2a7 100644
>> > > > --- a/MdeModulePkg/Core/Dxe/Image/Image.h
>> > > > +++ b/MdeModulePkg/Core/Dxe/Image/Image.h
>> > > > @@ -1,30 +1,17 @@
>> > > > /** @file
>> > > > Data structure and functions to load and unload PeImage.
>> > > >
>> > > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
>> > > > reserved.<BR>
>> > > > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
>> > > > +reserved.<BR>
>> > > > SPDX-License-Identifier: BSD-2-Clause-Patent
>> > > >
>> > > > **/
>> > > >
>> > > >
>> > > > #ifndef _IMAGE_H_
>> > > > #define _IMAGE_H_
>> > > >
>> > > > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE
>> > > > SIGNATURE_32('l','p','e','i')
>> > > > -
>> > > > -typedef struct {
>> > > > - UINTN Signature;
>> > > > - /// Image handle
>> > > > - EFI_HANDLE Handle;
>> > > > - EFI_PE32_IMAGE_PROTOCOL Pe32Image;
>> > > > -} LOAD_PE32_IMAGE_PRIVATE_DATA;
>> > > > -
>> > > > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
>> > > > - CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image,
>> > > > LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
>> > > > -
>> > > > -
>> > > > //
>> > > > // Private Data Types
>> > > > //
>> > > > #define IMAGE_FILE_HANDLE_SIGNATURE
>> SIGNATURE_32('i','m','g','f')
>> > > > typedef struct {
>> > > > @@ -32,76 +19,6 @@ typedef struct {
>> > > > BOOLEAN FreeBuffer;
>> > > > VOID *Source;
>> > > > UINTN SourceSize;
>> > > > } IMAGE_FILE_HANDLE;
>> > > >
>> > > > -/**
>> > > > - Loads an EFI image into memory and returns a handle to the
>> > > > image with extended parameters.
>> > > > -
>> > > > - @param This Calling context
>> > > > - @param ParentImageHandle The caller's image handle.
>> > > > - @param FilePath The specific file path from which the image
>> is
>> > > > - loaded.
>> > > > - @param SourceBuffer If not NULL, a pointer to the memory
>> > > location
>> > > > - containing a copy of the image to be loaded.
>> > > > - @param SourceSize The size in bytes of SourceBuffer.
>> > > > - @param DstBuffer The buffer to store the image.
>> > > > - @param NumberOfPages For input, specifies the space size of
>> the
>> > > > - image by caller if not NULL. For output,
>> > > > - specifies the actual space size needed.
>> > > > - @param ImageHandle Image handle for output.
>> > > > - @param EntryPoint Image entry point for output.
>> > > > - @param Attribute The bit mask of attributes to set for the
>> load
>> > > > - PE image.
>> > > > -
>> > > > - @retval EFI_SUCCESS The image was loaded into memory.
>> > > > - @retval EFI_NOT_FOUND The FilePath was not found.
>> > > > - @retval EFI_INVALID_PARAMETER One of the parameters has an
>> invalid
>> > > > value.
>> > > > - @retval EFI_UNSUPPORTED The image type is not supported, or
>> the
>> > > > device
>> > > > - path cannot be parsed to locate the proper
>> > > > - protocol for loading the file.
>> > > > - @retval EFI_OUT_OF_RESOURCES Image was not loaded due to
>> > > insufficient
>> > > > - resources.
>> > > > - @retval EFI_LOAD_ERROR Image was not loaded because the
>> > image
>> > > > format was corrupt or not
>> > > > - understood.
>> > > > - @retval EFI_DEVICE_ERROR Image was not loaded because the
>> > > device
>> > > > returned a read error.
>> > > > - @retval EFI_ACCESS_DENIED Image was not loaded because the
>> > > platform
>> > > > policy prohibits the
>> > > > - image from being loaded. NULL is returned in
>> > > > *ImageHandle.
>> > > > - @retval EFI_SECURITY_VIOLATION Image was loaded and an
>> > > ImageHandle
>> > > > was created with a
>> > > > - valid EFI_LOADED_IMAGE_PROTOCOL. However, the
>> > > > current
>> > > > - platform policy specifies that the image should not
>be
>> > > > started.
>> > > > -
>> > > > -**/
>> > > > -EFI_STATUS
>> > > > -EFIAPI
>> > > > -CoreLoadImageEx (
>> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
>> > > > - IN EFI_HANDLE ParentImageHandle,
>> > > > - IN EFI_DEVICE_PATH_PROTOCOL *FilePath,
>> > > > - IN VOID *SourceBuffer OPTIONAL,
>> > > > - IN UINTN SourceSize,
>> > > > - IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,
>> > > > - OUT UINTN *NumberOfPages OPTIONAL,
>> > > > - OUT EFI_HANDLE *ImageHandle,
>> > > > - OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,
>> > > > - IN UINT32 Attribute
>> > > > - );
>> > > > -
>> > > > -
>> > > > -/**
>> > > > - Unload the specified image.
>> > > > -
>> > > > - @param This Indicates the calling context.
>> > > > - @param ImageHandle The specified image handle.
>> > > > -
>> > > > - @retval EFI_INVALID_PARAMETER Image handle is NULL.
>> > > > - @retval EFI_UNSUPPORTED Attempt to unload an unsupported
>> > > image.
>> > > > - @retval EFI_SUCCESS Image successfully unloaded.
>> > > > -
>> > > > -**/
>> > > > -EFI_STATUS
>> > > > -EFIAPI
>> > > > -CoreUnloadImageEx (
>> > > > - IN EFI_PE32_IMAGE_PROTOCOL *This,
>> > > > - IN EFI_HANDLE ImageHandle
>> > > > - );
>> > > > #endif
>> > > > diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
>> > > > b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
>> > > > index f817ba04e2..709db00694 100644
>> > > > --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
>> > > > +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
>> > > > @@ -1092,19 +1092,10 @@ PeiFfsFindNextFile ( {
>> > > > PEI_CORE_FV_HANDLE *CoreFvHandle;
>> > > >
>> > > > CoreFvHandle = FvHandleToCoreHandle (FvHandle);
>> > > >
>> > > > - //
>> > > > - // To make backward compatiblity, if can not find corresponding
>> > > > the handle of FV
>> > > > - // then treat FV as build-in FFS2/FFS3 format and memory mapped
>> > > > FV that FV handle is pointed
>> > > > - // to the address of first byte of FV.
>> > > > - //
>> > > > - if ((CoreFvHandle == NULL) && FeaturePcdGet
>> > > > (PcdFrameworkCompatibilitySupport)) {
>> > > > - return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
>> > > > - }
>> > > > -
>> > > > if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
>> > > > return EFI_NOT_FOUND;
>> > > > }
>> > > >
>> > > > return CoreFvHandle->FvPpi->FindFileByType
>> > > > (CoreFvHandle->FvPpi, SearchType, FvHandle, FileHandle); @@
>> > > > -2109,66 +2100,10 @@ PEI_CORE_FV_HANDLE *
>> FindNextCoreFvHandle (
>> > > > IN PEI_CORE_INSTANCE *Private,
>> > > > IN UINTN Instance
>> > > > )
>> > > > {
>> > > > - UINTN Index;
>> > > > - BOOLEAN Match;
>> > > > - EFI_HOB_FIRMWARE_VOLUME *FvHob;
>> > > > -
>> > > > - //
>> > > > - // Handle Framework FvHob and Install FvInfo Ppi for it.
>> > > > - //
>> > > > - if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
>> > > > - //
>> > > > - // Loop to search the wanted FirmwareVolume which supports FFS
>> > > > - //
>> > > > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob
>> > > (EFI_HOB_TYPE_FV);
>> > > > - while (FvHob != NULL) {
>> > > > - //
>> > > > - // Search whether FvHob has been installed into PeiCore's FV
>> database.
>> > > > - // If found, no need install new FvInfoPpi for it.
>> > > > - //
>> > > > - for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++)
>{
>> > > > - if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress ==
>Private-
>> > > > >Fv[Index].FvHeader) {
>> > > > - Match = TRUE;
>> > > > - break;
>> > > > - }
>> > > > - }
>> > > > -
>> > > > - //
>> > > > - // Search whether FvHob has been cached into PeiCore's Unknown
>> FV
>> > > > database.
>> > > > - // If found, no need install new FvInfoPpi for it.
>> > > > - //
>> > > > - if (!Match) {
>> > > > - for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++)
>{
>> > > > - if ((UINTN)FvHob->BaseAddress == (UINTN)Private-
>> > > > >UnknownFvInfo[Index].FvInfo) {
>> > > > - Match = TRUE;
>> > > > - break;
>> > > > - }
>> > > > - }
>> > > > - }
>> > > > -
>> > > > - //
>> > > > - // If the Fv in FvHob has not been installed into PeiCore's FV
>> database
>> > > and
>> > > > has
>> > > > - // not been cached into PeiCore's Unknown FV database, install a
>> new
>> > > > FvInfoPpi
>> > > > - // for it then PeiCore will dispatch it in callback of FvInfoPpi.
>> > > > - //
>> > > > - if (!Match) {
>> > > > - PeiServicesInstallFvInfoPpi (
>> > > > - &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob-
>> > > >BaseAddress)-
>> > > > >FileSystemGuid),
>> > > > - (VOID *)(UINTN)FvHob->BaseAddress,
>> > > > - (UINT32)FvHob->Length,
>> > > > - NULL,
>> > > > - NULL
>> > > > - );
>> > > > - }
>> > > > -
>> > > > - FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob
>> > > > (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob-
>> > > >Header.HobLength));
>> > > > - }
>> > > > - }
>> > > > -
>> > > > if (Instance >= Private->FvCount) {
>> > > > return NULL;
>> > > > }
>> > > >
>> > > > return &Private->Fv[Instance];
>> > > > diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf
>> > > > b/MdeModulePkg/Core/Pei/PeiMain.inf
>> > > > index c8a6d5b80b..7c482dacfc 100644
>> > > > --- a/MdeModulePkg/Core/Pei/PeiMain.inf
>> > > > +++ b/MdeModulePkg/Core/Pei/PeiMain.inf
>> > > > @@ -100,11 +100,10 @@
>> > > > gEfiPeiCoreFvLocationPpiGuid ## SOMETIMES_CONSUMES
>> > > >
>> > > > [Pcd]
>> > > > gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize
>> > > > ## CONSUMES
>> > > >
>> > > >
>> > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSecti
>> > > onFi
>> > > > rst ## CONSUMES
>> > > > -
>> > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
>> > > > ## CONSUMES
>> > > >
>> > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumb
>> > > er
>> > > > ## SOMETIMES_CONSUMES
>> > > >
>> > > >
>> > >
>>
>gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
>> > > Nu
>> > > > mber ## SOMETIMES_CONSUMES
>> > > >
>> > > >
>> > >
>>
>gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
>> > > um
>> > > > ber ## SOMETIMES_CONSUMES
>> > > >
>> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
>> > > > ## CONSUMES
>> > > > gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot
>> > > > ## CONSUMES
>> > > > --
>> > > > 2.18.0.windows.1
>> > > >
>> > > >
>> > > >
^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2019-05-08 8:23 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-29 2:15 [patch 00/11] Remove PcdFrameworkCompatibilitySupport Dandan Bi
2019-04-29 2:15 ` [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Dandan Bi
2019-05-07 5:52 ` [edk2-devel] " Bob Feng
2019-05-07 6:00 ` Liming Gao
2019-04-29 2:15 ` [patch 02/11] FatPkg/FatPei: Remove PcdFrameworkCompatibilitySupport usage Dandan Bi
2019-05-05 3:25 ` [edk2-devel] " Ni, Ray
2019-04-29 2:15 ` [patch 03/11] IntelFrameworkModulePkg: " Dandan Bi
2019-05-07 5:59 ` Liming Gao
2019-04-29 2:16 ` [patch 04/11] MdeModulePkg/Core: " Dandan Bi
2019-05-06 1:22 ` [edk2-devel] " Wu, Hao A
2019-05-06 2:48 ` Dandan Bi
2019-05-06 2:54 ` Wu, Hao A
2019-05-07 7:08 ` Dandan Bi
2019-05-08 8:23 ` Liming Gao
2019-04-29 2:16 ` [patch 05/11] MdeModulePkg/CdExpress: " Dandan Bi
2019-05-06 1:05 ` Wu, Hao A
2019-04-29 2:16 ` [patch 06/11] MdeModulePkg/Setup: " Dandan Bi
2019-05-07 6:13 ` Dong, Eric
2019-04-29 2:16 ` [patch 07/11] QuarkPlatformPkg: " Dandan Bi
2019-05-07 5:58 ` [edk2-devel] " Liming Gao
2019-04-29 2:16 ` [patch 08/11] SignedCapsulePkg: " Dandan Bi
2019-04-29 2:16 ` [patch 09/11] UefiCpuPkg: " Dandan Bi
2019-04-29 15:15 ` Laszlo Ersek
2019-04-29 2:16 ` [patch 10/11] Vlv2TbltDevicePkg: " Dandan Bi
2019-05-07 8:35 ` Sun, Zailiang
2019-04-29 2:16 ` [patch 11/11] MdeModulePkg: Remove PcdFrameworkCompatibilitySupport Dandan Bi
2019-05-06 1:25 ` Wu, Hao A
[not found] ` <1599D055711F0B7C.4588@groups.io>
[not found] ` <3C0D5C461C9E904E8F62152F6274C0BB40BD01BF@SHSMSX104.ccr.corp.intel.com>
2019-05-07 6:02 ` [edk2-devel] [patch 08/11] SignedCapsulePkg: Remove PcdFrameworkCompatibilitySupport usage Yao, Jiewen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox