REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2421

1. Enhance "CapsuleApp -P" to output the depex expression op-codes in
the EFI_FIRMWARE_IMAGE_DESCRIPTOR.
2. Enhance Last Attempt Status String with a new string to describe the
error LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES.

Cc: Michael D Kinney <michael.d.kin...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Signed-off-by: Wei6 Xu <wei6...@intel.com>
---
 MdeModulePkg/Application/CapsuleApp/CapsuleDump.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c 
b/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
index 58a93568d0..d65197b256 100644
--- a/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
+++ b/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
@@ -1,9 +1,9 @@
 /** @file
   Dump Capsule image information.
 
-  Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2016 - 2020, Intel Corporation. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
 #include "CapsuleApp.h"
@@ -336,10 +336,11 @@ CHAR8 *mLastAttemptStatusString[] = {
   "Error: Incorrect Version",
   "Error: Invalid Format",
   "Error: Auth Error",
   "Error: Power Event AC",
   "Error: Power Event Battery",
+  "Error: Unsatisfied Dependencies",
 };
 
 /**
   Convert FwType to a string.
 
@@ -1005,10 +1006,11 @@ DumpFmpImageInfo (
   IN CHAR16                          *PackageVersionName
   )
 {
   EFI_FIRMWARE_IMAGE_DESCRIPTOR                 *CurrentImageInfo;
   UINTN                                         Index;
+  UINTN                                         Index2;
 
   Print(L"  DescriptorVersion  - 0x%x\n", DescriptorVersion);
   Print(L"  DescriptorCount    - 0x%x\n", DescriptorCount);
   Print(L"  DescriptorSize     - 0x%x\n", DescriptorSize);
   Print(L"  PackageVersion     - 0x%x\n", PackageVersion);
@@ -1041,10 +1043,22 @@ DumpFmpImageInfo (
       Print(L"    LowestSupportedImageVersion - 0x%x\n", 
CurrentImageInfo->LowestSupportedImageVersion);
       if (DescriptorVersion > 2) {
         Print(L"    LastAttemptVersion          - 0x%x\n", 
CurrentImageInfo->LastAttemptVersion);
         Print(L"    LastAttemptStatus           - 0x%x (%a)\n", 
CurrentImageInfo->LastAttemptStatus, 
LastAttemptStatusToString(CurrentImageInfo->LastAttemptStatus));
         Print(L"    HardwareInstance            - 0x%lx\n", 
CurrentImageInfo->HardwareInstance);
+        if (DescriptorVersion > 3) {
+          Print(L"    Dependencies                - ");
+          if (CurrentImageInfo->Dependencies == NULL) {
+            Print(L"NULL\n");
+          } else {
+            Index2 = 0;
+            do {
+              Print(L"%02x ", 
CurrentImageInfo->Dependencies->Dependencies[Index2]);
+            } while (CurrentImageInfo->Dependencies->Dependencies[Index2 ++] 
!= EFI_FMP_DEP_END);
+            Print(L"\n");
+          }
+        }
       }
     }
     //
     // Use DescriptorSize to move ImageInfo Pointer to stay compatible with 
different ImageInfo version
     //
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53126): https://edk2.groups.io/g/devel/message/53126
Mute This Topic: https://groups.io/mt/69595651/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to