]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiDpLib/DpTrace.c
ShellPkg UefiDpLib: Delete one comment introduced by 196ccda08fc4
[mirror_edk2.git] / ShellPkg / Library / UefiDpLib / DpTrace.c
index d17d514bf12ec613bf8019345fa54b98b292080f..dcb1ca500bef0000776f0e95c7fffafbef52c4fb 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Trace reporting for the Dp utility.\r
 \r
-  Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.\r
-  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
+  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.\r
+  (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -136,8 +136,11 @@ GatherStatistics(
   @param[in]    Limit       The number of records to print.  Zero is ALL.\r
   @param[in]    ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
   \r
+  @retval EFI_SUCCESS           The operation was successful.\r
+  @retval EFI_ABORTED           The user aborts the operation.\r
+  @return Others                from a call to gBS->LocateHandleBuffer().\r
 **/\r
-VOID\r
+EFI_STATUS\r
 DumpAllTrace(\r
   IN UINTN             Limit,\r
   IN BOOLEAN           ExcludeFlag\r
@@ -153,8 +156,7 @@ DumpAllTrace(
   UINTN                     TIndex;\r
 \r
   EFI_HANDLE                *HandleBuffer;\r
-  UINTN                     Size;\r
-  EFI_HANDLE                TempHandle;\r
+  UINTN                     HandleCount;\r
   EFI_STATUS                Status;\r
   EFI_STRING                StringPtrUnknown;\r
 \r
@@ -166,17 +168,7 @@ DumpAllTrace(
 \r
   // Get Handle information\r
   //\r
-  Size = 0;\r
-  HandleBuffer = &TempHandle;\r
-  Status  = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, &TempHandle);\r
-  if (Status == EFI_BUFFER_TOO_SMALL) {\r
-    HandleBuffer = AllocatePool (Size);\r
-    ASSERT (HandleBuffer != NULL);\r
-    if (HandleBuffer == NULL) {\r
-      return;\r
-    }\r
-    Status  = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, HandleBuffer);\r
-  }\r
+  Status  = gBS->LocateHandleBuffer (AllHandles, NULL, NULL, &HandleCount, &HandleBuffer);\r
   if (EFI_ERROR (Status)) {\r
     ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_HANDLES_ERROR), gDpHiiHandle, Status);\r
   }\r
@@ -232,7 +224,7 @@ DumpAllTrace(
       AsciiStrToUnicodeStr (Measurement.Token, mUnicodeToken);\r
       if (Measurement.Handle != NULL) {\r
         // See if the Handle is in the HandleBuffer\r
-        for (TIndex = 0; TIndex < (Size / sizeof(HandleBuffer[0])); TIndex++) {\r
+        for (TIndex = 0; TIndex < HandleCount; TIndex++) {\r
           if (Measurement.Handle == HandleBuffer[TIndex]) {\r
             DpGetNameFromHandle (HandleBuffer[TIndex]);\r
             break;\r
@@ -268,12 +260,18 @@ DumpAllTrace(
           ElapsedTime\r
         );\r
       }\r
+      if (ShellGetExecutionBreakFlag ()) {\r
+        Status = EFI_ABORTED;\r
+        break;\r
+      }\r
     }\r
   }\r
-  if (HandleBuffer != &TempHandle) {\r
+  if (HandleBuffer != NULL) {\r
     FreePool (HandleBuffer);\r
   }\r
   SHELL_FREE_NON_NULL (IncFlag);\r
+\r
+  return Status;\r
 }\r
 \r
 /** \r
@@ -292,9 +290,11 @@ DumpAllTrace(
   \r
   @param[in]    Limit       The number of records to print.  Zero is ALL.\r
   @param[in]    ExcludeFlag TRUE to exclude individual Cumulative items from display.\r
-  \r
+\r
+  @retval EFI_SUCCESS           The operation was successful.\r
+  @retval EFI_ABORTED           The user aborts the operation.\r
 **/\r
-VOID\r
+EFI_STATUS\r
 DumpRawTrace(\r
   IN UINTN          Limit,\r
   IN BOOLEAN        ExcludeFlag\r
@@ -309,6 +309,9 @@ DumpRawTrace(
 \r
   EFI_STRING    StringPtr;\r
   EFI_STRING    StringPtrUnknown;\r
+  EFI_STATUS    Status;\r
+\r
+  Status = EFI_SUCCESS;\r
 \r
   StringPtrUnknown = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_ALIT_UNKNOWN), NULL);  \r
   StringPtr = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_DP_SECTION_RAWTRACE), NULL);\r
@@ -372,7 +375,12 @@ DumpRawTrace(
         Measurement.Module\r
       );\r
     }\r
+    if (ShellGetExecutionBreakFlag ()) {\r
+      Status = EFI_ABORTED;\r
+      break;\r
+    }\r
   }\r
+  return Status;\r
 }\r
 \r
 /** \r
@@ -521,7 +529,9 @@ ProcessPhases(
   \r
   @param[in]    ExcludeFlag   TRUE to exclude individual Cumulative items from display.\r
   \r
-  @return       Status from a call to gBS->LocateHandle().\r
+  @retval EFI_SUCCESS             The operation was successful.\r
+  @retval EFI_ABORTED             The user aborts the operation.\r
+  @return Others                  from a call to gBS->LocateHandleBuffer().\r
 **/\r
 EFI_STATUS\r
 ProcessHandles(\r
@@ -536,8 +546,7 @@ ProcessHandles(
   UINTN                     Index;\r
   UINTN                     LogEntryKey;\r
   UINTN                     Count;\r
-  UINTN                     Size;\r
-  EFI_HANDLE                TempHandle;\r
+  UINTN                     HandleCount;\r
   EFI_STATUS                Status;\r
   EFI_STRING                StringPtrUnknown;\r
 \r
@@ -548,17 +557,7 @@ ProcessHandles(
   FreePool (StringPtr);\r
   FreePool (StringPtrUnknown);\r
 \r
-  Size = 0;\r
-  HandleBuffer = &TempHandle;\r
-  Status  = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, &TempHandle);\r
-  if (Status == EFI_BUFFER_TOO_SMALL) {\r
-    HandleBuffer = AllocatePool (Size);\r
-    ASSERT (HandleBuffer != NULL);\r
-    if (HandleBuffer == NULL) {\r
-      return Status;\r
-    }\r
-    Status  = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, HandleBuffer);\r
-  }\r
+  Status = gBS->LocateHandleBuffer (AllHandles, NULL, NULL, &HandleCount, &HandleBuffer);\r
   if (EFI_ERROR (Status)) {\r
     ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_HANDLES_ERROR), gDpHiiHandle, Status);\r
   }\r
@@ -598,7 +597,7 @@ ProcessHandles(
       mGaugeString[0] = 0;    // Empty driver name by default\r
       AsciiStrToUnicodeStr (Measurement.Token, mUnicodeToken);\r
       // See if the Handle is in the HandleBuffer\r
-      for (Index = 0; Index < (Size / sizeof(HandleBuffer[0])); Index++) {\r
+      for (Index = 0; Index < HandleCount; Index++) {\r
         if (Measurement.Handle == HandleBuffer[Index]) {\r
           DpGetNameFromHandle (HandleBuffer[Index]); // Name is put into mGaugeString\r
           break;\r
@@ -628,9 +627,13 @@ ProcessHandles(
           );\r
         }\r
       }\r
+      if (ShellGetExecutionBreakFlag ()) {\r
+        Status = EFI_ABORTED;\r
+        break;\r
+      }\r
     }\r
   }\r
-  if (HandleBuffer != &TempHandle) {\r
+  if (HandleBuffer != NULL) {\r
     FreePool (HandleBuffer);\r
   }\r
   return Status;\r
@@ -641,8 +644,10 @@ ProcessHandles(
   \r
   Only prints complete PEIM records\r
   \r
+  @retval EFI_SUCCESS           The operation was successful.\r
+  @retval EFI_ABORTED           The user aborts the operation.\r
 **/\r
-VOID\r
+EFI_STATUS\r
 ProcessPeims(\r
   VOID\r
 )\r
@@ -654,6 +659,9 @@ ProcessPeims(
   UINTN                     LogEntryKey;\r
   UINTN                     TIndex;\r
   EFI_STRING                StringPtrUnknown;\r
+  EFI_STATUS                Status;\r
+\r
+  Status = EFI_SUCCESS;\r
 \r
   StringPtrUnknown = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_ALIT_UNKNOWN), NULL);  \r
   StringPtr = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_DP_SECTION_PEIMS), NULL);\r
@@ -707,7 +715,12 @@ ProcessPeims(
         );\r
       }\r
     }\r
+    if (ShellGetExecutionBreakFlag ()) {\r
+      Status = EFI_ABORTED;\r
+      break;\r
+    }\r
   }\r
+  return Status;\r
 }\r
 \r
 /** \r
@@ -718,8 +731,10 @@ ProcessPeims(
   Increment TIndex for every record, even skipped ones, so that we have an\r
   indication of every measurement record taken.\r
   \r
+  @retval EFI_SUCCESS           The operation was successful.\r
+  @retval EFI_ABORTED           The user aborts the operation.\r
 **/\r
-VOID\r
+EFI_STATUS\r
 ProcessGlobal(\r
   VOID\r
 )\r
@@ -731,6 +746,9 @@ ProcessGlobal(
   UINTN                     LogEntryKey;\r
   UINTN                     Index;        // Index, or number, of the measurement record being processed\r
   EFI_STRING                StringPtrUnknown;\r
+  EFI_STATUS                Status;\r
+\r
+  Status = EFI_SUCCESS;\r
 \r
   StringPtrUnknown = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_ALIT_UNKNOWN), NULL);  \r
   StringPtr = HiiGetString (gDpHiiHandle, STRING_TOKEN (STR_DP_SECTION_GENERAL), NULL);\r
@@ -788,8 +806,13 @@ ProcessGlobal(
         }\r
       }\r
     }\r
+    if (ShellGetExecutionBreakFlag ()) {\r
+      Status = EFI_ABORTED;\r
+      break;\r
+    }\r
     Index++;\r
   }\r
+  return Status;\r
 }\r
 \r
 /** \r