Also for series.

Reviewed-by: Jaben Carsey <jaben.car...@intel.com>

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of El-
> Haj-Mahmoud, Samer
> Sent: Monday, March 07, 2016 4:57 AM
> To: edk2-devel@lists.01.org; Shia, Cinnamon <cinnamon.s...@hpe.com>
> Subject: Re: [edk2] [PATCH v2 1/2] PerformancePkg/Dp_App: Support
> execution break
> Importance: High
> 
> Series Reviewed-by: Samer EL-Haj-Mahmoud <el...@hpe.com>
> 
> On 2016/3/7 11:23, Cinnamon Shia wrote:
> > Support UEFI shell execution break.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.0
> > Signed-off-by: Cinnamon Shia <cinnamon.s...@hpe.com>
> > ---
> >   PerformancePkg/Dp_App/Dp.c         | 36 ++++++++++++++++------
> >   PerformancePkg/Dp_App/DpInternal.h | 27 ++++++++++++-----
> >   PerformancePkg/Dp_App/DpTrace.c    | 62
> ++++++++++++++++++++++++++++++++------
> >   3 files changed, 99 insertions(+), 26 deletions(-)
> >
> > diff --git a/PerformancePkg/Dp_App/Dp.c b/PerformancePkg/Dp_App/Dp.c
> > index e052216..e36a032 100644
> > --- a/PerformancePkg/Dp_App/Dp.c
> > +++ b/PerformancePkg/Dp_App/Dp.c
> > @@ -14,7 +14,7 @@
> >     timer information to calculate elapsed time for each measurement.
> >
> >     Copyright (c) 2009 - 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 @@ -195,11 +195,11 @@ InitCumulativeData (
> >
> >     @param[in]  ImageHandle     The image handle.
> >     @param[in]  SystemTable     The system table.
> > -
> > +
> >     @retval EFI_SUCCESS            Command completed successfully.
> >     @retval EFI_INVALID_PARAMETER  Command usage error.
> > +  @retval EFI_ABORTED            The user aborts the operation.
> >     @retval value                  Unknown error.
> > -
> >   **/
> >   EFI_STATUS
> >   EFIAPI
> > @@ -443,7 +443,10 @@ InitializeDp (
> >           ProcessCumulative (CustomCumulativeData);
> >         } else if (AllMode) {
> >           if (TraceMode) {
> > -          DumpAllTrace( Number2Display, ExcludeMode);
> > +          Status = DumpAllTrace( Number2Display, ExcludeMode);
> > +          if (Status == EFI_ABORTED) {
> > +            goto Done;
> > +          }
> >           }
> >           if (ProfileMode) {
> >             DumpAllProfile( Number2Display, ExcludeMode); @@ -451,7
> > +454,10 @@ InitializeDp (
> >         }
> >         else if (RawMode) {
> >           if (TraceMode) {
> > -          DumpRawTrace( Number2Display, ExcludeMode);
> > +          Status = DumpRawTrace( Number2Display, ExcludeMode);
> > +          if (Status == EFI_ABORTED) {
> > +            goto Done;
> > +          }
> >           }
> >           if (ProfileMode) {
> >             DumpRawProfile( Number2Display, ExcludeMode); @@ -463,11
> > +469,21 @@ InitializeDp (
> >             ProcessPhases ( Ticker );
> >             if ( ! SummaryMode) {
> >               Status = ProcessHandles ( ExcludeMode);
> > -            if ( ! EFI_ERROR( Status)) {
> > -              ProcessPeims (     );
> > -              ProcessGlobal (    );
> > -              ProcessCumulative (NULL);
> > +            if (Status == EFI_ABORTED) {
> > +              goto Done;
> >               }
> > +
> > +            Status = ProcessPeims ();
> > +            if (Status == EFI_ABORTED) {
> > +              goto Done;
> > +            }
> > +
> > +            Status = ProcessGlobal ();
> > +            if (Status == EFI_ABORTED) {
> > +              goto Done;
> > +            }
> > +
> > +            ProcessCumulative (NULL);
> >             }
> >           }
> >           if (ProfileMode) {
> > @@ -480,6 +496,8 @@ InitializeDp (
> >       }
> >     }
> >
> > +Done:
> > +
> >     //
> >     // Free the memory allocate from HiiGetString
> >     //
> > diff --git a/PerformancePkg/Dp_App/DpInternal.h
> > b/PerformancePkg/Dp_App/DpInternal.h
> > index 0e97e1e..53c5fb2 100644
> > --- a/PerformancePkg/Dp_App/DpInternal.h
> > +++ b/PerformancePkg/Dp_App/DpInternal.h
> > @@ -7,7 +7,7 @@
> >     DpUtilities.c, DpTrace.c, and DpProfile.c are included here.
> >
> >     Copyright (c) 2009 - 2014, 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 @@ -215,8 +215,11 @@ GatherStatistics(
> >     @param[in]    Limit       The number of records to print.  Zero is ALL.
> >     @param[in]    ExcludeFlag TRUE to exclude individual Cumulative items
> from display.
> >
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> > +  @return Others                from a call to gBS->LocateHandleBuffer().
> >   **/
> > -VOID
> > +EFI_STATUS
> >   DumpAllTrace(
> >     IN UINTN             Limit,
> >     IN BOOLEAN           ExcludeFlag
> > @@ -238,9 +241,11 @@ DumpAllTrace(
> >
> >     @param[in]    Limit       The number of records to print.  Zero is ALL.
> >     @param[in]    ExcludeFlag TRUE to exclude individual Cumulative items
> from display.
> > -
> > +
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> >   **/
> > -VOID
> > +EFI_STATUS
> >   DumpRawTrace(
> >     IN UINTN          Limit,
> >     IN BOOLEAN        ExcludeFlag
> > @@ -262,8 +267,10 @@ ProcessPhases(
> >     Gather and print Handle data.
> >
> >     @param[in]    ExcludeFlag   TRUE to exclude individual Cumulative items
> from display.
> > -
> > -  @return       Status from a call to gBS->LocateHandle().
> > +
> > +  @retval EFI_SUCCESS             The operation was successful.
> > +  @retval EFI_ABORTED             The user aborts the operation.
> > +  @return Others                  from a call to gBS->LocateHandleBuffer().
> >   **/
> >   EFI_STATUS
> >   ProcessHandles(
> > @@ -276,8 +283,10 @@ ProcessHandles(
> >
> >     Only prints complete PEIM records
> >
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> >   **/
> > -VOID
> > +EFI_STATUS
> >   ProcessPeims(
> >     VOID
> >     );
> > @@ -290,8 +299,10 @@ ProcessPeims(
> >     Increment TIndex for every record, even skipped ones, so that we have
> an
> >     indication of every measurement record taken.
> >
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> >   **/
> > -VOID
> > +EFI_STATUS
> >   ProcessGlobal(
> >     VOID
> >     );
> > diff --git a/PerformancePkg/Dp_App/DpTrace.c
> > b/PerformancePkg/Dp_App/DpTrace.c index 632904f..fc21cdc 100644
> > --- a/PerformancePkg/Dp_App/DpTrace.c
> > +++ b/PerformancePkg/Dp_App/DpTrace.c
> > @@ -136,8 +136,11 @@ GatherStatistics(
> >     @param[in]    Limit       The number of records to print.  Zero is ALL.
> >     @param[in]    ExcludeFlag TRUE to exclude individual Cumulative items
> from display.
> >
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> > +  @return Others                from a call to gBS->LocateHandleBuffer().
> >   **/
> > -VOID
> > +EFI_STATUS
> >   DumpAllTrace(
> >     IN UINTN             Limit,
> >     IN BOOLEAN           ExcludeFlag
> > @@ -257,12 +260,17 @@ DumpAllTrace(
> >             ElapsedTime
> >           );
> >         }
> > +      if (ShellGetExecutionBreakFlag ()) {
> > +        Status = EFI_ABORTED;
> > +        break;
> > +      }
> >       }
> >     }
> >     if (HandleBuffer != NULL) {
> >       FreePool (HandleBuffer);
> >     }
> >     SafeFreePool ((VOID *) IncFlag);
> > +  return Status;
> >   }
> >
> >   /**
> > @@ -281,9 +289,11 @@ DumpAllTrace(
> >
> >     @param[in]    Limit       The number of records to print.  Zero is ALL.
> >     @param[in]    ExcludeFlag TRUE to exclude individual Cumulative items
> from display.
> > -
> > +
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> >   **/
> > -VOID
> > +EFI_STATUS
> >   DumpRawTrace(
> >     IN UINTN          Limit,
> >     IN BOOLEAN        ExcludeFlag
> > @@ -298,6 +308,9 @@ DumpRawTrace(
> >
> >     EFI_STRING    StringPtr;
> >     EFI_STRING    StringPtrUnknown;
> > +  EFI_STATUS    Status;
> > +
> > +  Status = EFI_SUCCESS;
> >
> >     StringPtrUnknown = HiiGetString (gHiiHandle, STRING_TOKEN
> (STR_ALIT_UNKNOWN), NULL);
> >     StringPtr = HiiGetString (gHiiHandle, STRING_TOKEN
> > (STR_DP_SECTION_RAWTRACE), NULL); @@ -361,7 +374,12 @@
> DumpRawTrace(
> >           Measurement.Module
> >         );
> >       }
> > +    if (ShellGetExecutionBreakFlag ()) {
> > +      Status = EFI_ABORTED;
> > +      break;
> > +    }
> >     }
> > +  return Status;
> >   }
> >
> >   /**
> > @@ -509,8 +527,10 @@ ProcessPhases(
> >     Gather and print Handle data.
> >
> >     @param[in]    ExcludeFlag   TRUE to exclude individual Cumulative items
> from display.
> > -
> > -  @return       Status from a call to gBS->LocateHandle().
> > +
> > +  @retval EFI_SUCCESS             The operation was successful.
> > +  @retval EFI_ABORTED             The user aborts the operation.
> > +  @return Others                  from a call to gBS->LocateHandleBuffer().
> >   **/
> >   EFI_STATUS
> >   ProcessHandles(
> > @@ -608,6 +628,10 @@ ProcessHandles(
> >             );
> >           }
> >         }
> > +      if (ShellGetExecutionBreakFlag ()) {
> > +        Status = EFI_ABORTED;
> > +        break;
> > +      }
> >       }
> >     }
> >     if (HandleBuffer != NULL) {
> > @@ -620,9 +644,11 @@ ProcessHandles(
> >     Gather and print PEIM data.
> >
> >     Only prints complete PEIM records
> > -
> > +
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> >   **/
> > -VOID
> > +EFI_STATUS
> >   ProcessPeims(
> >     VOID
> >   )
> > @@ -634,6 +660,9 @@ ProcessPeims(
> >     UINTN                     LogEntryKey;
> >     UINTN                     TIndex;
> >     EFI_STRING                StringPtrUnknown;
> > +  EFI_STATUS                Status;
> > +
> > +  Status = EFI_SUCCESS;
> >
> >     StringPtrUnknown = HiiGetString (gHiiHandle, STRING_TOKEN
> (STR_ALIT_UNKNOWN), NULL);
> >     StringPtr = HiiGetString (gHiiHandle, STRING_TOKEN
> > (STR_DP_SECTION_PEIMS), NULL); @@ -687,7 +716,12 @@ ProcessPeims(
> >           );
> >         }
> >       }
> > +    if (ShellGetExecutionBreakFlag ()) {
> > +      Status = EFI_ABORTED;
> > +      break;
> > +    }
> >     }
> > +  return Status;
> >   }
> >
> >   /**
> > @@ -697,9 +731,11 @@ ProcessPeims(
> >     Only prints records where Handle is NULL
> >     Increment TIndex for every record, even skipped ones, so that we have
> an
> >     indication of every measurement record taken.
> > -
> > +
> > +  @retval EFI_SUCCESS           The operation was successful.
> > +  @retval EFI_ABORTED           The user aborts the operation.
> >   **/
> > -VOID
> > +EFI_STATUS
> >   ProcessGlobal(
> >     VOID
> >   )
> > @@ -711,6 +747,9 @@ ProcessGlobal(
> >     UINTN                     LogEntryKey;
> >     UINTN                     Index;        // Index, or number, of the 
> > measurement
> record being processed
> >     EFI_STRING                StringPtrUnknown;
> > +  EFI_STATUS                Status;
> > +
> > +  Status = EFI_SUCCESS;
> >
> >     StringPtrUnknown = HiiGetString (gHiiHandle, STRING_TOKEN
> (STR_ALIT_UNKNOWN), NULL);
> >     StringPtr = HiiGetString (gHiiHandle, STRING_TOKEN
> > (STR_DP_SECTION_GENERAL), NULL); @@ -770,8 +809,13 @@
> ProcessGlobal(
> >           }
> >         }
> >       }
> > +    if (ShellGetExecutionBreakFlag ()) {
> > +      Status = EFI_ABORTED;
> > +      break;
> > +    }
> >       Index++;
> >     }
> > +  return Status;
> >   }
> >
> >   /**
> >
> 
> _______________________________________________
> 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-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to