Thanks Dandan's update,   I see patch got merged  : )

Thanks,
Lin

-----Original Message-----
From: Bi, Dandan <dandan...@intel.com> 
Sent: Friday, April 8, 2022 10:12 AM
To: devel@edk2.groups.io; Gao, Liming <gaolim...@byosoft.com.cn>; Chen, Lin Z 
<lin.z.c...@intel.com>; Wang, Jian J <jian.j.w...@intel.com>; Dong, Eric 
<eric.d...@intel.com>
Cc: Li, Zhuangzhi <zhuangzhi...@intel.com>; Zhang, Di <di.zh...@intel.com>
Subject: RE: [edk2-devel] 回复: [PATCH-V2] Fix Setup numeric default value 
incorrect issue

The coding style issue is addressed and pushed via 
https://github.com/tianocore/edk2/pull/2753


Thanks,
Dandan

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of 
> gaoliming
> Sent: Friday, April 8, 2022 8:48 AM
> To: devel@edk2.groups.io; Gao, Liming <gaolim...@byosoft.com.cn>; 
> Chen, Lin Z <lin.z.c...@intel.com>; Wang, Jian J 
> <jian.j.w...@intel.com>; Bi, Dandan <dandan...@intel.com>; Dong, Eric 
> <eric.d...@intel.com>
> Cc: Li, Zhuangzhi <zhuangzhi...@intel.com>; Zhang, Di 
> <di.zh...@intel.com>
> Subject: 回复: [edk2-devel] 回复: [PATCH-V2] Fix Setup numeric default 
> value incorrect issue
> 
> Lin:
>   Here is PR https://github.com/tianocore/edk2/pull/2748. There is the 
> issue in the change. Please check it.
> 
> ERROR -
> /home/vsts/work/1/s/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRou
> ting.c
> ERROR - --->Test Failed: Uncrustify Coding Standard Test NO-TARGET 
> returned
> 1
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 gaoliming
> > 发送时间: 2022年4月7日 13:05
> > 收件人: 'Chen Lin Z' <lin.z.c...@intel.com>; jian.j.w...@intel.com; 
> > dandan...@intel.com; eric.d...@intel.com; devel@edk2.groups.io
> > 抄送: zhuangzhi...@intel.com; di.zh...@intel.com
> > 主题: [edk2-devel] 回复: [PATCH-V2] Fix Setup numeric default value 
> > incorrect issue
> >
> > Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>
> >
> > > -----邮件原件-----
> > > 发件人: Chen Lin Z <lin.z.c...@intel.com>
> > > 发送时间: 2022年4月1日 14:09
> > > 收件人: jian.j.w...@intel.com; gaolim...@byosoft.com.cn; 
> > > dandan...@intel.com; eric.d...@intel.com; devel@edk2.groups.io
> > > 抄送: zhuangzhi...@intel.com; di.zh...@intel.com; Chen Lin Z 
> > > <lin.z.c...@intel.com>
> > > 主题: [PATCH-V2] Fix Setup numeric default value incorrect issue
> > >
> > > When default/manufacturing flag get removed from numeric varid, it 
> > > can't get default value from StructurePcd in
> > 'UpdateDefaultSettingInFormPackage'
> > > function since there is no EFI_IFR_DEFAULT_OP opcode in IFR file.
> > > Add a chance to get numeric default value from StructurePcd in the 
> > > case that numeric minimum value will be used as default value.
> > >
> > > Signed-off-by: Chen Lin Z <lin.z.c...@intel.com>
> > > Signed-off-by: Dandan Bi <dandan...@intel.com>
> > > ---
> > >  .../Universal/HiiDatabaseDxe/ConfigRouting.c  | 22
> > ++++++++++++++++++
> > >  .../Universal/HiiDatabaseDxe/HiiDatabase.h    | 23
> > > +++++++++++++++++++
> > >  2 files changed, 45 insertions(+)
> > >
> > > diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> > > b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> > > index 2f792d2965..1c6af853b3 100644
> > > --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> > > +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
> > > @@ -2171,6 +2171,7 @@ ParseIfrData (
> > >    UINTN                        PackageOffset;
> > >
> > >    EFI_IFR_VARSTORE             *IfrVarStore;
> > >
> > >    EFI_IFR_VARSTORE_EFI         *IfrEfiVarStore;
> > >
> > > +  EFI_IFR_VARSTORE_EFI         *IfrEfiVarStoreTmp;
> > >
> > >    EFI_IFR_OP_HEADER            *IfrOpHdr;
> > >
> > >    EFI_IFR_ONE_OF               *IfrOneOf;
> > >
> > >    EFI_IFR_REF4                 *IfrRef;
> > >
> > > @@ -2187,6 +2188,7 @@ ParseIfrData (
> > >    IFR_BLOCK_DATA               *BlockData;
> > >
> > >    CHAR16                       *VarStoreName;
> > >
> > >    UINTN                        NameSize;
> > >
> > > +  UINTN                        NvDefaultStoreSize;
> > >
> > >    UINT16                       VarWidth;
> > >
> > >    UINT16                       VarDefaultId;
> > >
> > >    BOOLEAN                      FirstOneOfOption;
> > >
> > > @@ -2212,6 +2214,7 @@ ParseIfrData (
> > >    SmallestDefaultId      = 0xFFFF;
> > >
> > >    FromOtherDefaultOpcode = FALSE;
> > >
> > >    QuestionReferBitField  = FALSE;
> > >
> > > +  IfrEfiVarStoreTmp      = NULL;
> > >
> > >
> > >
> > >    //
> > >
> > >    // Go through the form package to parse OpCode one by one.
> > >
> > > @@ -2303,6 +2306,17 @@ ParseIfrData (
> > >          }
> > >
> > >
> > >
> > >          AsciiStrToUnicodeStrS ((CHAR8 *)IfrEfiVarStore->Name, 
> > > VarStoreName, NameSize);
> > >
> > > +        if (IfrEfiVarStoreTmp != NULL) {
> > >
> > > +          FreePool (IfrEfiVarStoreTmp);
> > >
> > > +        }
> > >
> > > +        IfrEfiVarStoreTmp = AllocatePool 
> > > + (IfrEfiVarStore->Header.Length
> > +
> > > AsciiStrSize ((CHAR8 *)IfrEfiVarStore->Name));
> > >
> > > +        if (IfrEfiVarStoreTmp == NULL) {
> > >
> > > +          Status = EFI_OUT_OF_RESOURCES;
> > >
> > > +          goto Done;
> > >
> > > +        }
> > >
> > > +
> > >
> > > +        CopyMem (IfrEfiVarStoreTmp, IfrEfiVarStore,
> > > IfrEfiVarStore->Header.Length);
> > >
> > > +        AsciiStrToUnicodeStrS ((CHAR8 *)IfrEfiVarStore->Name,
> > > + (CHAR16
> > > *)&(IfrEfiVarStoreTmp->Name[0]), AsciiStrSize ((CHAR8
> > > *)IfrEfiVarStore->Name) * sizeof (CHAR16));
> > >
> > >
> > >
> > >          if (IsThisVarstore (&IfrEfiVarStore->Guid, VarStoreName,
> > > ConfigHdr)) {
> > >
> > >            //
> > >
> > > @@ -2502,9 +2516,13 @@ ParseIfrData (
> > >            //
> > >
> > >            // Set default value base on the DefaultId list get 
> > > from IFR
> > data.
> > >
> > >            //
> > >
> > > +          NvDefaultStoreSize = PcdGetSize
> > > (PcdNvStoreDefaultValueBuffer);
> > >
> > >            for (LinkData = DefaultIdArray->Entry.ForwardLink;
> > LinkData !=
> > > &DefaultIdArray->Entry; LinkData = LinkData->ForwardLink) {
> > >
> > >              DefaultDataPtr        = BASE_CR (LinkData,
> > > IFR_DEFAULT_DATA, Entry);
> > >
> > >              DefaultData.DefaultId = DefaultDataPtr->DefaultId;
> > >
> > > +            if (NvDefaultStoreSize > sizeof
> > > (PCD_NV_STORE_DEFAULT_BUFFER_HEADER)) {
> > >
> > > +              FindQuestionDefaultSetting (DefaultData.DefaultId,
> > > IfrEfiVarStoreTmp, &(IfrOneOf->Question), &DefaultData.Value, 
> > > VarWidth, QuestionReferBitField);
> > >
> > > +            }
> > >
> > >              InsertDefaultValue (BlockData, &DefaultData);
> > >
> > >            }
> > >
> > >          }
> > >
> > > @@ -3192,6 +3210,10 @@ Done:
> > >      }
> > >
> > >    }
> > >
> > >
> > >
> > > +  if (IfrEfiVarStoreTmp != NULL) {
> > >
> > > +    FreePool (IfrEfiVarStoreTmp);
> > >
> > > +  }
> > >
> > > +
> > >
> > >    return Status;
> > >
> > >  }
> > >
> > >
> > >
> > > diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
> > > b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
> > > index c4ca6ad6ee..421c293cfc 100644
> > > --- a/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
> > > +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
> > > @@ -2308,6 +2308,29 @@ HiiGetConfigRespInfo (
> > >    IN CONST EFI_HII_DATABASE_PROTOCOL  *This
> > >
> > >    );
> > >
> > >
> > >
> > > +/**
> > >
> > > +  Find question default value from PcdNvStoreDefaultValueBuffer
> > >
> > > +
> > >
> > > +  @param DefaultId          Default store ID
> > >
> > > +  @param EfiVarStore        Point to EFI VarStore header
> > >
> > > +  @param IfrQuestionHdr     Point to Question header
> > >
> > > +  @param ValueBuffer        Point to Buffer includes the found default
> > > setting
> > >
> > > +  @param Width              Width of the default value
> > >
> > > +  @param BitFieldQuestion   Whether the Question is stored in Bit
> field.
> > >
> > > +
> > >
> > > +  @retval EFI_SUCCESS       Question default value is found.
> > >
> > > +  @retval EFI_NOT_FOUND     Question default value is not found.
> > >
> > > +**/
> > >
> > > +EFI_STATUS
> > >
> > > +FindQuestionDefaultSetting (
> > >
> > > +  IN  UINT16                   DefaultId,
> > >
> > > +  IN  EFI_IFR_VARSTORE_EFI     *EfiVarStore,
> > >
> > > +  IN  EFI_IFR_QUESTION_HEADER  *IfrQuestionHdr,
> > >
> > > +  OUT VOID                     *ValueBuffer,
> > >
> > > +  IN  UINTN                    Width,
> > >
> > > +  IN  BOOLEAN                  BitFieldQuestion
> > >
> > > +  );
> > >
> > > +
> > >
> > >  //
> > >
> > >  // Global variables
> > >
> > >  //
> > >
> > > --
> > > 2.25.1
> >
> >
> >
> >
> >
> >
> >
> 
> 
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88570): https://edk2.groups.io/g/devel/message/88570
Mute This Topic: https://groups.io/mt/90327966/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to