summaryrefslogtreecommitdiffstats
path: root/EdkModulePkg
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-23 06:39:00 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2006-08-23 06:39:00 +0000
commitf78797d5b7d1501c108c8e2c3c8850e06129a209 (patch)
treec34aa2139261765ce3db5cdfa14691cecc46cc6b /EdkModulePkg
parent0d806227aa40993c2506d781b441a5a1ae85fb3a (diff)
downloadedk2-f78797d5b7d1501c108c8e2c3c8850e06129a209.tar.gz
edk2-f78797d5b7d1501c108c8e2c3c8850e06129a209.tar.bz2
edk2-f78797d5b7d1501c108c8e2c3c8850e06129a209.zip
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
Diffstat (limited to 'EdkModulePkg')
-rw-r--r--EdkModulePkg/Core/DxeIplPeim/DxeLoad.c9
-rw-r--r--EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c9
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;
}