Re: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter.
Exactly. Currently APP is using that to parse parameter. Would you please clarify why we cannot use the same way? Thank you Yao Jiewen From: Gao, Liming Sent: Friday, January 25, 2019 5:25 PM To: Zhang, Chao B ; Yao, Jiewen ; edk2-devel@lists.01.org Cc: Wu, Hao A ; Chen, Chen A ; Gao, Liming Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter. Chao: CapsuleApp can base on gEfiShellProtocolGuid and gEfiShellParametersProtocolGuid to do it. Current CapsuleApp bases on these two protocols to parse the parameters. Thanks Liming From: Zhang, Chao B Sent: Friday, January 25, 2019 3:24 PM To: Yao, Jiewen mailto:jiewen@intel.com>>; edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>; Gao, Liming mailto:liming@intel.com>> Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Chen, Chen A mailto:chen.a.c...@intel.com>> Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter. Jiewen & Liming: It is a problem. Unlike UiApp. CapsuleApp is supposed to run in Shell. ShellLib provides standard parameter parsing support. Any suggestion on this? From: Yao, Jiewen Sent: Friday, January 25, 2019 2:25 PM To: Chen, Chen A mailto:chen.a.c...@intel.com>>; edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Zhang, Chao B mailto:chao.b.zh...@intel.com>> Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter. Hey I don't think MdeModulePkg can depend on ShellPkg. That is why we do not use ShellLib in the first version. Do we change the package dependency rule? Thank you Yao Jiewen > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Chen A Chen > Sent: Friday, January 25, 2019 2:14 PM > To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> > Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Zhang, Chao B > mailto:chao.b.zh...@intel.com>> > Subject: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic > of parsing parameter. > > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1482 > > No change functionality, use ShellLib to parsing command line. > > Cc: Jian J Wang mailto:jian.j.w...@intel.com>> > Cc: Hao Wu mailto:hao.a...@intel.com>> > Cc: Zhang Chao B mailto:chao.b.zh...@intel.com>> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > mailto:chen.a.c...@intel.com>> > --- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 433 > +++-- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf | 2 + > 2 files changed, 236 insertions(+), 199 deletions(-) > > diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > index 4d907242f3..acae0fe261 100644 > --- a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > #define CAPSULE_HEADER_SIZE 0x20 > > @@ -39,15 +40,27 @@ > > #define MAX_CAPSULE_NUM 10 > > -extern UINTN Argc; > -extern CHAR16 **Argv; > - > // > // Define how many block descriptors we want to test with. > // > UINTN NumberOfDescriptors = 1; > -UINTN CapsuleFirstIndex; > -UINTN CapsuleLastIndex; > + > +STATIC CONST SHELL_PARAM_ITEM ParamList[] = { > + {L"-C", TypeFlag}, > + {L"-E", TypeFlag}, > + {L"-S", TypeFlag}, > + > + {L"-NR", TypeFlag}, > + > + {L"-G", TypeValue}, > + {L"-O", TypeValue}, > + {L"-N", TypeValue}, > + {L"-D", TypeValue}, > + {L"-P", TypeValue}, > + {L"-I", TypeValue}, > + > + {NULL, TypeMax} > + }; > > /** >Dump capsule information > @@ -161,13 +174,12 @@ GetArg ( > **/ > EFI_STATUS > CreateBmpFmp ( > - VOID > + IN CHAR16 *BmpName, > + IN CHAR16 > *OutputCapsuleName >) > { > - CHAR16 > *OutputCapsuleName; >VOID *BmpBuffer; >UINTN FileSize; > - CHAR16*BmpName; >UINT8 > *FullCapsuleBuffer; >UINTN > FullCapsuleBufferSize; >EFI_DISPLAY_CAPSULE *DisplayCapsule; > @@ -191,22 +203,10 @@ CreateBmpFmp ( >// HorizontalResolution >= BMP_IMAGE_HEADER.PixelWidth >// VerticalResolution >= BMP_IMAGE_HEADER.PixelHeight > > - if (Argc != 5) { > -Print(L"CapsuleApp: Incor
Re: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter.
I think that if the application wants to depend on the libs, then we should discuss moving the application to the ShellPkg. -Jaben > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Gao, Liming > Sent: Friday, January 25, 2019 1:25 AM > To: Zhang, Chao B ; Yao, Jiewen > ; edk2-devel@lists.01.org > Cc: Wu, Hao A ; Gao, Liming > Subject: Re: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code > logic of parsing parameter. > Importance: High > > Chao: > CapsuleApp can base on gEfiShellProtocolGuid and > gEfiShellParametersProtocolGuid to do it. Current CapsuleApp bases on > these two protocols to parse the parameters. > > Thanks > Liming > From: Zhang, Chao B > Sent: Friday, January 25, 2019 3:24 PM > To: Yao, Jiewen ; edk2-devel@lists.01.org; Gao, > Liming > Cc: Wu, Hao A ; Chen, Chen A > > Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code > logic of parsing parameter. > > Jiewen & Liming: >It is a problem. Unlike UiApp. CapsuleApp is supposed to run in Shell. > ShellLib provides standard parameter parsing support. > Any suggestion on this? > > From: Yao, Jiewen > Sent: Friday, January 25, 2019 2:25 PM > To: Chen, Chen A > mailto:chen.a.c...@intel.com>>; edk2- > de...@lists.01.org<mailto:edk2-devel@lists.01.org> > Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Zhang, > Chao B mailto:chao.b.zh...@intel.com>> > Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code > logic of parsing parameter. > > Hey > I don't think MdeModulePkg can depend on ShellPkg. > > That is why we do not use ShellLib in the first version. > > Do we change the package dependency rule? > > Thank you > Yao Jiewen > > > -Original Message- > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > > Chen A Chen > > Sent: Friday, January 25, 2019 2:14 PM > > To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> > > Cc: Wu, Hao A mailto:hao.a...@intel.com>>; > Zhang, Chao B > > mailto:chao.b.zh...@intel.com>> > > Subject: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code > logic > > of parsing parameter. > > > > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1482 > > > > No change functionality, use ShellLib to parsing command line. > > > > Cc: Jian J Wang mailto:jian.j.w...@intel.com>> > > Cc: Hao Wu mailto:hao.a...@intel.com>> > > Cc: Zhang Chao B > mailto:chao.b.zh...@intel.com>> > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Chen A Chen > mailto:chen.a.c...@intel.com>> > > --- > > MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 433 > > +++-- > > MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf | 2 + > > 2 files changed, 236 insertions(+), 199 deletions(-) > > > > diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > > b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > > index 4d907242f3..acae0fe261 100644 > > --- a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > > +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > > @@ -27,6 +27,7 @@ > > #include > > #include > > #include > > +#include > > > > #define CAPSULE_HEADER_SIZE 0x20 > > > > @@ -39,15 +40,27 @@ > > > > #define MAX_CAPSULE_NUM 10 > > > > -extern UINTN Argc; > > -extern CHAR16 **Argv; > > - > > // > > // Define how many block descriptors we want to test with. > > // > > UINTN NumberOfDescriptors = 1; > > -UINTN CapsuleFirstIndex; > > -UINTN CapsuleLastIndex; > > + > > +STATIC CONST SHELL_PARAM_ITEM ParamList[] = { > > + {L"-C", TypeFlag}, > > + {L"-E", TypeFlag}, > > + {L"-S", TypeFlag}, > > + > > + {L"-NR", TypeFlag}, > > + > > + {L"-G", TypeValue}, > > + {L"-O", TypeValue}, > > + {L"-N", TypeValue}, > > + {L"-D", TypeValue}, > > + {L"-P", TypeValue}, > > + {L"-I", TypeValue}, > > + > > + {NULL, TypeMax} > > + }; > > > > /** > >Dump capsule information > > @@ -161,13 +174,12 @@ GetArg ( > > **/ > > EFI_STATUS > > CreateBmpFmp ( > > - VOID > > + IN CHAR16 *BmpName, > > + IN CHAR16 > > *OutputCapsuleName > >) > > { > > - CHAR16 > >
Re: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter.
Chao: CapsuleApp can base on gEfiShellProtocolGuid and gEfiShellParametersProtocolGuid to do it. Current CapsuleApp bases on these two protocols to parse the parameters. Thanks Liming From: Zhang, Chao B Sent: Friday, January 25, 2019 3:24 PM To: Yao, Jiewen ; edk2-devel@lists.01.org; Gao, Liming Cc: Wu, Hao A ; Chen, Chen A Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter. Jiewen & Liming: It is a problem. Unlike UiApp. CapsuleApp is supposed to run in Shell. ShellLib provides standard parameter parsing support. Any suggestion on this? From: Yao, Jiewen Sent: Friday, January 25, 2019 2:25 PM To: Chen, Chen A mailto:chen.a.c...@intel.com>>; edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Zhang, Chao B mailto:chao.b.zh...@intel.com>> Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter. Hey I don't think MdeModulePkg can depend on ShellPkg. That is why we do not use ShellLib in the first version. Do we change the package dependency rule? Thank you Yao Jiewen > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Chen A Chen > Sent: Friday, January 25, 2019 2:14 PM > To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> > Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Zhang, Chao B > mailto:chao.b.zh...@intel.com>> > Subject: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic > of parsing parameter. > > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1482 > > No change functionality, use ShellLib to parsing command line. > > Cc: Jian J Wang mailto:jian.j.w...@intel.com>> > Cc: Hao Wu mailto:hao.a...@intel.com>> > Cc: Zhang Chao B mailto:chao.b.zh...@intel.com>> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > mailto:chen.a.c...@intel.com>> > --- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 433 > +++-- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf | 2 + > 2 files changed, 236 insertions(+), 199 deletions(-) > > diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > index 4d907242f3..acae0fe261 100644 > --- a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > #define CAPSULE_HEADER_SIZE 0x20 > > @@ -39,15 +40,27 @@ > > #define MAX_CAPSULE_NUM 10 > > -extern UINTN Argc; > -extern CHAR16 **Argv; > - > // > // Define how many block descriptors we want to test with. > // > UINTN NumberOfDescriptors = 1; > -UINTN CapsuleFirstIndex; > -UINTN CapsuleLastIndex; > + > +STATIC CONST SHELL_PARAM_ITEM ParamList[] = { > + {L"-C", TypeFlag}, > + {L"-E", TypeFlag}, > + {L"-S", TypeFlag}, > + > + {L"-NR", TypeFlag}, > + > + {L"-G", TypeValue}, > + {L"-O", TypeValue}, > + {L"-N", TypeValue}, > + {L"-D", TypeValue}, > + {L"-P", TypeValue}, > + {L"-I", TypeValue}, > + > + {NULL, TypeMax} > + }; > > /** >Dump capsule information > @@ -161,13 +174,12 @@ GetArg ( > **/ > EFI_STATUS > CreateBmpFmp ( > - VOID > + IN CHAR16 *BmpName, > + IN CHAR16 > *OutputCapsuleName >) > { > - CHAR16 > *OutputCapsuleName; >VOID *BmpBuffer; >UINTN FileSize; > - CHAR16*BmpName; >UINT8 > *FullCapsuleBuffer; >UINTN > FullCapsuleBufferSize; >EFI_DISPLAY_CAPSULE *DisplayCapsule; > @@ -191,22 +203,10 @@ CreateBmpFmp ( >// HorizontalResolution >= BMP_IMAGE_HEADER.PixelWidth >// VerticalResolution >= BMP_IMAGE_HEADER.PixelHeight > > - if (Argc != 5) { > -Print(L"CapsuleApp: Incorrect parameter count.\n"); > -return EFI_UNSUPPORTED; > - } > - > - if (StrCmp(Argv[3], L"-O") != 0) { > -Print(L"CapsuleApp: NO output capsule name.\n"); > -return EFI_UNSUPPORTED; > - } > - OutputCapsuleName = Argv[4]; > - >BmpBuffer = NULL; >FileSize = 0; >FullCapsuleBuffer = NULL; > > - BmpName = Argv[2]; >Status = ReadFileToBuffer(BmpName, , ); >if (EFI_ERROR(Status)) { > Print(L"CapsuleApp: BMP image (%s) is not found.\n", BmpName); >
Re: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter.
Jiewen & Liming: It is a problem. Unlike UiApp. CapsuleApp is supposed to run in Shell. ShellLib provides standard parameter parsing support. Any suggestion on this? From: Yao, Jiewen Sent: Friday, January 25, 2019 2:25 PM To: Chen, Chen A ; edk2-devel@lists.01.org Cc: Wu, Hao A ; Zhang, Chao B Subject: RE: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter. Hey I don't think MdeModulePkg can depend on ShellPkg. That is why we do not use ShellLib in the first version. Do we change the package dependency rule? Thank you Yao Jiewen > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Chen A Chen > Sent: Friday, January 25, 2019 2:14 PM > To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org> > Cc: Wu, Hao A mailto:hao.a...@intel.com>>; Zhang, Chao B > mailto:chao.b.zh...@intel.com>> > Subject: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic > of parsing parameter. > > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1482 > > No change functionality, use ShellLib to parsing command line. > > Cc: Jian J Wang mailto:jian.j.w...@intel.com>> > Cc: Hao Wu mailto:hao.a...@intel.com>> > Cc: Zhang Chao B mailto:chao.b.zh...@intel.com>> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > mailto:chen.a.c...@intel.com>> > --- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 433 > +++-- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf | 2 + > 2 files changed, 236 insertions(+), 199 deletions(-) > > diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > index 4d907242f3..acae0fe261 100644 > --- a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > #define CAPSULE_HEADER_SIZE 0x20 > > @@ -39,15 +40,27 @@ > > #define MAX_CAPSULE_NUM 10 > > -extern UINTN Argc; > -extern CHAR16 **Argv; > - > // > // Define how many block descriptors we want to test with. > // > UINTN NumberOfDescriptors = 1; > -UINTN CapsuleFirstIndex; > -UINTN CapsuleLastIndex; > + > +STATIC CONST SHELL_PARAM_ITEM ParamList[] = { > + {L"-C", TypeFlag}, > + {L"-E", TypeFlag}, > + {L"-S", TypeFlag}, > + > + {L"-NR", TypeFlag}, > + > + {L"-G", TypeValue}, > + {L"-O", TypeValue}, > + {L"-N", TypeValue}, > + {L"-D", TypeValue}, > + {L"-P", TypeValue}, > + {L"-I", TypeValue}, > + > + {NULL, TypeMax} > + }; > > /** >Dump capsule information > @@ -161,13 +174,12 @@ GetArg ( > **/ > EFI_STATUS > CreateBmpFmp ( > - VOID > + IN CHAR16 *BmpName, > + IN CHAR16 > *OutputCapsuleName >) > { > - CHAR16 > *OutputCapsuleName; >VOID *BmpBuffer; >UINTN FileSize; > - CHAR16*BmpName; >UINT8 > *FullCapsuleBuffer; >UINTN > FullCapsuleBufferSize; >EFI_DISPLAY_CAPSULE *DisplayCapsule; > @@ -191,22 +203,10 @@ CreateBmpFmp ( >// HorizontalResolution >= BMP_IMAGE_HEADER.PixelWidth >// VerticalResolution >= BMP_IMAGE_HEADER.PixelHeight > > - if (Argc != 5) { > -Print(L"CapsuleApp: Incorrect parameter count.\n"); > -return EFI_UNSUPPORTED; > - } > - > - if (StrCmp(Argv[3], L"-O") != 0) { > -Print(L"CapsuleApp: NO output capsule name.\n"); > -return EFI_UNSUPPORTED; > - } > - OutputCapsuleName = Argv[4]; > - >BmpBuffer = NULL; >FileSize = 0; >FullCapsuleBuffer = NULL; > > - BmpName = Argv[2]; >Status = ReadFileToBuffer(BmpName, , ); >if (EFI_ERROR(Status)) { > Print(L"CapsuleApp: BMP image (%s) is not found.\n", BmpName); > @@ -425,13 +425,12 @@ IsFmpCapsuleGuid ( > **/ > EFI_STATUS > CreateNestedFmp ( > - VOID > + IN CHAR16 *CapsuleName, > + IN CHAR16 > *OutputCapsuleName >) > { > - CHAR16 > *OutputCapsuleName; >VOID *CapsuleBuffer; >UINTN FileSize; > - CHAR16*CapsuleName; >UINT8 > *FullCapsuleBuffer; >UINTN > FullCapsuleBufferSize; >EFI_CAP
Re: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic of parsing parameter.
Hey I don't think MdeModulePkg can depend on ShellPkg. That is why we do not use ShellLib in the first version. Do we change the package dependency rule? Thank you Yao Jiewen > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Chen A Chen > Sent: Friday, January 25, 2019 2:14 PM > To: edk2-devel@lists.01.org > Cc: Wu, Hao A ; Zhang, Chao B > > Subject: [edk2] [PATCH 1/3] MdeModulePkg/CapsuleApp: Refine code logic > of parsing parameter. > > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1482 > > No change functionality, use ShellLib to parsing command line. > > Cc: Jian J Wang > Cc: Hao Wu > Cc: Zhang Chao B > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Chen A Chen > --- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.c | 433 > +++-- > MdeModulePkg/Application/CapsuleApp/CapsuleApp.inf | 2 + > 2 files changed, 236 insertions(+), 199 deletions(-) > > diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > index 4d907242f3..acae0fe261 100644 > --- a/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleApp.c > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > #define CAPSULE_HEADER_SIZE 0x20 > > @@ -39,15 +40,27 @@ > > #define MAX_CAPSULE_NUM 10 > > -extern UINTN Argc; > -extern CHAR16 **Argv; > - > // > // Define how many block descriptors we want to test with. > // > UINTN NumberOfDescriptors = 1; > -UINTN CapsuleFirstIndex; > -UINTN CapsuleLastIndex; > + > +STATIC CONST SHELL_PARAM_ITEM ParamList[] = { > + {L"-C", TypeFlag}, > + {L"-E", TypeFlag}, > + {L"-S", TypeFlag}, > + > + {L"-NR", TypeFlag}, > + > + {L"-G", TypeValue}, > + {L"-O", TypeValue}, > + {L"-N", TypeValue}, > + {L"-D", TypeValue}, > + {L"-P", TypeValue}, > + {L"-I", TypeValue}, > + > + {NULL, TypeMax} > + }; > > /** >Dump capsule information > @@ -161,13 +174,12 @@ GetArg ( > **/ > EFI_STATUS > CreateBmpFmp ( > - VOID > + IN CHAR16 *BmpName, > + IN CHAR16 > *OutputCapsuleName >) > { > - CHAR16 > *OutputCapsuleName; >VOID *BmpBuffer; >UINTN FileSize; > - CHAR16*BmpName; >UINT8 > *FullCapsuleBuffer; >UINTN > FullCapsuleBufferSize; >EFI_DISPLAY_CAPSULE *DisplayCapsule; > @@ -191,22 +203,10 @@ CreateBmpFmp ( >// HorizontalResolution >= BMP_IMAGE_HEADER.PixelWidth >// VerticalResolution >= BMP_IMAGE_HEADER.PixelHeight > > - if (Argc != 5) { > -Print(L"CapsuleApp: Incorrect parameter count.\n"); > -return EFI_UNSUPPORTED; > - } > - > - if (StrCmp(Argv[3], L"-O") != 0) { > -Print(L"CapsuleApp: NO output capsule name.\n"); > -return EFI_UNSUPPORTED; > - } > - OutputCapsuleName = Argv[4]; > - >BmpBuffer = NULL; >FileSize = 0; >FullCapsuleBuffer = NULL; > > - BmpName = Argv[2]; >Status = ReadFileToBuffer(BmpName, , ); >if (EFI_ERROR(Status)) { > Print(L"CapsuleApp: BMP image (%s) is not found.\n", BmpName); > @@ -425,13 +425,12 @@ IsFmpCapsuleGuid ( > **/ > EFI_STATUS > CreateNestedFmp ( > - VOID > + IN CHAR16 *CapsuleName, > + IN CHAR16 > *OutputCapsuleName >) > { > - CHAR16 > *OutputCapsuleName; >VOID *CapsuleBuffer; >UINTN FileSize; > - CHAR16*CapsuleName; >UINT8 > *FullCapsuleBuffer; >UINTN > FullCapsuleBufferSize; >EFI_CAPSULE_HEADER > *NestedCapsuleHeader; > @@ -439,22 +438,10 @@ CreateNestedFmp ( >UINT32FwType; >EFI_STATUSStatus; > > - if (Argc != 5) { > -Print(L"CapsuleApp: Incorrect parameter count.\n"); > -return EFI_UNSUPPORTED; > - } > - > - if (StrCmp(Argv[3], L"-O") != 0) { > -Print(L"CapsuleApp: NO output capsule name.\n"); > -return EFI_UNSUPPORTED; > - } > - OutputCapsuleName = Argv[4]; > - >CapsuleBuffer = NULL; >FileSize = 0; >FullCapsuleBuffer = NULL; > > - CapsuleName = Argv[2]; >Status = ReadFileToBuffer(CapsuleName, , ); >if (EFI_ERROR(Status)) { > Print(L"CapsuleApp: Capsule image (%s) is not found.\n", > CapsuleName); > @@ -807,7 +794,7 @@ PrintUsage ( >Print(L" CapsuleApp -G -O \n"); >Print(L" CapsuleApp -N -O \n"); >Print(L" CapsuleApp -D \n"); > - Print(L" CapsuleApp -P GET -O \n"); > + Print(L" CapsuleApp -P -I -O \n"); >Print(L"Parameter:\n"); >Print(L" -NR: No reset will be triggered for the capsule with\n"); >Print(L" CAPSULE_FLAGS_PERSIST_ACROSS_RESET and > without\n"); > @@ -817,8 +804,7 @@ PrintUsage ( >