audk/MdeModulePkg/Universal
Star Zeng 3e02ebb2bb MdeModulePkg: Variable drivers robustly handle crashes during Reclaim().
PEI variable implementation checks only the variable header signature for validity. This does not seem robust if system crash occurred during previous Reclaim() operation. If the crash occurred while FTW was rewriting the variable FV, the signature could be valid even though the rest of the FV isn't valid.
Solution: Add a FaultTolerantWritePei driver to check and provide the FTW last write status, then PEI variable and early phase(before FTW protocol ready) of DXE variable can check the status and determine if all or partial variable data has been backed up in spare block, and then use the backed up data.

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14454 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-03 09:08:40 +00:00
..
Acpi Fix the issue that FreePool is too early in FirmwarePerformanceDxe. 2013-05-27 05:45:35 +00:00
CapsulePei 1. Add debug init flag DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64 in Debug Agent Library. 2012-08-27 08:36:23 +00:00
CapsuleRuntimeDxe Add capsule > 4GB support. When capsule data is put above 4GB, IA32 PEI transfers to long mode to get capsule data. 2011-09-02 11:34:35 +00:00
Console Don't assume HiiDatabase has been present at the entrypoint and don't assume HiiDatabase and HiiFont are on the same handle according to the UEFI spec. 2013-04-02 03:23:54 +00:00
DebugPortDxe MdeModulePkg/DebugPortDxe: Fixed the ordering of the EFI_DEBUGPORT_PROTOCOL entries 2012-03-15 15:27:18 +00:00
DebugSupportDxe MdeModulePkg: eliminate all implicit library dependencies for all modules in MdeModulePkg on PcdLib 2012-11-01 06:59:25 +00:00
DevicePathDxe Fix build failure by adding UINT16 type cast. 2013-04-12 07:16:42 +00:00
Disk Add comment for modules which have external input. 2012-06-12 08:28:43 +00:00
DriverSampleDxe Update HiiDataBase and UefiHiiLib to support Name/Value varstore. 2013-07-02 07:53:35 +00:00
EbcDxe Add Missing invocations to VA_END() for VA_START(). 2012-02-01 06:06:08 +00:00
FaultTolerantWriteDxe MdeModulePkg: Variable drivers robustly handle crashes during Reclaim(). 2013-07-03 09:08:40 +00:00
FaultTolerantWritePei MdeModulePkg: Variable drivers robustly handle crashes during Reclaim(). 2013-07-03 09:08:40 +00:00
HiiDatabaseDxe Fix DDK build fail. 2013-07-03 01:29:12 +00:00
HiiResourcesSampleDxe Clean up the private GUID definition in module Level. 2011-09-18 12:21:01 +00:00
LegacyRegion2Dxe Enhance inf and dec file to follow specs. 2011-03-14 08:43:59 +00:00
LockBox/SmmLockBox Fix the TOCTOU issue of CommBufferSize itself for SMM communicate handler input. 2013-05-21 02:22:02 +00:00
MemoryTest MdeModulePkg: Add GenericMemoryTestDxe driver 2011-07-01 00:40:26 +00:00
Metronome Update the copyright notice format 2010-04-24 09:33:45 +00:00
MonotonicCounterRuntimeDxe Clean up the private GUID definition in module Level. 2011-09-18 12:21:01 +00:00
Network Add Copyright notices and comments for Red Hat contributor. 2013-05-14 06:25:39 +00:00
PCD Adds ASSERT check in DxePcd driver when error status of read DynamicHii PCD is not EFI_NOT_FOUND to avoid the incorrect value is used. 2013-02-27 03:01:40 +00:00
PcatSingleSegmentPciCfg2Pei Update the copyright notice format 2010-04-24 09:33:45 +00:00
PlatformDriOverrideDxe Fixed build failed. 2012-05-31 08:35:48 +00:00
PrintDxe Update the copyright notice format 2010-04-24 09:33:45 +00:00
ReportStatusCodeRouter MdeModulePkg: eliminate all implicit library dependencies for all modules in MdeModulePkg on PcdLib 2012-11-01 06:59:25 +00:00
ResetSystemRuntimeDxe Add missing status code in several modules. 2012-10-30 04:23:40 +00:00
SecurityStubDxe Update SecurityStub SAP protocol to support SecureHandler and SecureHandler2 both. 2013-02-01 05:34:19 +00:00
SetupBrowserDxe Update code to follow spec, add discard form action before reset. 2013-06-06 09:31:46 +00:00
SmbiosDxe Fill SMBIOS BCD revision field. 2013-04-02 07:44:11 +00:00
StatusCodeHandler EFI_STATUS_CODE_DATA_MAX_SIZE is just for the maximum size of an EFI_DEBUG_INFO structure. Seemly, it is not suitable to be used in SerialStatusCodeHandler, so update SerialStatusCodeHandler to use MAX_DEBUG_MESSAGE_LENGTH (0x100) as the max printed string size to align with other DebugLib’s behavior. 2012-06-12 04:52:23 +00:00
Variable MdeModulePkg: Variable drivers robustly handle crashes during Reclaim(). 2013-07-03 09:08:40 +00:00
WatchdogTimerDxe Add debug print that the system is about to be reset. I was seeing watchtog timeouts in UnixPkg and they were hard to debug as gdb was exiting. This debug print should be useful in general. 2010-07-30 16:01:09 +00:00