]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Library/PlatformBootManagerLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Include / Library / PlatformBootManagerLib.h
1 /** @file
2 Platform Boot Manager library definition. A platform can implement
3 instances to support platform-specific behavior.
4
5 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef __PLATFORM_BOOT_MANAGER_LIB_H_
11 #define __PLATFORM_BOOT_MANAGER_LIB_H_
12 #include <Library/UefiBootManagerLib.h>
13
14 /**
15 Do the platform specific action before the console is connected.
16
17 Such as:
18 Update console variable;
19 Register new Driver#### or Boot####;
20 Signal ReadyToLock event.
21 **/
22 VOID
23 EFIAPI
24 PlatformBootManagerBeforeConsole (
25 VOID
26 );
27
28 /**
29 Do the platform specific action after the console is connected.
30
31 Such as:
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.
37 **/
38 VOID
39 EFIAPI
40 PlatformBootManagerAfterConsole (
41 VOID
42 );
43
44 /**
45 This function is called each second during the boot manager waits the timeout.
46
47 @param TimeoutRemain The remaining timeout.
48 **/
49 VOID
50 EFIAPI
51 PlatformBootManagerWaitCallback (
52 UINT16 TimeoutRemain
53 );
54
55 /**
56 The function is called when no boot option could be launched,
57 including platform recovery options and options pointing to applications
58 built into firmware volumes.
59
60 If this function returns, BDS attempts to enter an infinite loop.
61 **/
62 VOID
63 EFIAPI
64 PlatformBootManagerUnableToBoot (
65 VOID
66 );
67
68 #endif