audk/MdeModulePkg/Core/Pei
Star Zeng 116cd8563c MdeModulePkg PeiCore: PEI dispatcher need retry to process NOT_DISPATCHED FV
A corner case like below will cause a NOT_DISPATCHED FV has no opportunity to
be dispatched.
  1. FV_RECOVERY has SecCore, PeiCore and some other PEI modules, a module will
    report FVMAIN_COMPACT and FV_RECOVERY2 in sequence.
  2. FVMAIN_COMPACT has a FV image file with GUIDED FV image section in it.
  3. FV_RECOVERY2 has DxeIpl and other PEI modules, the DxeIpl will install
     SectionExtractionPpi
  If ALL the PEIMs in FV_RECOVERY and FV_RECOVERY2 have DEPEX satisfied and
  executed in one loop, PeimNeedingDispatch will be always FALSE, FVMAIN_COMPACT
  will have no opportunity to be decompressed and dispatched as DxeIpl executes
  after the first processing to FVMAIN_COMPACT.

The patch is to set PeimNeedingDispatch to TRUE when ProcessFvFile() not successfully,
then the NOT_DISPATCHED FV could have another opportunity to be processed.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18781 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-13 02:43:37 +00:00
..
BootMode Update the copyright notice format 2010-04-24 09:49:11 +00:00
CpuIo Update the copyright notice format 2010-04-24 09:49:11 +00:00
Dependency Refine code to make it more safely. 2014-06-26 03:24:25 +00:00
Dispatcher MdeModulePkg PeiCore: PEI dispatcher need retry to process NOT_DISPATCHED FV 2015-11-13 02:43:37 +00:00
FwVol MdeModulePkg PeiCore: Fix issue AuthenticationStatus is not propagated correctly 2015-11-10 10:02:24 +00:00
Hob Update HobLib and Hob Service to avoid data over flow. 2012-07-17 01:51:26 +00:00
Image MdeModulePkg PeiCore: Add PCD to specify PEIM Shadow 2015-08-03 03:18:37 +00:00
Memory MdeModulePkg: Update implementation of PeiAllocatePages() to allow EfiReservedMemoryType. 2015-05-11 03:12:21 +00:00
PciCfg2 Update the copyright notice format 2010-04-24 09:49:11 +00:00
PeiMain MdeModulePkg PeiCore: Add PCD to specify PEIM Shadow 2015-08-03 03:18:37 +00:00
Ppi MdeModulePkg/IntelFrameworkModulePkg: Update PeiCore, SmbiosDxe and IsaSerialDxe to use PcdGetxx() instead of FixedPcdGetxx(). 2014-08-14 05:55:08 +00:00
Reset MdeModulePkg: Add Reset2 ppi support in PEI CORE. 2015-05-11 02:06:51 +00:00
Security Update PeiCore to follow PI spec to retrieve GUIDED section data when ExtractionPpi is not found. 2014-08-18 05:43:06 +00:00
StatusCode Update the copyright notice format 2010-04-24 09:49:11 +00:00
PeiCore.uni MdeModulePkg: Convert non DOS format files to DOS format and remove unused module UNI files. 2014-09-03 08:39:12 +00:00
PeiCoreExtra.uni MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:53:43 +00:00
PeiMain.h MdeModulePkg: Add Reset2 ppi support in PEI CORE. 2015-05-11 02:06:51 +00:00
PeiMain.inf MdeModulePkg PeiCore: Add PCD to specify PEIM Shadow 2015-08-03 03:18:37 +00:00