diff options
author | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-23 06:39:00 +0000 |
---|---|---|
committer | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-08-23 06:39:00 +0000 |
commit | f78797d5b7d1501c108c8e2c3c8850e06129a209 (patch) | |
tree | c34aa2139261765ce3db5cdfa14691cecc46cc6b /EdkModulePkg | |
parent | 0d806227aa40993c2506d781b441a5a1ae85fb3a (diff) | |
download | edk2-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.c | 9 | ||||
-rw-r--r-- | 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;
}
|