2 Define some data used for Boot Maint
4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #include "BootMaint.h"
17 VOID
*mStartOpCodeHandle
= NULL
;
18 VOID
*mEndOpCodeHandle
= NULL
;
19 EFI_IFR_GUID_LABEL
*mStartLabel
= NULL
;
20 EFI_IFR_GUID_LABEL
*mEndLabel
= NULL
;
22 STRING_DEPOSITORY
*FileOptionStrDepository
;
23 STRING_DEPOSITORY
*ConsoleOptionStrDepository
;
24 STRING_DEPOSITORY
*BootOptionStrDepository
;
25 STRING_DEPOSITORY
*BootOptionHelpStrDepository
;
26 STRING_DEPOSITORY
*DriverOptionStrDepository
;
27 STRING_DEPOSITORY
*DriverOptionHelpStrDepository
;
28 STRING_DEPOSITORY
*TerminalStrDepository
;
31 /// Terminal type string token storage
33 UINT16 TerminalType
[] = {
34 STRING_TOKEN(STR_COM_TYPE_0
),
35 STRING_TOKEN(STR_COM_TYPE_1
),
36 STRING_TOKEN(STR_COM_TYPE_2
),
37 STRING_TOKEN(STR_COM_TYPE_3
),
38 STRING_TOKEN(STR_COM_TYPE_4
),
42 /// File system selection menu
44 BM_MENU_OPTION FsOptionMenu
= {
45 BM_MENU_OPTION_SIGNATURE
,
51 /// Console Input Device Selection Menu
53 BM_MENU_OPTION ConsoleInpMenu
= {
54 BM_MENU_OPTION_SIGNATURE
,
60 /// Console Output Device Selection Menu
62 BM_MENU_OPTION ConsoleOutMenu
= {
63 BM_MENU_OPTION_SIGNATURE
,
69 /// Error Output Device Selection Menu
71 BM_MENU_OPTION ConsoleErrMenu
= {
72 BM_MENU_OPTION_SIGNATURE
,
78 /// Boot Option from variable Menu
80 BM_MENU_OPTION BootOptionMenu
= {
81 BM_MENU_OPTION_SIGNATURE
,
87 /// Driver Option from variable menu
89 BM_MENU_OPTION DriverOptionMenu
= {
90 BM_MENU_OPTION_SIGNATURE
,
96 /// Files and sub-directories in current directory menu
98 BM_MENU_OPTION DirectoryMenu
= {
99 BM_MENU_OPTION_SIGNATURE
,
105 /// Handles in current system selection menu
107 BM_MENU_OPTION DriverMenu
= {
108 BM_MENU_OPTION_SIGNATURE
,
113 BM_MENU_OPTION TerminalMenu
= {
114 BM_MENU_OPTION_SIGNATURE
,
120 /// Value and string token correspondency for BaudRate
122 COM_ATTR BaudRateList
[19] = {
125 STRING_TOKEN(STR_COM_BAUD_RATE_0
)
129 STRING_TOKEN(STR_COM_BAUD_RATE_1
)
133 STRING_TOKEN(STR_COM_BAUD_RATE_2
)
137 STRING_TOKEN(STR_COM_BAUD_RATE_3
)
141 STRING_TOKEN(STR_COM_BAUD_RATE_4
)
145 STRING_TOKEN(STR_COM_BAUD_RATE_5
)
149 STRING_TOKEN(STR_COM_BAUD_RATE_6
)
153 STRING_TOKEN(STR_COM_BAUD_RATE_7
)
157 STRING_TOKEN(STR_COM_BAUD_RATE_8
)
161 STRING_TOKEN(STR_COM_BAUD_RATE_9
)
165 STRING_TOKEN(STR_COM_BAUD_RATE_10
)
169 STRING_TOKEN(STR_COM_BAUD_RATE_11
)
173 STRING_TOKEN(STR_COM_BAUD_RATE_12
)
177 STRING_TOKEN(STR_COM_BAUD_RATE_13
)
181 STRING_TOKEN(STR_COM_BAUD_RATE_14
)
185 STRING_TOKEN(STR_COM_BAUD_RATE_15
)
189 STRING_TOKEN(STR_COM_BAUD_RATE_16
)
193 STRING_TOKEN(STR_COM_BAUD_RATE_17
)
197 STRING_TOKEN(STR_COM_BAUD_RATE_18
)
202 /// Value and string token correspondency for DataBits
204 COM_ATTR DataBitsList
[4] = {
207 STRING_TOKEN(STR_COM_DATA_BITS_0
)
211 STRING_TOKEN(STR_COM_DATA_BITS_1
)
215 STRING_TOKEN(STR_COM_DATA_BITS_2
)
219 STRING_TOKEN(STR_COM_DATA_BITS_3
)
224 /// Value and string token correspondency for Parity
226 COM_ATTR ParityList
[5] = {
229 STRING_TOKEN(STR_COM_PAR_0
)
233 STRING_TOKEN(STR_COM_PAR_1
)
237 STRING_TOKEN(STR_COM_PAR_2
)
241 STRING_TOKEN(STR_COM_PAR_3
)
245 STRING_TOKEN(STR_COM_PAR_4
)
250 /// Value and string token correspondency for Baudreate
252 COM_ATTR StopBitsList
[3] = {
255 STRING_TOKEN(STR_COM_STOP_BITS_0
)
259 STRING_TOKEN(STR_COM_STOP_BITS_1
)
263 STRING_TOKEN(STR_COM_STOP_BITS_2
)
268 /// Guid for messaging path, used in Serial port setting.
270 EFI_GUID TerminalTypeGuid
[] = {
271 DEVICE_PATH_MESSAGING_PC_ANSI
,
272 DEVICE_PATH_MESSAGING_VT_100
,
273 DEVICE_PATH_MESSAGING_VT_100_PLUS
,
274 DEVICE_PATH_MESSAGING_VT_UTF8
,