Date   

Re: [PATCH 16/17] UefiCpuPkg DSC: Add build option to disable deprecated APIs

Tian, Feng <feng.tian@...>
 

Reviewed-by: Feng Tian <feng.tian@Intel.com>

Thanks
Feng

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Hao Wu
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Fan, Jeff <jeff.fan@intel.com>
Subject: [edk2] [PATCH 16/17] UefiCpuPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
UefiCpuPkg/UefiCpuPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc index b35f41b..bbd3880 100644
--- a/UefiCpuPkg/UefiCpuPkg.dsc
+++ b/UefiCpuPkg/UefiCpuPkg.dsc
@@ -124,3 +124,6 @@
UefiCpuPkg/SecCore/SecCore.inf
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [PATCH 15/17] SourceLevelDebugPkg DSC: Add build option to disable deprecated APIs

Ni, Ruiyu <ruiyu.ni@...>
 

Since Jeff is happy on vocation, so
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Hao Wu
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Fan, Jeff <jeff.fan@intel.com>
Subject: [edk2] [PATCH 15/17] SourceLevelDebugPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
SourceLevelDebugPkg/SourceLevelDebugPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc b/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
index bf14ec4..d9b1b84 100644
--- a/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
+++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
@@ -107,3 +107,6 @@
SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
SourceLevelDebugPkg/DebugAgentPei/DebugAgentPei.inf
SourceLevelDebugPkg/DebugAgentDxe/DebugAgentDxe.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[PATCH] IntelFsp2Pkg: Only include required header files in FspEas.h

Ma, Maurice
 

Current FspEas.h file includes Uefi.h which also refers to lots of other
UEFI header files not used by FSP consumer. It caused many unnecessary
header file overhead for a bootloader that consumes FSP, such as coreboot.
This change reduces the required header file number down to 3.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
---
IntelFsp2Pkg/Include/FspEas.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/IntelFsp2Pkg/Include/FspEas.h b/IntelFsp2Pkg/Include/FspEas.h
index 79bb0b8e8efc..00098a392699 100644
--- a/IntelFsp2Pkg/Include/FspEas.h
+++ b/IntelFsp2Pkg/Include/FspEas.h
@@ -16,7 +16,7 @@
#ifndef _FSP_EAS_H_
#define _FSP_EAS_H_

-#include <Uefi.h>
+#include <Uefi/UefiBaseType.h>
#include <Guid/GuidHobFspEas.h>
#include <Guid/FspHeaderFile.h>
#include <FspEas/FspApi.h>
--
1.9.5.msysgit.0


Re: Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h]

Ye, Ting <ting.ye@...>
 

Hi Larry,

We are very sorry about the impact you suffered today. We made the change in early 2013 to support the existing NVRAM variable when firmware image was updated from IA32 to X64. Unfortunately we introduced an incompatibility issue as you raised. Now we prefer to keep the existing definition, since if we change it back that would introduce another similar incompatibility issue. What do you think about this?

Best Regards,
Ye Ting

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Larry Cleeton
Sent: Wednesday, August 03, 2016 4:55 AM
To: edk2-devel@lists.01.org
Subject: [edk2] Breaking change issue with NetworkPkg/Ip6Dxe/Ip6ConfigImlp.[c, h]

This commit (fdc4b0b147b386e966e99893526181dfae9eaeef) changed a data structure that is stored in an NVRAM variable.
See NetworkPkg/Ip6Dxe/Ip6ConfigImpl.[c,h]

This data structure:

typedef struct {
UINT16 Offset;
UINTN DataSize;
EFI_IP6_CONFIG_DATA_TYPE DataType;
} IP6_CONFIG_DATA_RECORD;

Is now:

typedef struct {
UINT16 Offset;
UINT32 DataSize; <---------------- changed size in 64bit environments
EFI_IP6_CONFIG_DATA_TYPE DataType;
} IP6_CONFIG_DATA_RECORD;

Unfortunately with a 64bit implementation this current structure is now *not* compatible with an existing NVRAM variable written with the previous version of the structure. It's causing me considerable grief so I'm just sharing the discovery. It would only impact you if you update some 64bit machine's firmware with a new version containing this change.

--Larry
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [PATCH 17/17] CryptoPkg DSC: Add build option to disable deprecated APIs

Ye, Ting <ting.ye@...>
 

Reviewed-by: Ye Ting <ting.ye@intel.com>

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 05, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Long, Qin <qin.long@intel.com>; Ye, Ting <ting.ye@intel.com>
Subject: [PATCH 17/17] CryptoPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Qin Long <qin.long@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
CryptoPkg/CryptoPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index 5ae0e67..3c3e444 100644
--- a/CryptoPkg/CryptoPkg.dsc
+++ b/CryptoPkg/CryptoPkg.dsc
@@ -133,3 +133,6 @@

[Components.IPF]
CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntimeCryptProtocol.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


Re: [PATCH 17/17] CryptoPkg DSC: Add build option to disable deprecated APIs

Long, Qin <qin.long@...>
 

Reviewed-by: Qin Long <qin.long@intel.com>

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 05, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming
Cc: Wu, Hao A; Long, Qin; Ye, Ting
Subject: [PATCH 17/17] CryptoPkg DSC: Add build option to disable
deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC files
to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Qin Long <qin.long@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
CryptoPkg/CryptoPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index
5ae0e67..3c3e444 100644
--- a/CryptoPkg/CryptoPkg.dsc
+++ b/CryptoPkg/CryptoPkg.dsc
@@ -133,3 +133,6 @@

[Components.IPF]

CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntime
CryptProtocol.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


Re: [PATCH 13/17] SecurityPkg DSC: Add build option to disable deprecated APIs

Zhang, Chao B <chao.b.zhang@...>
 

Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>





Thanks & Best regards
Chao Zhang

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 05, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming
Cc: Wu, Hao A; Zhang, Chao B
Subject: [PATCH 13/17] SecurityPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Chao Zhang <chao.b.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
SecurityPkg/SecurityPkg.dsc | 1 +
1 file changed, 1 insertion(+)

diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc
index 21cac78..0ac4dfb 100644
--- a/SecurityPkg/SecurityPkg.dsc
+++ b/SecurityPkg/SecurityPkg.dsc
@@ -325,4 +325,5 @@
[BuildOptions]
MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:256
INTEL:*_*_IA32_DLINK_FLAGS = /ALIGN:256
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

--
1.9.5.msysgit.0


Re: [PATCH 08/17] MdeModulePkg DSC: Add build option to disable deprecated APIs

Tian, Feng <feng.tian@...>
 

Reviewed-by: Feng Tian <feng.tian@Intel.com>

Thanks
Feng

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Tian, Feng <feng.tian@intel.com>; Zeng, Star <star.zeng@intel.com>
Subject: [PATCH 08/17] MdeModulePkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
MdeModulePkg/MdeModulePkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index ce29eb9..05120c7 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -460,3 +460,6 @@
[Components.X64]
MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf

+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
+
--
1.9.5.msysgit.0


[patch 2/2] MdeModulePkg/Browser: Share default if some default value are not specified

Dandan Bi
 

Add a new implementation policy of getting default in SetupBrowser.
The new policy is only for the situation that a question has default
value but doesn't have default value for all supported default type.
In this case, we will choose the smallest default id from the existing
defaults, and share its value to other default id which has no
default value.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
---
MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | 66 +++++++++++++++++++++++++-
MdeModulePkg/Universal/SetupBrowserDxe/Setup.h | 5 ++
2 files changed, 70 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
index 6b38547..9473eb1 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
@@ -4016,10 +4016,50 @@ ValueToOption (
}

return NULL;
}

+/**
+ This function is to get the default Id array, the default ids are in ascending order in the array.
+
+ @param FormSet The form set.
+ @param DefaultIdArray Point to the default Id Array.
+
+ @retval DefaultIdCount Return the default Id number in the array.
+
+**/
+UINT16
+GetDefaultIdArray (
+ IN FORM_BROWSER_FORMSET *FormSet,
+ IN OUT UINT16 *DefaultIdArray
+ )
+{
+ FORMSET_DEFAULTSTORE *DefaultStore;
+ LIST_ENTRY *DefaultLink;
+ UINT16 DefaultIdCount;
+ UINT16 Index;
+
+ DefaultIdCount = 0;
+
+ DefaultLink = GetFirstNode (&FormSet->DefaultStoreListHead);
+ while (!IsNull (&FormSet->DefaultStoreListHead, DefaultLink)) {
+ DefaultStore = FORMSET_DEFAULTSTORE_FROM_LINK(DefaultLink);
+ Index = DefaultIdCount;
+ //
+ // Insert the DefaultId to the Array with ascending order.
+ //
+ while (Index > 0 && DefaultStore->DefaultId < DefaultIdArray[Index - 1]) {
+ DefaultIdArray[Index] = DefaultIdArray[Index -1];
+ Index--;
+ }
+ DefaultIdArray[Index] = DefaultStore->DefaultId;
+ DefaultLink = GetNextNode (&FormSet->DefaultStoreListHead, DefaultLink);
+ DefaultIdCount++;
+ }
+
+ return DefaultIdCount;
+}

/**
Reset Question to its default value.

@param FormSet The form set.
@@ -4048,29 +4088,38 @@ GetQuestionDefault (
EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
EFI_BROWSER_ACTION_REQUEST ActionRequest;
INTN Action;
CHAR16 *NewString;
EFI_IFR_TYPE_VALUE *TypeValue;
+ UINT16 DefaultIdNumber;
+ UINT16 DefaultIdArray[EFI_HII_MAX_SUPPORT_DEFAULT_TYPE];
+ UINT16 ReGetCount;
+ UINT16 OriginalDefaultId;

Status = EFI_NOT_FOUND;
StrValue = NULL;
+ ReGetCount = 0;
+ OriginalDefaultId = DefaultId;

//
// Statement don't have storage, skip them
//
if (Question->QuestionId == 0) {
return Status;
}

+ DefaultIdNumber = GetDefaultIdArray (FormSet, DefaultIdArray);
+
//
// There are Five ways to specify default value for a Question:
// 1, use call back function (highest priority)
// 2, use ExtractConfig function
// 3, use nested EFI_IFR_DEFAULT
// 4, set flags of EFI_ONE_OF_OPTION (provide Standard and Manufacturing default)
// 5, set flags of EFI_IFR_CHECKBOX (provide Standard and Manufacturing default) (lowest priority)
//
+ReGetDefault:
HiiValue = &Question->HiiValue;
TypeValue = &HiiValue->Value;
if (HiiValue->Type == EFI_IFR_TYPE_BUFFER) {
//
// For orderedlist, need to pass the BufferValue to Callback function.
@@ -4233,11 +4282,26 @@ GetQuestionDefault (
return EFI_SUCCESS;
}
}

//
- // For Questions without default
+ // For question without default value for current default Id, we try to re-get the default value form other default id in the DefaultIdArray.
+ // If get, will exit the function, if not, will choose next default id in the DefaultIdArray.
+ // The default id in DefaultIdArray are in ascending order to make sure choose the smallest default id every time.
+ //
+ while (ReGetCount < DefaultIdNumber) {
+ DefaultId = DefaultIdArray[ReGetCount];
+ if (DefaultId == OriginalDefaultId) {
+ ReGetCount ++;
+ continue;
+ }
+ ReGetCount ++;
+ goto ReGetDefault;
+ }
+
+ //
+ // For Questions without default value for all the default id in the DefaultIdArray.
//
Status = EFI_NOT_FOUND;
switch (Question->Operand) {
case EFI_IFR_NUMERIC_OP:
//
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
index cbc5401..21f392c 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
@@ -61,10 +61,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define UI_ACTION_REFRESH_FORM 1
#define UI_ACTION_REFRESH_FORMSET 2
#define UI_ACTION_EXIT 3

//
+// The maximum number of default type
+//
+#define EFI_HII_MAX_SUPPORT_DEFAULT_TYPE 0x08
+
+//
//
// Time definitions
//
#define ONE_SECOND 10000000

--
1.9.5.msysgit.1


[patch 1/2] MdeModulePkg/HiiDB: Share default if some default value are not specified

Dandan Bi
 

Add a new implementation policy of getting default in HiiDatabase.
The new policy is only for the situation that a question has default
value but doesn't have default value for all supported default type.
In this case, we will choose the smallest default id from the existing
defaults, and share its value to other default id which has no
default value.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
---
.../Universal/HiiDatabaseDxe/ConfigRouting.c | 115 ++++++++++++++++++---
.../Universal/HiiDatabaseDxe/HiiDatabase.h | 2 +
2 files changed, 101 insertions(+), 16 deletions(-)

diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
index 0578352..0a5ea83 100644
--- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
+++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
@@ -1150,11 +1150,11 @@ InsertDefaultValue (
DefaultValueArray = BASE_CR (Link, IFR_DEFAULT_DATA, Entry);
if (DefaultValueArray->DefaultId == DefaultValueData->DefaultId) {
//
// DEFAULT_VALUE_FROM_OPCODE has high priority, DEFAULT_VALUE_FROM_DEFAULT has low priority.
//
- if (DefaultValueData->Type > DefaultValueArray->Type) {
+ if (DefaultValueData->Type >= DefaultValueArray->Type) {
//
// Update the default value array in BlockData.
//
CopyMem (&DefaultValueArray->Value, &DefaultValueData->Value, sizeof (EFI_IFR_TYPE_VALUE));
DefaultValueArray->Type = DefaultValueData->Type;
@@ -2099,19 +2099,22 @@ ParseIfrData (
LIST_ENTRY *LinkData;
LIST_ENTRY *LinkDefault;
EFI_IFR_VARSTORE_NAME_VALUE *IfrNameValueVarStore;
EFI_HII_PACKAGE_HEADER *PackageHeader;
EFI_VARSTORE_ID VarStoreId;
+ UINT16 SmallestDefaultId;
+ UINT16 SmallestIdFromFlag;

Status = EFI_SUCCESS;
BlockData = NULL;
DefaultDataPtr = NULL;
FirstOneOfOption = FALSE;
VarStoreId = 0;
FirstOrderedList = FALSE;
VarStoreName = NULL;
ZeroMem (&DefaultData, sizeof (IFR_DEFAULT_DATA));
+ SmallestDefaultId = 0xFFFF;

//
// Go through the form package to parse OpCode one by one.
//
PackageOffset = sizeof (EFI_HII_PACKAGE_HEADER);
@@ -2473,10 +2476,12 @@ ParseIfrData (
//
//when go to there,BlockData can't be NULLL.
//
ASSERT (BlockData != NULL);

+ SmallestIdFromFlag = FALSE;
+
//
// Add default value for standard ID by CheckBox Flag
//
VarDefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
//
@@ -2487,21 +2492,20 @@ ParseIfrData (
//
// When flag is set, defautl value is TRUE.
//
DefaultData.Type = DefaultValueFromFlag;
DefaultData.Value.b = TRUE;
- } else {
- //
- // When flag is not set, defautl value is FASLE.
- //
- DefaultData.Type = DefaultValueFromDefault;
- DefaultData.Value.b = FALSE;
+ InsertDefaultValue (BlockData, &DefaultData);
+
+ if (SmallestDefaultId > EFI_HII_DEFAULT_CLASS_STANDARD) {
+ //
+ // Record the SmallestDefaultId and update the SmallestIdFromFlag.
+ //
+ SmallestDefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
+ SmallestIdFromFlag = TRUE;
+ }
}
- //
- // Add DefaultValue into current BlockData
- //
- InsertDefaultValue (BlockData, &DefaultData);

//
// Add default value for Manufacture ID by CheckBox Flag
//
VarDefaultId = EFI_HII_DEFAULT_CLASS_MANUFACTURING;
@@ -2513,21 +2517,49 @@ ParseIfrData (
//
// When flag is set, defautl value is TRUE.
//
DefaultData.Type = DefaultValueFromFlag;
DefaultData.Value.b = TRUE;
+ InsertDefaultValue (BlockData, &DefaultData);
+
+ if (SmallestDefaultId > EFI_HII_DEFAULT_CLASS_MANUFACTURING) {
+ //
+ // Record the SmallestDefaultId and update the SmallestIdFromFlag.
+ //
+ SmallestDefaultId = EFI_HII_DEFAULT_CLASS_MANUFACTURING;
+ SmallestIdFromFlag = TRUE;
+ }
+ }
+ if (SmallestIdFromFlag) {
+ //
+ // When smallest default Id is given by the flag of CheckBox, set defaut value with TRUE for other default Id in the DefaultId list.
+ //
+ DefaultData.Type = DefaultValueFromOtherDefault;
+ DefaultData.Value.b = TRUE;
+ //
+ // Set default value for all the default id in the DefaultId list.
+ //
+ for (LinkData = DefaultIdArray->Entry.ForwardLink; LinkData != &DefaultIdArray->Entry; LinkData = LinkData->ForwardLink) {
+ DefaultDataPtr = BASE_CR (LinkData, IFR_DEFAULT_DATA, Entry);
+ DefaultData.DefaultId = DefaultDataPtr->DefaultId;
+ InsertDefaultValue (BlockData, &DefaultData);
+ }
} else {
//
// When flag is not set, defautl value is FASLE.
//
DefaultData.Type = DefaultValueFromDefault;
DefaultData.Value.b = FALSE;
+ //
+ // Set default value for all the default id in the DefaultId list.
+ //
+ for (LinkData = DefaultIdArray->Entry.ForwardLink; LinkData != &DefaultIdArray->Entry; LinkData = LinkData->ForwardLink) {
+ DefaultDataPtr = BASE_CR (LinkData, IFR_DEFAULT_DATA, Entry);
+ DefaultData.DefaultId = DefaultDataPtr->DefaultId;
+ InsertDefaultValue (BlockData, &DefaultData);
+ }
}
- //
- // Add DefaultValue into current BlockData
- //
- InsertDefaultValue (BlockData, &DefaultData);
break;

case EFI_IFR_DATE_OP:
//
// offset by question header
@@ -2777,30 +2809,62 @@ ParseIfrData (
break;
}

//
// 1. Set default value for OneOf option when flag field has default attribute.
+ // And set the default value with the smallest default id for other default id in the DefaultId list.
//
if (((IfrOneOfOption->Flags & EFI_IFR_OPTION_DEFAULT) == EFI_IFR_OPTION_DEFAULT) ||
((IfrOneOfOption->Flags & EFI_IFR_OPTION_DEFAULT_MFG) == EFI_IFR_OPTION_DEFAULT_MFG)) {
//
// This flag is used to specify whether this option is the first. Set it to FALSE for the following options.
// The first oneof option value will be used as default value when no default value is specified.
//
FirstOneOfOption = FALSE;
+
+ SmallestIdFromFlag = FALSE;

// Prepare new DefaultValue
//
DefaultData.Type = DefaultValueFromFlag;
CopyMem (&DefaultData.Value, &IfrOneOfOption->Value, IfrOneOfOption->Header.Length - OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value));
if ((IfrOneOfOption->Flags & EFI_IFR_OPTION_DEFAULT) == EFI_IFR_OPTION_DEFAULT) {
DefaultData.DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
InsertDefaultValue (BlockData, &DefaultData);
- }
+ if (SmallestDefaultId > EFI_HII_DEFAULT_CLASS_STANDARD) {
+ //
+ // Record the SmallestDefaultId and update the SmallestIdFromFlag.
+ //
+ SmallestDefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
+ SmallestIdFromFlag = TRUE;
+ }
+ }
if ((IfrOneOfOption->Flags & EFI_IFR_OPTION_DEFAULT_MFG) == EFI_IFR_OPTION_DEFAULT_MFG) {
DefaultData.DefaultId = EFI_HII_DEFAULT_CLASS_MANUFACTURING;
InsertDefaultValue (BlockData, &DefaultData);
+ if (SmallestDefaultId > EFI_HII_DEFAULT_CLASS_MANUFACTURING) {
+ //
+ // Record the SmallestDefaultId and update the SmallestIdFromFlag.
+ //
+ SmallestDefaultId = EFI_HII_DEFAULT_CLASS_MANUFACTURING;
+ SmallestIdFromFlag = TRUE;
+ }
+ }
+
+ if (SmallestIdFromFlag) {
+ //
+ // When smallest default Id is given by the flag of oneofOption, set this option value for other default Id in the DefaultId list.
+ //
+ DefaultData.Type = DefaultValueFromOtherDefault;
+ //
+ // Set default value for other default id in the DefaultId list.
+ //
+ for (LinkData = DefaultIdArray->Entry.ForwardLink; LinkData != &DefaultIdArray->Entry; LinkData = LinkData->ForwardLink) {
+ DefaultDataPtr = BASE_CR (LinkData, IFR_DEFAULT_DATA, Entry);
+ DefaultData.DefaultId = DefaultDataPtr->DefaultId;
+ InsertDefaultValue (BlockData, &DefaultData);
+ }
}
}

//
// 2. Set as the default value when this is the first option.
@@ -2854,10 +2918,25 @@ ParseIfrData (
// Add DefaultValue into current BlockData
//
InsertDefaultValue (BlockData, &DefaultData);

//
+ // Set default value for other default id in the DefaultId list.
+ //
+ if (SmallestDefaultId >= VarDefaultId) {
+ SmallestDefaultId = VarDefaultId;
+ for (LinkData = DefaultIdArray->Entry.ForwardLink; LinkData != &DefaultIdArray->Entry; LinkData = LinkData->ForwardLink) {
+ DefaultDataPtr = BASE_CR (LinkData, IFR_DEFAULT_DATA, Entry);
+ if (DefaultDataPtr->DefaultId != DefaultData.DefaultId){
+ DefaultData.Type = DefaultValueFromOtherDefault;
+ DefaultData.DefaultId = DefaultDataPtr->DefaultId;
+ InsertDefaultValue (BlockData, &DefaultData);
+ }
+ }
+ }
+
+ //
// After insert the default value, reset the cleaned value for next
// time used. If not set here, need to set the value before everytime
// use it.
//
DefaultData.Cleaned = FALSE;
@@ -2871,10 +2950,14 @@ ParseIfrData (
if (BlockData->Scope > 0) {
BlockData->Scope--;
}
if (BlockData->Scope == 0) {
BlockData = NULL;
+ //
+ // when finishing parsing a question, clean the SmallestDefaultId of the question.
+ //
+ SmallestDefaultId = 0xFFFF;
}
}

break;

diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
index d90bc02..d85a804 100644
--- a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
+++ b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
@@ -85,10 +85,12 @@ typedef struct {
//
// Get default value from IFR data.
//
typedef enum {
DefaultValueFromDefault = 0, // Get from the minimum or first one when not set default value.
+ DefaultValueFromOtherDefault, // Get default vale from other default when no default(When other
+ // defaults are more than one, use the default with smallest default id).
DefaultValueFromFlag, // Get default value from the defalut flag.
DefaultValueFromOpcode // Get default value from default opcode, highest priority.
} DEFAULT_VALUE_TYPE;

typedef struct {
--
1.9.5.msysgit.1


[patch 0/2] Share default value if some default value are not specified

Dandan Bi
 

Add a new implementation policy of get default value in HiiDatabaseDxe
and SetupBrowserDxe.
The new policy is only for the situation that a question has default
value but doesn't have default value for all supported default type.
In this case, we will choose the smallest default id from the existing
defaults, and share its value to other default id which has no
default value.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>

Dandan Bi (2):
MdeModulePkg/HiiDB: Share default if some default value are not specified
MdeModulePkg/Browser: Share default if some default value are not specified

.../Universal/HiiDatabaseDxe/ConfigRouting.c | 115 ++++++++++++++++++---
.../Universal/HiiDatabaseDxe/HiiDatabase.h | 2 +
MdeModulePkg/Universal/SetupBrowserDxe/Setup.c | 66 +++++++++++-
MdeModulePkg/Universal/SetupBrowserDxe/Setup.h | 5 +
4 files changed, 171 insertions(+), 17 deletions(-)

--
1.9.5.msysgit.1


Re: [PATCH 14/17] ShellPkg DSC: Add build option to disable deprecated APIs

Ni, Ruiyu <ruiyu.ni@...>
 

Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Carsey, Jaben <jaben.carsey@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>
Subject: [PATCH 14/17] ShellPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
ShellPkg/ShellPkg.dsc | 2 ++
1 file changed, 2 insertions(+)

diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
index 25c4fad..809bd42 100644
--- a/ShellPkg/ShellPkg.dsc
+++ b/ShellPkg/ShellPkg.dsc
@@ -122,3 +122,5 @@
!endif #$(NO_SHELL_PROFILES)
}

+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


Re: [PATCH 11/17] PcAtChipsetPkg DSC: Add build option to disable deprecated APIs

Ni, Ruiyu <ruiyu.ni@...>
 

Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Hao Wu
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>
Subject: [edk2] [PATCH 11/17] PcAtChipsetPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
PcAtChipsetPkg/PcAtChipsetPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.dsc b/PcAtChipsetPkg/PcAtChipsetPkg.dsc
index 0321bb2..25bb894 100644
--- a/PcAtChipsetPkg/PcAtChipsetPkg.dsc
+++ b/PcAtChipsetPkg/PcAtChipsetPkg.dsc
@@ -59,3 +59,6 @@
PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [PATCH 01/17] FatPkg DSC: Add build option to disable deprecated APIs

Ni, Ruiyu <ruiyu.ni@...>
 

Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Ni, Ruiyu <ruiyu.ni@intel.com>
Subject: [PATCH 01/17] FatPkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
FatPkg/FatPkg.dsc | 1 +
1 file changed, 1 insertion(+)

diff --git a/FatPkg/FatPkg.dsc b/FatPkg/FatPkg.dsc
index 9250ae0..d654120 100644
--- a/FatPkg/FatPkg.dsc
+++ b/FatPkg/FatPkg.dsc
@@ -31,6 +31,7 @@
INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
RVCT:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

[LibraryClasses]
#
--
1.9.5.msysgit.0


Re: [PATCH 08/17] MdeModulePkg DSC: Add build option to disable deprecated APIs

Zeng, Star <star.zeng@...>
 

Reviewed-by: Star Zeng <star.zeng@intel.com>

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Tian, Feng <feng.tian@intel.com>; Zeng, Star <star.zeng@intel.com>
Subject: [PATCH 08/17] MdeModulePkg DSC: Add build option to disable deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
MdeModulePkg/MdeModulePkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index ce29eb9..05120c7 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -460,3 +460,6 @@
[Components.X64]
MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf

+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
+
--
1.9.5.msysgit.0


Re: [PATCH 04/17] IntelFsp2Pkg DSC: Add build option to disable deprecated APIs

Yao, Jiewen
 

IntelFspXXXPkg are reviewed by: Jiewen.yao@intel.com

-----Original Message-----
From: Wu, Hao A
Sent: Friday, August 5, 2016 8:53 AM
To: edk2-devel@lists.01.org; Gao, Liming <liming.gao@intel.com>
Cc: Wu, Hao A <hao.a.wu@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>
Subject: [PATCH 04/17] IntelFsp2Pkg DSC: Add build option to disable
deprecated APIs

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
IntelFsp2Pkg/IntelFsp2Pkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/IntelFsp2Pkg/IntelFsp2Pkg.dsc b/IntelFsp2Pkg/IntelFsp2Pkg.dsc
index 61eb6f1..1469d35 100644
--- a/IntelFsp2Pkg/IntelFsp2Pkg.dsc
+++ b/IntelFsp2Pkg/IntelFsp2Pkg.dsc
@@ -77,3 +77,6 @@
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x1f
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80080046
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


[PATCH 17/17] CryptoPkg DSC: Add build option to disable deprecated APIs

Wu, Hao A
 

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Qin Long <qin.long@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
CryptoPkg/CryptoPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc
index 5ae0e67..3c3e444 100644
--- a/CryptoPkg/CryptoPkg.dsc
+++ b/CryptoPkg/CryptoPkg.dsc
@@ -133,3 +133,6 @@

[Components.IPF]
CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntimeCryptProtocol.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


[PATCH 16/17] UefiCpuPkg DSC: Add build option to disable deprecated APIs

Wu, Hao A
 

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
UefiCpuPkg/UefiCpuPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc
index b35f41b..bbd3880 100644
--- a/UefiCpuPkg/UefiCpuPkg.dsc
+++ b/UefiCpuPkg/UefiCpuPkg.dsc
@@ -124,3 +124,6 @@
UefiCpuPkg/SecCore/SecCore.inf
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


[PATCH 15/17] SourceLevelDebugPkg DSC: Add build option to disable deprecated APIs

Wu, Hao A
 

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
SourceLevelDebugPkg/SourceLevelDebugPkg.dsc | 3 +++
1 file changed, 3 insertions(+)

diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc b/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
index bf14ec4..d9b1b84 100644
--- a/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
+++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
@@ -107,3 +107,6 @@
SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
SourceLevelDebugPkg/DebugAgentPei/DebugAgentPei.inf
SourceLevelDebugPkg/DebugAgentDxe/DebugAgentDxe.inf
+
+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0


[PATCH 14/17] ShellPkg DSC: Add build option to disable deprecated APIs

Wu, Hao A
 

Add the following definition in the [BuildOptions] section in package DSC
files to disable APIs that are deprecated:

[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
---
ShellPkg/ShellPkg.dsc | 2 ++
1 file changed, 2 insertions(+)

diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
index 25c4fad..809bd42 100644
--- a/ShellPkg/ShellPkg.dsc
+++ b/ShellPkg/ShellPkg.dsc
@@ -122,3 +122,5 @@
!endif #$(NO_SHELL_PROFILES)
}

+[BuildOptions]
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
--
1.9.5.msysgit.0