audk/MdeModulePkg/Universal
Zhichao Gao 0889500ce1 MdeModulePkg/BdsDxe: Use a pcd to control PlatformRecovery
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1678

Use the PcdPlatformRecoverySupport to control the function
of platform recovery in BDS.
First, set the variable's ("OsIndicationsSupported")
EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY bit base on the pcd.
It would affect the variable "OsIndications".
While the platform does not support the platform recovery,
it is inappropriate to set a PlatformRecovery#### variable. So
skip setting the variable. But it should remain the behavior of
booting from a default file path (such as \EFI\BOOT\BOOTX64.EFI)
to be compatible with the previous version UEFI spec.

Add memory check before build platform default boot option. If
fail to allocate memory for the defualt boot file path, put the
system into dead loop to indicate it is unable to boot.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Michael Turner <Michael.Turner@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2019-07-01 14:59:20 +08:00
..
Acpi MdeModulePkg/FirmwarePerformanceDxe: make global variable static 2019-04-28 10:54:27 +08:00
BdsDxe MdeModulePkg/BdsDxe: Use a pcd to control PlatformRecovery 2019-07-01 14:59:20 +08:00
BootManagerPolicyDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
CapsuleOnDiskLoadPei MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM. 2019-06-26 15:10:42 +08:00
CapsulePei MdeModulePkg/CapsulePei: Add memory pointer check 2019-06-26 16:08:48 +08:00
CapsuleRuntimeDxe MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature. 2019-06-26 15:10:41 +08:00
Console MdeModulePkg/GraphicsConsoleDxe: Initialize the output mode 2019-06-13 14:53:40 +08:00
DebugPortDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DebugServicePei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DebugSupportDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DevicePathDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Disk MdeModulePkg: Remove BootInRecoveryMode PPI 2019-05-09 20:52:41 +08:00
DisplayEngineDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DriverHealthManagerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
DriverSampleDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
EbcDxe MdeModulePkg/EbcDxe: implement the PE/COFF emulator protocol 2019-04-14 18:37:33 -07:00
EsrtDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
EsrtFmpDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FaultTolerantWriteDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FaultTolerantWritePei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FileExplorerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
FvSimpleFileSystemDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
HiiDatabaseDxe MdeModulePkg/HiiDB: Minimize memory allocation times after ReadyToBoot 2019-04-28 09:32:42 +08:00
HiiResourcesSampleDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LegacyRegion2Dxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LoadFileOnFv2 MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
LockBox/SmmLockBox MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
MemoryTest MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Metronome MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
MonotonicCounterRuntimeDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PCD MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PcatSingleSegmentPciCfg2Pei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PlatformDriOverrideDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
PrintDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
RegularExpressionDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
ReportStatusCodeRouter MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
ResetSystemPei MdeModulePkg/ResetSystemPei: Change comments of ResetSystem2 2019-04-28 09:40:15 +08:00
ResetSystemRuntimeDxe MdeModulePkg/ResetSystemRuntimeDxe: Change comments 2019-04-28 09:40:15 +08:00
SectionExtractionDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SectionExtractionPei MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SecurityStubDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SerialDxe MdeModulePkg: Introduce EDKII_SERIAL_PORT_LIB_VENDOR_GUID 2019-06-14 21:26:28 +02:00
SetupBrowserDxe MdeModulePkg/Setup: Remove PcdFrameworkCompatibilitySupport usage 2019-05-09 09:42:55 +08:00
SmbiosDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SmbiosMeasurementDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
SmmCommunicationBufferDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
StatusCodeHandler MdeModulePkg/StatusCodeHandlerRuntimeDxe: make global variable static 2019-04-28 10:54:28 +08:00
TimestampDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
Variable MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00
WatchdogTimerDxe MdeModulePkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:08 -07:00