to enter BDS phase.\r
\r
Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>\r
-(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
+(C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR>\r
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
TimeoutRemain--;\r
}\r
}\r
- PlatformBootManagerWaitCallback (0);\r
+\r
+ //\r
+ // If the platform configured a nonzero and finite time-out, and we have\r
+ // actually reached that, report 100% completion to the platform.\r
+ //\r
+ // Note that the (TimeoutRemain == 0) condition excludes\r
+ // PcdPlatformBootTimeOut=0xFFFF, and that's deliberate.\r
+ //\r
+ if (PcdGet16 (PcdPlatformBootTimeOut) != 0 && TimeoutRemain == 0) {\r
+ PlatformBootManagerWaitCallback (0);\r
+ }\r
DEBUG ((EFI_D_INFO, "[Bds]Exit the waiting!\n"));\r
}\r
\r
}\r
\r
if (!BootSuccess) {\r
- if (PlatformRecovery) {\r
+ if (PcdGetBool (PcdPlatformRecoverySupport)) {\r
LoadOptions = EfiBootManagerGetLoadOptions (&LoadOptionCount, LoadOptionTypePlatformRecovery);\r
ProcessLoadOptions (LoadOptions, LoadOptionCount);\r
EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount);\r