From f78797d5b7d1501c108c8e2c3c8850e06129a209 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Wed, 23 Aug 2006 06:39:00 +0000 Subject: [PATCH] Fix Edk Tracker 206. 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 | 9 +++++++-- EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c index 5ec81b2534..8e1aeedac2 100644 --- a/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c +++ b/EdkModulePkg/Core/DxeIplPeim/DxeLoad.c @@ -320,7 +320,10 @@ Returns: ASSERT_EFI_ERROR (Status); Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status)); + CpuDeadLoop (); + } // // Now should have a HOB with the DXE core w/ the old HOB destroyed @@ -405,8 +408,10 @@ Returns: // // If we get here, then the DXE Core returned. This is an error + // Dxe Core should not return. // - ASSERT_EFI_ERROR (Status); + ASSERT (FALSE); + CpuDeadLoop (); return EFI_OUT_OF_RESOURCES; } diff --git a/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c index 023924c6c8..9a036e6246 100644 --- a/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c +++ b/EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c @@ -282,7 +282,10 @@ Returns: ASSERT_EFI_ERROR (Status); Status = PeiRecovery->LoadRecoveryCapsule (PeiServices, PeiRecovery); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status)); + CpuDeadLoop (); + } } // @@ -362,8 +365,10 @@ Returns: // // If we get here, then the DXE Core returned. This is an error + // Dxe Core should not return. // - ASSERT_EFI_ERROR (Status); + ASSERT (FALSE); + CpuDeadLoop (); return EFI_OUT_OF_RESOURCES; } -- 2.39.2