Fix Edk Tracker 206.
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 23 Aug 2006 06:39:00 +0000 (06:39 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 23 Aug 2006 06:39:00 +0000 (06:39 +0000)
When recovery media is not found, CpuDeadLoop() is used in place of ASSERT() to assure dxeipl always enters into dead loop even if PcdDebug is turn off.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1360 6f19259b-4bc3-4df7-8a09-765794883524

EdkModulePkg/Core/DxeIplPeim/DxeLoad.c
EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c

index 5ec81b2..8e1aeed 100644 (file)
@@ -320,7 +320,10 @@ Returns:
 \r
     ASSERT_EFI_ERROR (Status);\r
     Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery);\r
-    ASSERT_EFI_ERROR (Status);\r
+    if (EFI_ERROR (Status)) {\r
+      DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));\r
+      CpuDeadLoop ();\r
+    }\r
 \r
     //\r
     // Now should have a HOB with the DXE core w/ the old HOB destroyed\r
@@ -405,8 +408,10 @@ Returns:
 \r
   //\r
   // If we get here, then the DXE Core returned.  This is an error\r
+  // Dxe Core should not return.\r
   //\r
-  ASSERT_EFI_ERROR (Status);\r
+  ASSERT (FALSE);\r
+  CpuDeadLoop ();\r
 \r
   return EFI_OUT_OF_RESOURCES;\r
 }\r
index 023924c..9a036e6 100644 (file)
@@ -282,7 +282,10 @@ Returns:
 \r
     ASSERT_EFI_ERROR (Status);\r
     Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery);\r
-    ASSERT_EFI_ERROR (Status);\r
+    if (EFI_ERROR (Status)) {\r
+      DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));\r
+      CpuDeadLoop ();\r
+    }\r
   }\r
 \r
   //\r
@@ -362,8 +365,10 @@ Returns:
 \r
   //\r
   // If we get here, then the DXE Core returned.  This is an error\r
+  // Dxe Core should not return.\r
   //\r
-  ASSERT_EFI_ERROR (Status);\r
+  ASSERT (FALSE);\r
+  CpuDeadLoop ();\r
 \r
   return EFI_OUT_OF_RESOURCES;\r
 }\r