Cinnamon,

Minor rewording of the detailed descriptions of the PCDs included below.

With those comment changes:

Reviewed-by: Michael Kinney <[email protected]>

Mike

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of 
> Cinnamon Shia
> Sent: Monday, March 7, 2016 10:07 AM
> To: [email protected]
> Subject: [edk2] [PATCH v3] MdeModulePkg: Increase the maximum number of PEI 
> performance
> log entries
> 
> The maximum number of PEI performance log entries is 255.
> Add a new PCD, PcdMaxPeiPerformanceLogEntries16, to increase the maximum
> number of PEI performance log entries.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Cinnamon Shia <[email protected]>
> Reviewed-by: Samer EL-Haj-Mahmoud <[email protected]>
> ---
>  .../DxeCorePerformanceLib/DxeCorePerformanceLib.c    |  5 ++++-
>  .../DxeCorePerformanceLib/DxeCorePerformanceLib.inf  |  6 ++++--
>  .../Library/PeiPerformanceLib/PeiPerformanceLib.c    | 20 
> +++++++++++++++-----
>  .../Library/PeiPerformanceLib/PeiPerformanceLib.inf  |  6 ++++--
>  MdeModulePkg/MdeModulePkg.dec                        |  9 +++++++++
>  5 files changed, 36 insertions(+), 10 deletions(-)
> 
> diff --git 
> a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> index 0eb8e57..7c35b8d 100644
> --- a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> +++ b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> @@ -11,6 +11,7 @@
>    Performance Protocol is installed at the very beginning of DXE phase.
> 
>  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
> +(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
>  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
> @@ -522,7 +523,9 @@ DxeCorePerformanceLibConstructor (
>                    );
>    ASSERT_EFI_ERROR (Status);
> 
> -  mMaxGaugeRecords = INIT_DXE_GAUGE_DATA_ENTRIES + PcdGet8
> (PcdMaxPeiPerformanceLogEntries);
> +  mMaxGaugeRecords = INIT_DXE_GAUGE_DATA_ENTRIES + (UINT16) (PcdGet16
> (PcdMaxPeiPerformanceLogEntries) != 0 ?
> +                                                             PcdGet16
> (PcdMaxPeiPerformanceLogEntries) != 0 :
> +                                                             PcdGet8
> (PcdMaxPeiPerformanceLogEntries));
> 
>    mGaugeData = AllocateZeroPool (sizeof (GAUGE_DATA_HEADER) + (sizeof
> (GAUGE_DATA_ENTRY_EX) * mMaxGaugeRecords));
>    ASSERT (mGaugeData != NULL);
> diff --git 
> a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
> b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
> index 5f29063..f73d0a4 100644
> --- a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
> +++ b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
> @@ -10,6 +10,7 @@
>  #  Performance and PerformanceEx Protocol are installed at the very 
> beginning of DXE
> phase.
>  #
>  #  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
> +# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
>  #  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
> @@ -66,5 +67,6 @@
>    gPerformanceExProtocolGuid
> 
>  [Pcd]
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries ## CONSUMES
> -  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask    ## CONSUMES
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries   ## CONSUMES
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries16 ## CONSUMES
> +  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask      ## CONSUMES
> diff --git a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> index 9674bbc..5a3c784 100644
> --- a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> +++ b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> @@ -4,10 +4,11 @@
>    This file implements all APIs in Performance Library class in MdePkg. It 
> creates
>    performance logging GUIDed HOB on the first performance logging and then 
> logs the
>    performance data to the GUIDed HOB. Due to the limitation of temporary 
> RAM, the
> maximum
> -  number of performance logging entry is specified by 
> PcdMaxPeiPerformanceLogEntries.
> +  number of performance logging entry is specified by 
> PcdMaxPeiPerformanceLogEntries
> or
> +  PcdMaxPeiPerformanceLogEntries16
> 
>  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
> -(C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
> +(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
>  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
> @@ -51,10 +52,14 @@ InternalGetPerformanceHobLog (
>  {
>    EFI_HOB_GUID_TYPE           *GuidHob;
>    UINTN                       PeiPerformanceSize;
> +  UINT16                      PeiPerformanceLogEntries;
> 
>    ASSERT (PeiPerformanceLog != NULL);
>    ASSERT (PeiPerformanceIdArray != NULL);
> 
> +  PeiPerformanceLogEntries = (UINT16) (PcdGet16 
> (PcdMaxPeiPerformanceLogEntries16) !=
> 0 ?
> +                                       PcdGet16 
> (PcdMaxPeiPerformanceLogEntries16) :
> +                                       PcdGet8 
> (PcdMaxPeiPerformanceLogEntries));
>    GuidHob = GetFirstGuidHob (&gPerformanceProtocolGuid);
> 
>    if (GuidHob != NULL) {
> @@ -71,11 +76,11 @@ InternalGetPerformanceHobLog (
>      // PEI Performance HOB was not found, then build one.
>      //
>      PeiPerformanceSize     = sizeof (PEI_PERFORMANCE_LOG_HEADER) +
> -                             sizeof (PEI_PERFORMANCE_LOG_ENTRY) * PcdGet8
> (PcdMaxPeiPerformanceLogEntries);
> +                             sizeof (PEI_PERFORMANCE_LOG_ENTRY) *
> PeiPerformanceLogEntries;
>      *PeiPerformanceLog     = BuildGuidHob (&gPerformanceProtocolGuid,
> PeiPerformanceSize);
>      *PeiPerformanceLog     = ZeroMem (*PeiPerformanceLog, 
> PeiPerformanceSize);
> 
> -    PeiPerformanceSize     = sizeof (UINT32) * PcdGet8
> (PcdMaxPeiPerformanceLogEntries);
> +    PeiPerformanceSize     = sizeof (UINT32) * PeiPerformanceLogEntries;
>      *PeiPerformanceIdArray = BuildGuidHob (&gPerformanceExProtocolGuid,
> PeiPerformanceSize);
>      *PeiPerformanceIdArray = ZeroMem (*PeiPerformanceIdArray, 
> PeiPerformanceSize);
>    }
> @@ -180,10 +185,15 @@ StartPerformanceMeasurementEx (
>    UINT32                      *PeiPerformanceIdArray;
>    PEI_PERFORMANCE_LOG_ENTRY   *LogEntryArray;
>    UINT32                      Index;
> +  UINT16                      PeiPerformanceLogEntries;
> +
> +  PeiPerformanceLogEntries = (UINT16) (PcdGet16 
> (PcdMaxPeiPerformanceLogEntries16) !=
> 0 ?
> +                                       PcdGet16 
> (PcdMaxPeiPerformanceLogEntries16) :
> +                                       PcdGet8 
> (PcdMaxPeiPerformanceLogEntries));
> 
>    InternalGetPerformanceHobLog (&PeiPerformanceLog, &PeiPerformanceIdArray);
> 
> -  if (PeiPerformanceLog->NumberOfEntries >= PcdGet8 
> (PcdMaxPeiPerformanceLogEntries))
> {
> +  if (PeiPerformanceLog->NumberOfEntries >= PeiPerformanceLogEntries) {
>      DEBUG ((DEBUG_ERROR, "PEI performance log array out of resources\n"));
>      return RETURN_OUT_OF_RESOURCES;
>    }
> diff --git a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> index 7a5d240..08aa064 100644
> --- a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> +++ b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
> @@ -6,6 +6,7 @@
>  #  so that it can be taken over by DxeCorePerformanceLib.
>  #
>  #  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
> +# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
>  #  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
> @@ -58,5 +59,6 @@
>    gPerformanceExProtocolGuid
> 
>  [Pcd]
> -  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries ## CONSUMES
> -  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask    ## CONSUMES
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries   ## CONSUMES
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries16 ## CONSUMES
> +  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask      ## CONSUMES
> diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
> index efd870b..9d3df4b 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -5,6 +5,7 @@
>  #
>  # Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
>  # Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
> +# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
>  # 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
> @@ -869,9 +870,17 @@
>    gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleCoalesceFile|{ 0xA6, 0xE4, 0xFD, 
> 0xF7,
> 0x4C, 0x29, 0x3c, 0x49, 0xB5, 0x0F, 0x97, 0x34, 0x55, 0x3B, 0xB7, 0x57
> }|VOID*|0x30000017
> 
>    ## Maximum number of performance log entries during PEI phase.
> +  # PcdMaxPeiPerformanceLogEntries is UINT8 and for backward compatible.
> +  # If the number of performance log entries during PEI phase is more than 
> 255, use
> PcdMaxPeiPerformanceLogEntries16>    # @Prompt Maximum number of PEI 
> performance log entries.
>    
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f
> 

Change new comment lines to:
============================
  ## Maximum number of performance log entries during PEI phase.
  # Use PcdMaxPeiPerformanceLogEntries16 if the number of entries required is 
  # more than 255.

> +  ## Maximum number of performance log entries during PEI phase.
> +  # PcdMaxPeiPerformanceLogEntries is UINT8 and for backward compatible.
> +  # If the number of performance log entries during PEI phase is more than 
> 255, use
> PcdMaxPeiPerformanceLogEntries16
> +  # @Prompt Maximum number of PEI performance log entries.
> +  
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries16|0|UINT16|0x00010035
> +

Change new comment lines to:
============================
  ## Maximum number of performance log entries during PEI phase.
  # If set to 0, then PcdMaxPeiPerformanceLogEntries determines the number of
  # entries.  If greater than 0, the this PCD determines the number of entries, 
  # and PcdMaxPeiPerformanceLogEntries is ignored.

>    ## RTC Update Timeout Value(microsecond).
>    # @Prompt RTC Update Timeout Value.
> 
> gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034
> --
> 2.7.0.windows.2
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to