Re: [edk2] [patch] MdeModulePkg/DisplayEngine: Fix memory leak issues in DisplayEngine

2016-05-19 Thread Sheng, Cecil (HPS SW)
Hi Dandan,

The InputHandle.c one looks good. About the ProcessOptions.c one, I propose 
remove the lines starting "FreePool (StringPtr)", the following "if (EFI_ERROR 
(Status))" because it's  useless, and the "return Status" line. Then the 
clean-up block at the end of function frees the strings.


Sincerely,

Cecil Sheng
ISS Firmware Development
HPE Servers


-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Dandan Bi
Sent: Thursday, May 19, 2016 7:30 PM
To: edk2-devel@lists.01.org
Cc: Qiu Shumin ; Eric Dong 
Subject: [edk2] [patch] MdeModulePkg/DisplayEngine: Fix memory leak issues in 
DisplayEngine

Cc: Qiu Shumin 
Cc: Eric Dong 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi 
Reviewed-by: Eric Dong 
---
 MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c   | 5 +
 MdeModulePkg/Universal/DisplayEngineDxe/ProcessOptions.c | 3 ++-
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c 
b/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c
index 732dd2f..8e7b735 100644
--- a/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c
+++ b/MdeModulePkg/Universal/DisplayEngineDxe/InputHandler.c
@@ -1,9 +1,9 @@
 /** @file
 Implementation for handling user input from the User Interfaces.
 
-Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
 This program and the accompanying materials  are licensed and made available 
under the terms and conditions of the BSD License  which accompanies this 
distribution.  The full text of the license may be found at  
http://opensource.org/licenses/bsd-license.php
 
@@ -1297,13 +1297,10 @@ GetSelectionInputPopUp (
   ValueType = 0;
   CurrentOption = NULL;
   ShowDownArrow = FALSE;
   ShowUpArrow   = FALSE;
 
-  StringPtr = AllocateZeroPool ((gOptionBlockWidth + 1) * 2);
-  ASSERT (StringPtr);
-
   ZeroMem (&HiiValue, sizeof (EFI_HII_VALUE));
 
   Question = MenuOption->ThisTag;
   if (Question->OpCode->OpCode == EFI_IFR_ORDERED_LIST_OP) {
 Link = GetFirstNode (&Question->OptionListHead); diff --git 
a/MdeModulePkg/Universal/DisplayEngineDxe/ProcessOptions.c 
b/MdeModulePkg/Universal/DisplayEngineDxe/ProcessOptions.c
index bb2faf3..16aaf6c 100644
--- a/MdeModulePkg/Universal/DisplayEngineDxe/ProcessOptions.c
+++ b/MdeModulePkg/Universal/DisplayEngineDxe/ProcessOptions.c
@@ -1,10 +1,10 @@
 /** @file
 Implementation for handling the User Interface option processing.
 
 
-Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
 This program and the accompanying materials  are licensed and made available 
under the terms and conditions of the BSD License  which accompanies this 
distribution.  The full text of the license may be found at  
http://opensource.org/licenses/bsd-license.php
 
@@ -884,10 +884,11 @@ PasswordProcess (
 gUserInput->InputValue.Buffer = AllocateCopyPool 
(Question->CurrentValue.BufferLen, StringPtr);
 gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;
 gUserInput->InputValue.Type = Question->CurrentValue.Type;
 gUserInput->InputValue.Value.string = HiiSetString(gFormData->HiiHandle, 
gUserInput->InputValue.Value.string, StringPtr, NULL);
 FreePool (StringPtr); 
+FreePool (TempString);
 
 Status = EFI_SUCCESS;
 
 if (EFI_ERROR (Status)) {
   //
--
1.9.5.msysgit.1

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


Re: [edk2] [PATCH] MdeModulePkg: Fixed incorrect Regular expression protocol MatchString return value.

2016-03-18 Thread Sheng, Cecil (HPS SW)
Hi Star,

Thank you, I'll update the patch.



Sincerely,

Cecil Sheng
ISS Firmware Development
HPE Servers

-Original Message-
From: Zeng, Star [mailto:star.z...@intel.com] 
Sent: Wednesday, March 16, 2016 5:04 PM
To: Sheng, Cecil (HPS SW) ; edk2-devel@lists.01.org
Cc: feng.t...@intel.com; Eric Dong 
Subject: Re: [edk2] [PATCH] MdeModulePkg: Fixed incorrect Regular expression 
protocol MatchString return value.

Minor comments below.

On 2016/3/15 10:38, Sheng, Cecil (HPS SW) wrote:
>
> Loop maintainers.
>
>
> Sincerely,
>
> Cecil Sheng
> ISS Firmware Development
> HPE Servers
>
>
> -Original Message-
> From: Sheng, Cecil (HPS SW)
> Sent: Tuesday, March 1, 2016 1:17 PM
> To: edk2-devel@lists.01.org
> Cc: El-Haj-Mahmoud, Samer; Sheng, Cecil (HPS SW)
> Subject: [PATCH] MdeModulePkg: Fixed incorrect Regular expression protocol 
> MatchString return value.
>
> According to UEFI2.6, CapturePtr in the Captures array returned by 
> MatchString() should be separatedly allocated so that they can be freed by 
> the caller.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Cecil Sheng 
> Reviewed-by: Samer El-Haj-Mahmoud 
> ---
>   .../RegularExpressionDxe/RegularExpressionDxe.c| 32 
> ++
>   1 file changed, 27 insertions(+), 5 deletions(-)
>
> diff --git 
> a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c 
> b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c
> index cffbcb8..c6354b6 100644
> --- 
> a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c
> +++ b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe
> +++ .c
> @@ -2,7 +2,7 @@
>
> EFI_REGULAR_EXPRESSION_PROTOCOL Implementation
>
> -  (C) Copyright 2015 Hewlett Packard Enterprise Development LP
> +  (C) Copyright 2015-2016 Hewlett Packard Enterprise Development 
> + LP
>
> This program and the accompanying materials are licensed and made 
> available
> under the terms and conditions of the BSD License that accompanies this 
> @@ -91,6 +91,8 @@ OnigurumaMatch (
> CHAR8   ErrorMessage[ONIG_MAX_ERROR_MESSAGE_LEN];
> UINT32  Index;
> OnigUChar   *Start;
> +  EFI_STATUS  Status;
> +
>
> //
> // Detemine the internal syntax type @@ -102,7 +104,7 @@ 
> OnigurumaMatch (
>   OnigSyntax = ONIG_SYNTAX_PERL;
> } else {
>   DEBUG ((DEBUG_ERROR, "Unsupported regex syntax - using default\n"));
> -ASSERT (FALSE);
> +return EFI_UNSUPPORTED;
> }
>
> //
> @@ -143,6 +145,8 @@ OnigurumaMatch (
>Region,
>ONIG_OPTION_NONE
>);
> +
> +  Status = EFI_SUCCESS;

[MARK]

> if (OnigResult >= 0) {
>   *Result = TRUE;
> } else {
> @@ -150,6 +154,9 @@ OnigurumaMatch (
>   if (OnigResult != ONIG_MISMATCH) {
> onig_error_code_to_str (ErrorMessage, OnigResult);
> DEBUG ((DEBUG_ERROR, "Regex match failed: %a\n", 
> ErrorMessage));
> +  onig_region_free (Region, 1);
> +  onig_free (OnigRegex);
> +  return EFI_DEVICE_ERROR;
>   }
> }


Why not to put Status initialization(see [MARK]) here or just at the beginning 
of the function as the code block above does not use the Status variable?

>
> @@ -158,14 +165,29 @@ OnigurumaMatch (
> //
> if (*Result && Captures != NULL) {
>   *CapturesCount = Region->num_regs;
> -*Captures = AllocatePool (*CapturesCount * sizeof(**Captures));
> +*Captures = AllocateZeroPool (*CapturesCount * sizeof(**Captures));
>   if (*Captures != NULL) {
> for (Index = 0; Index < *CapturesCount; ++Index) {
>   //
>   // Region beg/end values represent bytes, not characters
>   //
> -(*Captures)[Index].CapturePtr = (CHAR16*)((UINTN)String + 
> Region->beg[Index]);
>   (*Captures)[Index].Length = (Region->end[Index] - 
> Region->beg[Index]) / sizeof(CHAR16);
> +(*Captures)[Index].CapturePtr = AllocateCopyPool (
> +  ((*Captures)[Index].Length) * 
> sizeof (CHAR16),
> +  (CHAR16*)((UINTN)String + 
> Region->beg[Index])
> +  );
> +if ((*Captures)[Index].CapturePtr == NULL) {
> +  Status = EFI_OUT_OF_RESOURCES;
> +  break;
> +}
> +  }
> +
> +  if (EFI_ERROR (Status)) {
> +for (Index = 0; Index < *CapturesCount; ++Index) {
> +  if ((*Captures)[Index].CapturePtr != NULL) {
> +FreePool (

Re: [edk2] [PATCH] MdeModulePkg: Fixed incorrect Regular expression protocol MatchString return value.

2016-03-14 Thread Sheng, Cecil (HPS SW)

Loop maintainers.


Sincerely,

Cecil Sheng
ISS Firmware Development
HPE Servers


-Original Message-
From: Sheng, Cecil (HPS SW) 
Sent: Tuesday, March 1, 2016 1:17 PM
To: edk2-devel@lists.01.org
Cc: El-Haj-Mahmoud, Samer; Sheng, Cecil (HPS SW)
Subject: [PATCH] MdeModulePkg: Fixed incorrect Regular expression protocol 
MatchString return value.

According to UEFI2.6, CapturePtr in the Captures array returned by 
MatchString() should be separatedly allocated so that they can be freed by the 
caller.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cecil Sheng 
Reviewed-by: Samer El-Haj-Mahmoud 
---
 .../RegularExpressionDxe/RegularExpressionDxe.c| 32 ++
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c 
b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c
index cffbcb8..c6354b6 100644
--- a/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c
+++ b/MdeModulePkg/Universal/RegularExpressionDxe/RegularExpressionDxe.c
@@ -2,7 +2,7 @@
 
   EFI_REGULAR_EXPRESSION_PROTOCOL Implementation
 
-  (C) Copyright 2015 Hewlett Packard Enterprise Development LP
+  (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
 
   This program and the accompanying materials are licensed and made available
   under the terms and conditions of the BSD License that accompanies this @@ 
-91,6 +91,8 @@ OnigurumaMatch (
   CHAR8   ErrorMessage[ONIG_MAX_ERROR_MESSAGE_LEN];
   UINT32  Index;
   OnigUChar   *Start;
+  EFI_STATUS  Status;
+
 
   //
   // Detemine the internal syntax type
@@ -102,7 +104,7 @@ OnigurumaMatch (
 OnigSyntax = ONIG_SYNTAX_PERL;
   } else {
 DEBUG ((DEBUG_ERROR, "Unsupported regex syntax - using default\n"));
-ASSERT (FALSE);
+return EFI_UNSUPPORTED;
   }
 
   //
@@ -143,6 +145,8 @@ OnigurumaMatch (
  Region,
  ONIG_OPTION_NONE
  );
+
+  Status = EFI_SUCCESS;
   if (OnigResult >= 0) {
 *Result = TRUE;
   } else {
@@ -150,6 +154,9 @@ OnigurumaMatch (
 if (OnigResult != ONIG_MISMATCH) {
   onig_error_code_to_str (ErrorMessage, OnigResult);
   DEBUG ((DEBUG_ERROR, "Regex match failed: %a\n", ErrorMessage));
+  onig_region_free (Region, 1);
+  onig_free (OnigRegex);
+  return EFI_DEVICE_ERROR;
 }
   }
 
@@ -158,14 +165,29 @@ OnigurumaMatch (
   //
   if (*Result && Captures != NULL) {
 *CapturesCount = Region->num_regs;
-*Captures = AllocatePool (*CapturesCount * sizeof(**Captures));
+*Captures = AllocateZeroPool (*CapturesCount * sizeof(**Captures));
 if (*Captures != NULL) {
   for (Index = 0; Index < *CapturesCount; ++Index) {
 //
 // Region beg/end values represent bytes, not characters
 //
-(*Captures)[Index].CapturePtr = (CHAR16*)((UINTN)String + 
Region->beg[Index]);
 (*Captures)[Index].Length = (Region->end[Index] - Region->beg[Index]) 
/ sizeof(CHAR16);
+(*Captures)[Index].CapturePtr = AllocateCopyPool (
+  ((*Captures)[Index].Length) * sizeof 
(CHAR16),
+  (CHAR16*)((UINTN)String + 
Region->beg[Index])
+  );
+if ((*Captures)[Index].CapturePtr == NULL) {
+  Status = EFI_OUT_OF_RESOURCES;
+  break;
+}
+  }
+
+  if (EFI_ERROR (Status)) {
+for (Index = 0; Index < *CapturesCount; ++Index) {
+  if ((*Captures)[Index].CapturePtr != NULL) {
+FreePool ((CHAR16*)(*Captures)[Index].CapturePtr);
+  }
+}
   }
 }
   }
@@ -173,7 +195,7 @@ OnigurumaMatch (
   onig_region_free (Region, 1);
   onig_free (OnigRegex);
 
-  return EFI_SUCCESS;
+  return Status;
 }
 
 /**
--
2.6.3.windows.1

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


Re: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder protocol definition.

2016-03-03 Thread Sheng, Cecil (HPS SW)
Hi Dandan,

I've corrected two places in the EFI_HII_IMAGE_DECODER_PROTOCOL.
1. NumberOfDecoderName in GetImageDecoderName() should be a pointer 
because it's an OUT parameter.
2. the typedef for Decode() are not consistent between the protocol 
definition and the function definition.

There's an ECR to correct the second one but not the first one. However, they 
are both incorrect in 2.6.




Sincerely,

Cecil Sheng
ISS Firmware Development
HPE Servers

-Original Message-
From: Bi, Dandan [mailto:dandan...@intel.com] 
Sent: Thursday, March 3, 2016 11:05 AM
To: Sheng, Cecil (HPS SW); edk2-devel@lists.01.org
Cc: Dong, Eric; Gao, Liming
Subject: RE: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder 
protocol definition.

Hi Cecil,

 I still find that the function description are not consistent with the spec in 
the V2 patch, you use the Summary part not the Description part in the spec. 
You can refer  to the definition of other protocol to double check. 
And there are two same return status  (EFI_INVALID_PARAMETER )in 
EFI_HII_DRAW_IMAGE_EX.
+  @retval EFI_SUCCESSThe image was successfully drawn.
+  @retval EFI_OUT_OF_RESOURCES   Unable to allocate an output buffer for Blt.
+  @retval EFI_INVALID_PARAMETER  The Image or Blt was NULL.
+  @retval EFI_INVALID_PARAMETER  Any combination of Flags is invalid.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HII_DRAW_IMAGE_EX)(
+  IN CONST  EFI_HII_IMAGE_EX_PROTOCOL   *This,
+  INEFI_HII_DRAW_FLAGS  Flags,
+  IN CONST  EFI_IMAGE_INPUT *Image,
+  IN OUTEFI_IMAGE_OUTPUT**Blt,
+  INUINTN   BltX,
+  INUINTN   BltY
+  );

And could  you point out  the errors in the EFI_HII_IMAGE_DECODER_PROTOCOL 
protocol definition in the spec?
Since we don't know the issues in spec, it may has an effect on the review.


Thanks,
Dandan




-Original Message-
From: Sheng, Cecil (HPS SW) [mailto:cecil.sh...@hpe.com]
Sent: Wednesday, March 2, 2016 10:58 AM
To: Bi, Dandan ; edk2-devel@lists.01.org
Cc: Dong, Eric ; Gao, Liming 
Subject: RE: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder 
protocol definition.

Hi Dandan,

Thanks for your reply. I've corrected those and sent a v2 patch for review. 
There are some errors in the EFI_HII_IMAGE_DECODER_PROTOCOL protocol definition 
in the spec which make the protocol un-usable and non-compil-able.  So I had to 
correct them in the header file.



Sincerely,

Cecil Sheng
ISS Firmware Development
HPE Servers

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Bi, 
Dandan
Sent: Friday, February 26, 2016 4:01 PM
To: Sheng, Cecil (HPS SW); edk2-devel@lists.01.org
Cc: Dong, Eric; Gao, Liming
Subject: Re: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder 
protocol definition.

Hi Cecil,

  I have some comments for this patch:
  For EFI_HII_IMAGE_DECODER_PROTOCOL:
  (1) There is a typo, it is EFI_HII_IMAGE_DECODER_PROTOCOL not 
EFI_HII_IMAGE_DECO(R)DER_PROTOCOL, please double check to remove all the 
incorrect case.

  (2) EFI_HII_IMAGE_DECODER_PROTOCOL_GUID  is not defined in ImageDecoder.h.

  (3) The members  in EFI_HII_IMAGE_DECODER_PROTOCOL should  be consistent with 
UEFI2.6 spec.
   In spec they are:
EFI_HII_IMAGE_DECODER_GET_NAME Get(Image)DecoderName;
EFI_HII_IMAGE_DECODER_GET_IMAGE_INFO GetImageInfo;
EFI_HII_IMAGE_DECODE  Decode(Image);
   But yours:
EFI_HII_IMAGE_DECORDER_GET_DECODER_NAME  GetDecoderName;
EFI_HII_IMAGE_DECORDER_GET_IMAGE_INFOGetImageInfo;
EFI_HII_IMAGE_(DECORDER)_DECODEDecode;

  (4) The comments (including function description, parameter, return status) 
in each function should be consistent with UEFI2.6 spec.
Take function GetImageDecoderName() as an example,
The function description in spec is :
There could be more than one EFI_HII_IMAGE_DECODER_PROTOCOL instances 
installed in the
system for different image formats. This function returns the decoder name 
which callers can use to
find the proper image decoder for the image. It is possible to support 
multiple image formats in one
EFI_HII_IMAGE_DECODER_PROTOCOL. The capability of the supported image 
formats is
returned in DecoderName and NumberOfDecoderName.
But yours:
 /**
  This function returns the decoder name.
  @param ..
**/

   For EFI_HII_IMAGE_EX_PROTOCOL:
There also exit the cases that the function comments and member name in 
EFI_HII_IMAGE_EX_PROTOCOL are
 not consistent with UEFI 2.6 Spec.

  In summary, please double check the patch to make sure all the definition 
follow the UEFI2.6 Spec.

Thanks,
Dandan

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Cecil 
Sheng
Sent: Thursday, February 25, 2016 4:56 PM
To: edk2-devel@lists.01.org
Cc: Cecil Sheng
Subje

Re: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder protocol definition.

2016-03-01 Thread Sheng, Cecil (HPS SW)
Hi Dandan,

Thanks for your reply. I've corrected those and sent a v2 patch for review. 
There are some errors in the EFI_HII_IMAGE_DECODER_PROTOCOL protocol definition 
in the spec which make the protocol un-usable and non-compil-able.  So I had to 
correct them in the header file.



Sincerely,

Cecil Sheng
ISS Firmware Development
HPE Servers

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Bi, 
Dandan
Sent: Friday, February 26, 2016 4:01 PM
To: Sheng, Cecil (HPS SW); edk2-devel@lists.01.org
Cc: Dong, Eric; Gao, Liming
Subject: Re: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder 
protocol definition.

Hi Cecil,

  I have some comments for this patch:
  For EFI_HII_IMAGE_DECODER_PROTOCOL:
  (1) There is a typo, it is EFI_HII_IMAGE_DECODER_PROTOCOL not 
EFI_HII_IMAGE_DECO(R)DER_PROTOCOL, please double check to remove all the 
incorrect case.

  (2) EFI_HII_IMAGE_DECODER_PROTOCOL_GUID  is not defined in ImageDecoder.h.

  (3) The members  in EFI_HII_IMAGE_DECODER_PROTOCOL should  be consistent with 
UEFI2.6 spec.
   In spec they are:
EFI_HII_IMAGE_DECODER_GET_NAME Get(Image)DecoderName;
EFI_HII_IMAGE_DECODER_GET_IMAGE_INFO GetImageInfo;
EFI_HII_IMAGE_DECODE  Decode(Image);
   But yours:
EFI_HII_IMAGE_DECORDER_GET_DECODER_NAME  GetDecoderName;
EFI_HII_IMAGE_DECORDER_GET_IMAGE_INFOGetImageInfo;
EFI_HII_IMAGE_(DECORDER)_DECODEDecode;

  (4) The comments (including function description, parameter, return status) 
in each function should be consistent with UEFI2.6 spec.
Take function GetImageDecoderName() as an example,
The function description in spec is :
There could be more than one EFI_HII_IMAGE_DECODER_PROTOCOL instances 
installed in the
system for different image formats. This function returns the decoder name 
which callers can use to
find the proper image decoder for the image. It is possible to support 
multiple image formats in one
EFI_HII_IMAGE_DECODER_PROTOCOL. The capability of the supported image 
formats is
returned in DecoderName and NumberOfDecoderName.
But yours:
 /**
  This function returns the decoder name.
  @param ..
**/

   For EFI_HII_IMAGE_EX_PROTOCOL:
There also exit the cases that the function comments and member name in 
EFI_HII_IMAGE_EX_PROTOCOL are
 not consistent with UEFI 2.6 Spec.

  In summary, please double check the patch to make sure all the definition 
follow the UEFI2.6 Spec.

Thanks,
Dandan

-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Cecil 
Sheng
Sent: Thursday, February 25, 2016 4:56 PM
To: edk2-devel@lists.01.org
Cc: Cecil Sheng
Subject: [edk2] [PATCH] MdePkg: Add UEFI2.6 HII Image Ex and Image Decoder 
protocol definition.

Add the definition for the new UEFI 2.6 EFI_HII_IMAGE_EX_PROTOCOL and 
EFI_IMAGE_DECODER_PROTOCOL.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cecil Sheng 
Reviewed-by: Samer El-Haj-Mahmoud 
Reviewed-by: Abner Chang 
---
 MdePkg/Include/Protocol/HiiImageEx.h   | 234 +
 MdePkg/Include/Protocol/ImageDecoder.h | 164 +++
 MdePkg/MdePkg.dec  |  13 ++
 3 files changed, 411 insertions(+)
 create mode 100644 MdePkg/Include/Protocol/HiiImageEx.h
 create mode 100644 MdePkg/Include/Protocol/ImageDecoder.h

diff --git a/MdePkg/Include/Protocol/HiiImageEx.h 
b/MdePkg/Include/Protocol/HiiImageEx.h
new file mode 100644
index 000..c7ff991
--- /dev/null
+++ b/MdePkg/Include/Protocol/HiiImageEx.h
@@ -0,0 +1,234 @@
+/** @file
+  Protocol which allows access to the images in the images database.
+
+(C) Copyright 2016 Hewlett Packard Enterprise Development LP
+
+This program and the accompanying materials are licensed and made 
+available under the terms and conditions of the BSD License that accompanies 
this distribution.
+The full text of the license may be found at 
+http://opensource.org/licenses/bsd-license.php.
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef EFI_HII_IMAGE_EX_H
+#define EFI_HII_IMAGE_EX_H
+
+#include 
+//
+// Global ID for the Hii Image Ex Protocol.
+//
+#define EFI_HII_IMAGE_EX_PROTOCOL_GUID \
+  {0x1a1241e6, 0x8f19, 0x41a9,  { 0xbc, 0xe, 0xe8, 0xef, 0x39, 0xe0, 
+0x65, 0x46 }}
+
+typedef struct _EFI_HII_IMAGE_EX_PROTOCOL EFI_HII_IMAGE_EX_PROTOCOL;
+
+/**
+  This function adds the image to the group of images owned by 
+PackageList, and returns
+  a new image identifier (ImageId).
+
+  @param  This   A pointer to the EFI_HII_IMAGE_EX_PROTOCOL 
instance.
+  @param  PackageListHandle of the package list where this image 
will
+ be added.
+  @param  ImageIdOn return, contains the new ima

[edk2] C Coding Standards Specification disappeared

2015-11-03 Thread Sheng, Cecil (HPS SW)
Hi,

The "EDK II C Coding Standards Specification v2" listed on 
http://tianocore.sourceforge.net/wiki/EDK_II_User_Documentation cannot be 
found.  Is it moved to another place or ?



Sincerely,

Cecil Sheng
ISS Firmware Development
HP Servers

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


Re: [edk2] [PATCH v4] MdeModulePkg: Regular expression protocol

2015-08-20 Thread Sheng, Cecil (HPS SW)
The patch is now on github at 
https://github.com/zcecil/edk2/commit/132f76bf23fa424d27c8063ff77855ebc7c0fb0a.patch
 

Please kindly review it. Thank you.


Sincerely,

Cecil Sheng
ISS Firmware Development
HP Servers

-Original Message-
From: Sheng, Cecil (HPS SW) 
Sent: Friday, August 21, 2015 8:45 AM
To: 'Leif Lindholm'
Cc: edk2-devel@lists.01.org
Subject: RE: [edk2] [PATCH v4] MdeModulePkg: Regular expression protocol

Hi Leif,

The DSC/FDF attachment is in this mail 
http://sourceforge.net/p/edk2/mailman/message/34382850/.


As for this one, my guess is it's filtered out by the mail list server. I'll 
attach it again and if it fails again I have to find another way to post it :(


Sincerely,

Cecil Sheng
ISS Firmware Development
HP Servers

-Original Message-
From: Leif Lindholm [mailto:leif.lindh...@linaro.org] 
Sent: Friday, August 21, 2015 7:15 AM
To: Sheng, Cecil (HPS SW)
Cc: edk2-devel@lists.01.org; El-Haj-Mahmoud, Samer; Dong, Eric
Subject: Re: [edk2] [PATCH v4] MdeModulePkg: Regular expression protocol

Hi Cecil,

I am a little bit confused - I cannot see any zip file?
Actually, I can also not see anything attached to the previous email you sent, 
regarding nested includes in DSC/FDF files.

Regards,

Leif

On 20 August 2015 at 08:02, Sheng, Cecil (HPS SW)  wrote:
> Hi,
>
> The patch file is too large so I compressed it as a zip. The updated patch 
> addressed previous comments and also fixed 64 bit build errors.
>
>
>
>
> Sincerely,
>
> Cecil Sheng
> ISS Firmware Development
> HP Servers
>
> ___
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [PATCH v4] MdeModulePkg: Regular expression protocol

2015-08-20 Thread Sheng, Cecil (HPS SW)
Hi Leif,

The DSC/FDF attachment is in this mail 
http://sourceforge.net/p/edk2/mailman/message/34382850/.


As for this one, my guess is it's filtered out by the mail list server. I'll 
attach it again and if it fails again I have to find another way to post it :(


Sincerely,

Cecil Sheng
ISS Firmware Development
HP Servers

-Original Message-
From: Leif Lindholm [mailto:leif.lindh...@linaro.org] 
Sent: Friday, August 21, 2015 7:15 AM
To: Sheng, Cecil (HPS SW)
Cc: edk2-devel@lists.01.org; El-Haj-Mahmoud, Samer; Dong, Eric
Subject: Re: [edk2] [PATCH v4] MdeModulePkg: Regular expression protocol

Hi Cecil,

I am a little bit confused - I cannot see any zip file?
Actually, I can also not see anything attached to the previous email you sent, 
regarding nested includes in DSC/FDF files.

Regards,

Leif

On 20 August 2015 at 08:02, Sheng, Cecil (HPS SW)  wrote:
> Hi,
>
> The patch file is too large so I compressed it as a zip. The updated patch 
> addressed previous comments and also fixed 64 bit build errors.
>
>
>
>
> Sincerely,
>
> Cecil Sheng
> ISS Firmware Development
> HP Servers
>
> ___
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [PATCH v4] MdeModulePkg: Regular expression protocol

2015-08-20 Thread Sheng, Cecil (HPS SW)
Hi,

The patch file is too large so I compressed it as a zip. The updated patch 
addressed previous comments and also fixed 64 bit build errors.




Sincerely,

Cecil Sheng
ISS Firmware Development
HP Servers

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


[edk2] [PATCH] BaseTools: Add support for nested !include in FDF and DSC files Also added code to detect include loops and enhanced error reporting for included files

2015-08-18 Thread Sheng, Cecil (HPS SW)

(The previous mail got rejected by the mail list so I have to resent again.)

Hi,

Sorry for the delayed update. Please review the attachment for changes to 
support nested include in DSC and FDF files. The performance impact in previous 
patch has been addressed.




Sincerely,

Cecil Sheng
ISS Firmware Development
HP Servers

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