This file include all platform action which can be customized\r
by IBV/OEM.\r
\r
-Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#include "PlatformBootManager.h"\r
#include "PlatformConsole.h"\r
+#include <Protocol/PlatformBootManagerOverride.h>\r
+\r
+UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_PROTOCOL *mUniversalPayloadPlatformBootManagerOverrideInstance = NULL;\r
\r
VOID\r
InstallReadyToLock (\r
EFI_INPUT_KEY F2;\r
EFI_INPUT_KEY Down;\r
EFI_BOOT_MANAGER_LOAD_OPTION BootOption;\r
+ EFI_STATUS Status;\r
+\r
+ Status = gBS->LocateProtocol (&gUniversalPayloadPlatformBootManagerOverrideProtocolGuid, NULL, (VOID **) &mUniversalPayloadPlatformBootManagerOverrideInstance);\r
+ if (EFI_ERROR (Status)) {\r
+ mUniversalPayloadPlatformBootManagerOverrideInstance = NULL;\r
+ }\r
+ if (mUniversalPayloadPlatformBootManagerOverrideInstance != NULL){\r
+ mUniversalPayloadPlatformBootManagerOverrideInstance->BeforeConsole();\r
+ return;\r
+ }\r
\r
//\r
// Register ENTER as CONTINUE key\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Black;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL White;\r
\r
+ if (mUniversalPayloadPlatformBootManagerOverrideInstance != NULL){\r
+ mUniversalPayloadPlatformBootManagerOverrideInstance->AfterConsole();\r
+ return;\r
+ }\r
Black.Blue = Black.Green = Black.Red = Black.Reserved = 0;\r
White.Blue = White.Green = White.Red = White.Reserved = 0xFF;\r
\r
UINT16 TimeoutRemain\r
)\r
{\r
+ if (mUniversalPayloadPlatformBootManagerOverrideInstance != NULL){\r
+ mUniversalPayloadPlatformBootManagerOverrideInstance->WaitCallback (TimeoutRemain);\r
+ }\r
return;\r
}\r
\r
VOID\r
)\r
{\r
+ if (mUniversalPayloadPlatformBootManagerOverrideInstance != NULL){\r
+ mUniversalPayloadPlatformBootManagerOverrideInstance->UnableToBoot();\r
+ }\r
return;\r
}\r
\r