1 /** @file
2 Define some data used for Boot Maint
3 
4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6 
7 **/
8 
9 #include "BootMaintenanceManager.h"
10 
11 VOID                *mStartOpCodeHandle = NULL;
12 VOID                *mEndOpCodeHandle = NULL;
13 EFI_IFR_GUID_LABEL  *mStartLabel = NULL;
14 EFI_IFR_GUID_LABEL  *mEndLabel = NULL;
15 
16 ///
17 /// Terminal type string token storage
18 ///
19 UINT16              TerminalType[] = {
20   STRING_TOKEN(STR_COM_TYPE_0),
21   STRING_TOKEN(STR_COM_TYPE_1),
22   STRING_TOKEN(STR_COM_TYPE_2),
23   STRING_TOKEN(STR_COM_TYPE_3),
24   STRING_TOKEN(STR_COM_TYPE_4),
25 };
26 
27 ///
28 /// Flow Control type string token storage
29 ///
30 UINT16              mFlowControlType[2] = {
31   STRING_TOKEN(STR_NONE_FLOW_CONTROL),
32   STRING_TOKEN(STR_HARDWARE_FLOW_CONTROL)
33 };
34 
35 UINT32              mFlowControlValue[2] = {
36   0,
37   UART_FLOW_CONTROL_HARDWARE
38 };
39 
40 ///
41 /// Console Input Device Selection Menu
42 ///
43 BM_MENU_OPTION      ConsoleInpMenu = {
44   BM_MENU_OPTION_SIGNATURE,
45   {NULL},
46   0
47 };
48 
49 ///
50 /// Console Output Device Selection Menu
51 ///
52 BM_MENU_OPTION      ConsoleOutMenu = {
53   BM_MENU_OPTION_SIGNATURE,
54   {NULL},
55   0
56 };
57 
58 ///
59 /// Error Output Device Selection Menu
60 ///
61 BM_MENU_OPTION      ConsoleErrMenu = {
62   BM_MENU_OPTION_SIGNATURE,
63   {NULL},
64   0
65 };
66 
67 ///
68 /// Boot Option from variable Menu
69 ///
70 BM_MENU_OPTION      BootOptionMenu = {
71   BM_MENU_OPTION_SIGNATURE,
72   {NULL},
73   0
74 };
75 
76 ///
77 /// Driver Option from variable menu
78 ///
79 BM_MENU_OPTION      DriverOptionMenu = {
80   BM_MENU_OPTION_SIGNATURE,
81   {NULL},
82   0
83 };
84 
85 ///
86 /// Handles in current system selection menu
87 ///
88 BM_MENU_OPTION      DriverMenu = {
89   BM_MENU_OPTION_SIGNATURE,
90   {NULL},
91   0
92 };
93 
94 BM_MENU_OPTION      TerminalMenu = {
95   BM_MENU_OPTION_SIGNATURE,
96   {NULL},
97   0
98 };
99 
100 ///
101 /// Value and string token correspondency for BaudRate
102 ///
103 COM_ATTR            BaudRateList[19] = {
104   {
105     115200,
106     STRING_TOKEN(STR_COM_BAUD_RATE_0)
107   },
108   {
109     57600,
110     STRING_TOKEN(STR_COM_BAUD_RATE_1)
111   },
112   {
113     38400,
114     STRING_TOKEN(STR_COM_BAUD_RATE_2)
115   },
116   {
117     19200,
118     STRING_TOKEN(STR_COM_BAUD_RATE_3)
119   },
120   {
121     9600,
122     STRING_TOKEN(STR_COM_BAUD_RATE_4)
123   },
124   {
125     7200,
126     STRING_TOKEN(STR_COM_BAUD_RATE_5)
127   },
128   {
129     4800,
130     STRING_TOKEN(STR_COM_BAUD_RATE_6)
131   },
132   {
133     3600,
134     STRING_TOKEN(STR_COM_BAUD_RATE_7)
135   },
136   {
137     2400,
138     STRING_TOKEN(STR_COM_BAUD_RATE_8)
139   },
140   {
141     2000,
142     STRING_TOKEN(STR_COM_BAUD_RATE_9)
143   },
144   {
145     1800,
146     STRING_TOKEN(STR_COM_BAUD_RATE_10)
147   },
148   {
149     1200,
150     STRING_TOKEN(STR_COM_BAUD_RATE_11)
151   },
152   {
153     600,
154     STRING_TOKEN(STR_COM_BAUD_RATE_12)
155   },
156   {
157     300,
158     STRING_TOKEN(STR_COM_BAUD_RATE_13)
159   },
160   {
161     150,
162     STRING_TOKEN(STR_COM_BAUD_RATE_14)
163   },
164   {
165     134,
166     STRING_TOKEN(STR_COM_BAUD_RATE_15)
167   },
168   {
169     110,
170     STRING_TOKEN(STR_COM_BAUD_RATE_16)
171   },
172   {
173     75,
174     STRING_TOKEN(STR_COM_BAUD_RATE_17)
175   },
176   {
177     50,
178     STRING_TOKEN(STR_COM_BAUD_RATE_18)
179   }
180 };
181 
182 ///
183 /// Value and string token correspondency for DataBits
184 ///
185 COM_ATTR            DataBitsList[4] = {
186   {
187     5,
188     STRING_TOKEN(STR_COM_DATA_BITS_0)
189   },
190   {
191     6,
192     STRING_TOKEN(STR_COM_DATA_BITS_1)
193   },
194   {
195     7,
196     STRING_TOKEN(STR_COM_DATA_BITS_2)
197   },
198   {
199     8,
200     STRING_TOKEN(STR_COM_DATA_BITS_3)
201   }
202 };
203 
204 ///
205 /// Value and string token correspondency for Parity
206 ///
207 COM_ATTR            ParityList[5] = {
208   {
209     NoParity,
210     STRING_TOKEN(STR_COM_PAR_0)
211   },
212   {
213     EvenParity,
214     STRING_TOKEN(STR_COM_PAR_1)
215   },
216   {
217     OddParity,
218     STRING_TOKEN(STR_COM_PAR_2)
219   },
220   {
221     MarkParity,
222     STRING_TOKEN(STR_COM_PAR_3)
223   },
224   {
225     SpaceParity,
226     STRING_TOKEN(STR_COM_PAR_4)
227   }
228 };
229 
230 ///
231 /// Value and string token correspondency for Baudreate
232 ///
233 COM_ATTR            StopBitsList[3] = {
234   {
235     OneStopBit,
236     STRING_TOKEN(STR_COM_STOP_BITS_0)
237   },
238   {
239     OneFiveStopBits,
240     STRING_TOKEN(STR_COM_STOP_BITS_1)
241   },
242   {
243     TwoStopBits,
244     STRING_TOKEN(STR_COM_STOP_BITS_2)
245   }
246 };
247 
248 ///
249 /// Guid for messaging path, used in Serial port setting.
250 ///
251 EFI_GUID            TerminalTypeGuid[] = {
252   DEVICE_PATH_MESSAGING_PC_ANSI,
253   DEVICE_PATH_MESSAGING_VT_100,
254   DEVICE_PATH_MESSAGING_VT_100_PLUS,
255   DEVICE_PATH_MESSAGING_VT_UTF8,
256   EFI_TTY_TERM_GUID
257 };
258