2 This file defines the Univeral Payload Platform BootManager Protocol.
4 Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
8 #ifndef __PLATFORM_BOOT_MANAGER_OVERRIDE_H__
9 #define __PLATFORM_BOOT_MANAGER_OVERRIDE_H__
13 Do the platform specific action before the console is connected.
16 Update console variable;
17 Register new Driver#### or Boot####;
18 Signal ReadyToLock event.
20 This function will override the default behavior in PlatformBootManagerLib
24 (EFIAPI
*UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_BEFORE_CONSOLE
) (
29 Do the platform specific action after the console is connected.
32 Dynamically switch output mode;
33 Signal console ready platform customized event;
34 Run diagnostics like memory testing;
35 Connect certain devices;
36 Dispatch aditional option roms.
38 This function will override the default behavior in PlatformBootManagerLib
42 (EFIAPI
*UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_AFTER_CONSOLE
) (
47 This function is called each second during the boot manager waits the timeout.
48 This function will override the default behavior in PlatformBootManagerLib
50 @param TimeoutRemain The remaining timeout.
54 (EFIAPI
*UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_WAIT_CALLBACK
) (
59 The function is called when no boot option could be launched,
60 including platform recovery options and options pointing to applications
61 built into firmware volumes.
63 If this function returns, BDS attempts to enter an infinite loop.
64 This function will override the default behavior in PlatformBootManagerLib
68 (EFIAPI
*UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_UNABLE_TO_BOOT
) (
73 /// Provides an interface to override the default behavior in PlatformBootManagerLib,
74 /// so platform can provide its own platform specific logic through this protocol
77 UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_BEFORE_CONSOLE BeforeConsole
;
78 UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_AFTER_CONSOLE AfterConsole
;
79 UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_WAIT_CALLBACK WaitCallback
;
80 UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_UNABLE_TO_BOOT UnableToBoot
;
81 } UNIVERSAL_PAYLOAD_PLATFORM_BOOT_MANAGER_OVERRIDE_PROTOCOL
;
83 extern GUID gUniversalPayloadPlatformBootManagerOverrideProtocolGuid
;