2 Define some data used for Boot Maint
4 Copyright (c) 2004 - 2008, 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
),
41 /// Flow Control type string token storage
43 UINT16 mFlowControlType
[2] = {
44 STRING_TOKEN(STR_NONE_FLOW_CONTROL
),
45 STRING_TOKEN(STR_HARDWARE_FLOW_CONTROL
)
48 UINT32 mFlowControlValue
[2] = {
50 UART_FLOW_CONTROL_HARDWARE
54 /// File system selection menu
56 BM_MENU_OPTION FsOptionMenu
= {
57 BM_MENU_OPTION_SIGNATURE
,
63 /// Console Input Device Selection Menu
65 BM_MENU_OPTION ConsoleInpMenu
= {
66 BM_MENU_OPTION_SIGNATURE
,
72 /// Console Output Device Selection Menu
74 BM_MENU_OPTION ConsoleOutMenu
= {
75 BM_MENU_OPTION_SIGNATURE
,
81 /// Error Output Device Selection Menu
83 BM_MENU_OPTION ConsoleErrMenu
= {
84 BM_MENU_OPTION_SIGNATURE
,
90 /// Boot Option from variable Menu
92 BM_MENU_OPTION BootOptionMenu
= {
93 BM_MENU_OPTION_SIGNATURE
,
99 /// Driver Option from variable menu
101 BM_MENU_OPTION DriverOptionMenu
= {
102 BM_MENU_OPTION_SIGNATURE
,
108 /// Legacy FD Info from LegacyBios.GetBbsInfo()
110 BM_MENU_OPTION LegacyFDMenu
= {
111 BM_MENU_OPTION_SIGNATURE
,
117 /// Legacy HD Info from LegacyBios.GetBbsInfo()
119 BM_MENU_OPTION LegacyHDMenu
= {
120 BM_MENU_OPTION_SIGNATURE
,
126 /// Legacy CD Info from LegacyBios.GetBbsInfo()
128 BM_MENU_OPTION LegacyCDMenu
= {
129 BM_MENU_OPTION_SIGNATURE
,
135 /// Legacy NET Info from LegacyBios.GetBbsInfo()
137 BM_MENU_OPTION LegacyNETMenu
= {
138 BM_MENU_OPTION_SIGNATURE
,
144 /// Legacy NET Info from LegacyBios.GetBbsInfo()
146 BM_MENU_OPTION LegacyBEVMenu
= {
147 BM_MENU_OPTION_SIGNATURE
,
153 /// Files and sub-directories in current directory menu
155 BM_MENU_OPTION DirectoryMenu
= {
156 BM_MENU_OPTION_SIGNATURE
,
162 /// Handles in current system selection menu
164 BM_MENU_OPTION DriverMenu
= {
165 BM_MENU_OPTION_SIGNATURE
,
170 BM_MENU_OPTION TerminalMenu
= {
171 BM_MENU_OPTION_SIGNATURE
,
177 /// Value and string token correspondency for BaudRate
179 COM_ATTR BaudRateList
[19] = {
182 STRING_TOKEN(STR_COM_BAUD_RATE_0
)
186 STRING_TOKEN(STR_COM_BAUD_RATE_1
)
190 STRING_TOKEN(STR_COM_BAUD_RATE_2
)
194 STRING_TOKEN(STR_COM_BAUD_RATE_3
)
198 STRING_TOKEN(STR_COM_BAUD_RATE_4
)
202 STRING_TOKEN(STR_COM_BAUD_RATE_5
)
206 STRING_TOKEN(STR_COM_BAUD_RATE_6
)
210 STRING_TOKEN(STR_COM_BAUD_RATE_7
)
214 STRING_TOKEN(STR_COM_BAUD_RATE_8
)
218 STRING_TOKEN(STR_COM_BAUD_RATE_9
)
222 STRING_TOKEN(STR_COM_BAUD_RATE_10
)
226 STRING_TOKEN(STR_COM_BAUD_RATE_11
)
230 STRING_TOKEN(STR_COM_BAUD_RATE_12
)
234 STRING_TOKEN(STR_COM_BAUD_RATE_13
)
238 STRING_TOKEN(STR_COM_BAUD_RATE_14
)
242 STRING_TOKEN(STR_COM_BAUD_RATE_15
)
246 STRING_TOKEN(STR_COM_BAUD_RATE_16
)
250 STRING_TOKEN(STR_COM_BAUD_RATE_17
)
254 STRING_TOKEN(STR_COM_BAUD_RATE_18
)
259 /// Value and string token correspondency for DataBits
261 COM_ATTR DataBitsList
[4] = {
264 STRING_TOKEN(STR_COM_DATA_BITS_0
)
268 STRING_TOKEN(STR_COM_DATA_BITS_1
)
272 STRING_TOKEN(STR_COM_DATA_BITS_2
)
276 STRING_TOKEN(STR_COM_DATA_BITS_3
)
281 /// Value and string token correspondency for Parity
283 COM_ATTR ParityList
[5] = {
286 STRING_TOKEN(STR_COM_PAR_0
)
290 STRING_TOKEN(STR_COM_PAR_1
)
294 STRING_TOKEN(STR_COM_PAR_2
)
298 STRING_TOKEN(STR_COM_PAR_3
)
302 STRING_TOKEN(STR_COM_PAR_4
)
307 /// Value and string token correspondency for Baudreate
309 COM_ATTR StopBitsList
[3] = {
312 STRING_TOKEN(STR_COM_STOP_BITS_0
)
316 STRING_TOKEN(STR_COM_STOP_BITS_1
)
320 STRING_TOKEN(STR_COM_STOP_BITS_2
)
325 /// Guid for messaging path, used in Serial port setting.
327 EFI_GUID TerminalTypeGuid
[4] = {
328 DEVICE_PATH_MESSAGING_PC_ANSI
,
329 DEVICE_PATH_MESSAGING_VT_100
,
330 DEVICE_PATH_MESSAGING_VT_100_PLUS
,
331 DEVICE_PATH_MESSAGING_VT_UTF8