summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElvin Li <elvin.li@intel.com>2015-04-01 04:56:00 +0000
committerli-elvin <li-elvin@Edk2>2015-04-01 04:56:00 +0000
commit206f412113e8be0da9bd6fd16f89c045ce0d8366 (patch)
tree8ad53fc50159fec0c25e79ff7d035688af648ff1
parent484dd08c1ab97945a579e715664e68499fcf55a2 (diff)
MdeModulePkg: add error handling when DXE IPL PPI is not found.
Add status code report and cpu deadloop when DXE IPL PPI is not found. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17087 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Core/Pei/PeiMain/PeiMain.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
index 3220ffb8ee..d019141c6e 100644
--- a/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
+++ b/MdeModulePkg/Core/Pei/PeiMain/PeiMain.c
@@ -1,7 +1,7 @@
/** @file
Pei Core Main Entry Point
-Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -436,6 +436,17 @@ PeiCore (
);
ASSERT_EFI_ERROR (Status);
+ if (EFI_ERROR (Status)) {
+ //
+ // Report status code to indicate DXE IPL PPI could not be found.
+ //
+ REPORT_STATUS_CODE (
+ EFI_ERROR_CODE | EFI_ERROR_MAJOR,
+ (EFI_SOFTWARE_PEI_CORE | EFI_SW_PEI_CORE_EC_DXEIPL_NOT_FOUND)
+ );
+ CpuDeadLoop ();
+ }
+
//
// Enter DxeIpl to load Dxe core.
//