]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Include/Library/EdkGenericPlatformBdsLib.h
EdkGenericPlatformBdsLib added
[mirror_edk2.git] / EdkModulePkg / Include / Library / EdkGenericPlatformBdsLib.h
CommitLineData
52657feb 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name: \r
13\r
14 BdsPlatform.h\r
15\r
16Abstract:\r
17\r
18 Head file for BDS Platform specific code\r
19\r
20--*/\r
21\r
22#ifndef _BDS_PLATFORM_LIB_H\r
23#define _BDS_PLATFORM_LIB_H\r
24\r
25extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];\r
26extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];\r
27extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];\r
28//\r
29// Bds AP Context data\r
30//\r
31#define EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE EFI_SIGNATURE_32 ('B', 'd', 's', 'A')\r
32typedef struct {\r
33 UINTN Signature;\r
34\r
35 EFI_HANDLE Handle;\r
36\r
37 EFI_BDS_ARCH_PROTOCOL Bds;\r
38\r
39 //\r
40 // Save the current boot mode\r
41 //\r
42 EFI_BOOT_MODE BootMode;\r
43\r
44 //\r
45 // Set true if boot with default settings\r
46 //\r
47 BOOLEAN DefaultBoot;\r
48\r
49 //\r
50 // The system default timeout for choose the boot option\r
51 //\r
52 UINT16 TimeoutDefault;\r
53\r
54 //\r
55 // Memory Test Level\r
56 //\r
57 EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel;\r
58\r
59} EFI_BDS_ARCH_PROTOCOL_INSTANCE;\r
60\r
61#define EFI_BDS_ARCH_PROTOCOL_INSTANCE_FROM_THIS(_this) \\r
62 CR (_this, \\r
63 EFI_BDS_ARCH_PROTOCOL_INSTANCE, \\r
64 Bds, \\r
65 EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \\r
66 )\r
67
68\r
69#define gEndEntire \\r
70 { \\r
71 END_DEVICE_PATH_TYPE,\\r
72 END_ENTIRE_DEVICE_PATH_SUBTYPE,\\r
73 {\\r
74 END_DEVICE_PATH_LENGTH,\\r
75 0\\r
76 }\\r
77 }\r
78\r
79//\r
80// Platform BDS Functions\r
81//\r
82VOID\r
83PlatformBdsInit (\r
84 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData\r
85 )\r
86;\r
87\r
88VOID\r
89PlatformBdsPolicyBehavior (\r
90 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData,\r
91 IN LIST_ENTRY *DriverOptionList,\r
92 IN LIST_ENTRY *BootOptionList\r
93 )\r
94;\r
95\r
96EFI_STATUS\r
97BdsMemoryTest (\r
98 EXTENDMEM_COVERAGE_LEVEL Level\r
99 )\r
100;\r
101\r
102EFI_STATUS\r
103PlatformBdsShowProgress (\r
104 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,\r
105 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,\r
106 CHAR16 *Title,\r
107 EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,\r
108 UINTN Progress,\r
109 UINTN PreviousValue\r
110 )\r
111;\r
112\r
113VOID\r
114PlatformBdsBootFail (\r
115 IN BDS_COMMON_OPTION *Option,\r
116 IN EFI_STATUS Status,\r
117 IN CHAR16 *ExitData,\r
118 IN UINTN ExitDataSize\r
119 )\r
120;\r
121\r
122VOID\r
123PlatformBdsBootSuccess (\r
124 IN BDS_COMMON_OPTION *Option\r
125 )\r
126;\r
127\r
128EFI_STATUS\r
129ProcessCapsules (\r
130 EFI_BOOT_MODE BootMode\r
131 )\r
132;\r
133\r
134VOID\r
135PlatformBdsEnterFrontPage (\r
136 IN UINT16 TimeoutDefault,\r
137 IN BOOLEAN ConnectAllHappened\r
138 );\r
139\r
140#endif // _BDS_PLATFORM_LIB_H\r