Hi Mike,

Thanks for your feedback.

For solving the backward compatible problem, could you share to me what the 
problem is?
The PCD is accessed in override c files?

Regarding to introduce a new PCD, does it mean using the new PCD in c files and 
leaving the existing one as it is?

Thanks,
Cinnamon Shia

-----Original Message-----
From: Kinney, Michael D [mailto:michael.d.kin...@intel.com] 
Sent: Sunday, March 6, 2016 12:47 AM
To: Shia, Cinnamon; edk2-devel@lists.01.org; Kinney, Michael D
Subject: RE: [edk2] [PATCH] MdeModulePkg: Change the type of 
PcdMaxPeiPerformanceLogEntries to UINT16

Cinnamon,

Changing the size of a PCD is a not backwards compatible change.

In the past when we have run into similar issues, we had to introduce a new PCD.

Mike

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Cinnamon Shia
> Sent: Saturday, March 5, 2016 5:19 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] [PATCH] MdeModulePkg: Change the type of 
> PcdMaxPeiPerformanceLogEntries to UINT16
> 
> Change the type of PcdMaxPeiPerformanceLogEntries from UINT8 to UINT16 
> to log more than 255 performance entries in PEI.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Cinnamon Shia <cinnamon.s...@hpe.com>
> ---
>  .../Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c         | 3 ++-
>  MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c        | 8 
> ++++----
>  MdeModulePkg/MdeModulePkg.dec                                     | 3 ++-
>  3 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git 
> a/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> b/MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.c
> index 0eb8e57..61491e6 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,7 @@ DxeCorePerformanceLibConstructor (
>                    );
>    ASSERT_EFI_ERROR (Status);
> 
> -  mMaxGaugeRecords = INIT_DXE_GAUGE_DATA_ENTRIES + PcdGet8 
> (PcdMaxPeiPerformanceLogEntries);
> +  mMaxGaugeRecords = INIT_DXE_GAUGE_DATA_ENTRIES + PcdGet16
> (PcdMaxPeiPerformanceLogEntries);
> 
>    mGaugeData = AllocateZeroPool (sizeof (GAUGE_DATA_HEADER) + (sizeof
> (GAUGE_DATA_ENTRY_EX) * mMaxGaugeRecords));
>    ASSERT (mGaugeData != NULL);
> diff --git 
> a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> index 9674bbc..74e6300 100644
> --- a/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> +++ b/MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.c
> @@ -7,7 +7,7 @@
>    number of performance logging entry is specified by 
> PcdMaxPeiPerformanceLogEntries.
> 
>  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 @@ -71,11 +71,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) * 
> + PcdGet16
> (PcdMaxPeiPerformanceLogEntries);
>      *PeiPerformanceLog     = BuildGuidHob (&gPerformanceProtocolGuid,
> PeiPerformanceSize);
>      *PeiPerformanceLog     = ZeroMem (*PeiPerformanceLog, 
> PeiPerformanceSize);
> 
> -    PeiPerformanceSize     = sizeof (UINT32) * PcdGet8
> (PcdMaxPeiPerformanceLogEntries);
> +    PeiPerformanceSize     = sizeof (UINT32) * PcdGet16
> (PcdMaxPeiPerformanceLogEntries);
>      *PeiPerformanceIdArray = BuildGuidHob 
> (&gPerformanceExProtocolGuid, PeiPerformanceSize);
>      *PeiPerformanceIdArray = ZeroMem (*PeiPerformanceIdArray, 
> PeiPerformanceSize);
>    }
> @@ -183,7 +183,7 @@ StartPerformanceMeasurementEx (
> 
>    InternalGetPerformanceHobLog (&PeiPerformanceLog, 
> &PeiPerformanceIdArray);
> 
> -  if (PeiPerformanceLog->NumberOfEntries >= PcdGet8 
> (PcdMaxPeiPerformanceLogEntries)) {
> +  if (PeiPerformanceLog->NumberOfEntries >= PcdGet16 
> + (PcdMaxPeiPerformanceLogEntries))
> {
>      DEBUG ((DEBUG_ERROR, "PEI performance log array out of resources\n"));
>      return RETURN_OUT_OF_RESOURCES;
>    }
> diff --git a/MdeModulePkg/MdeModulePkg.dec 
> b/MdeModulePkg/MdeModulePkg.dec index efd870b..038f020 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 @@ -870,7 +871,7 @@
> 
>    ## Maximum number of performance log entries during PEI phase.
>    # @Prompt Maximum number of PEI performance log entries.
> -  
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8
> |0x0001002f
> +  
> + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UIN
> + T16|0x0001002f
> 
>    ## RTC Update Timeout Value(microsecond).
>    # @Prompt RTC Update Timeout Value.
> --
> 2.7.0.windows.2
> 
> _______________________________________________
> 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

Reply via email to