]>
Commit | Line | Data |
---|---|---|
a1d4bfcc | 1 | /** @file\r |
5d73d92f | 2 | Module for clarifying the content of the smbios structure element info.\r |
3 | \r | |
fc7d997c | 4 | Copyright (c) 2005 - 2019, Intel Corporation. All rights reserved. <BR>\r |
56ba3746 | 5 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
5d73d92f | 6 | \r |
7 | **/\r | |
8 | \r | |
8a765da2 | 9 | #include "UefiShellDebug1CommandsLib.h"\r |
5d73d92f | 10 | #include "PrintInfo.h"\r |
11 | #include "QueryTable.h"\r | |
12 | #include "EventLogInfo.h"\r | |
13 | \r | |
14 | /**\r | |
15 | Function to display system event log access information.\r | |
16 | \r | |
17 | @param[in] Key Additional information to print.\r | |
18 | @param[in] Option Whether to print the additional information.\r | |
19 | **/\r | |
20 | VOID\r | |
5d73d92f | 21 | DisplaySELAccessMethod (\r |
47d20b54 MK |
22 | IN CONST UINT8 Key,\r |
23 | IN CONST UINT8 Option\r | |
5d73d92f | 24 | )\r |
25 | {\r | |
26 | //\r | |
27 | // Print prompt\r | |
28 | //\r | |
47d20b54 | 29 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ACCESS_METHOD), gShellDebug1HiiHandle);\r |
5d73d92f | 30 | PRINT_INFO_OPTION (Key, Option);\r |
31 | \r | |
32 | //\r | |
33 | // Print value info\r | |
34 | //\r | |
35 | switch (Key) {\r | |
47d20b54 MK |
36 | case 0:\r |
37 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_EIGHT_BIT), gShellDebug1HiiHandle);\r | |
38 | break;\r | |
39 | \r | |
40 | case 1:\r | |
41 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TWO_EIGHT_BITS), gShellDebug1HiiHandle);\r | |
42 | break;\r | |
43 | \r | |
44 | case 2:\r | |
45 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_SIXTEEN_BIT), gShellDebug1HiiHandle);\r | |
46 | break;\r | |
47 | \r | |
48 | case 3:\r | |
49 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MEM_MAPPED_PHYS), gShellDebug1HiiHandle);\r | |
50 | break;\r | |
51 | \r | |
52 | case 4:\r | |
53 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_VIA_GENERAL), gShellDebug1HiiHandle);\r | |
54 | break;\r | |
55 | \r | |
56 | default:\r | |
57 | if (Key <= 0x7f) {\r | |
58 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE_ASSIGN), gShellDebug1HiiHandle);\r | |
59 | } else {\r | |
60 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR_OEM), gShellDebug1HiiHandle);\r | |
61 | }\r | |
5d73d92f | 62 | }\r |
63 | }\r | |
64 | \r | |
65 | /**\r | |
66 | Function to display system event log status information.\r | |
67 | \r | |
68 | @param[in] Key Additional information to print.\r | |
69 | @param[in] Option Whether to print the additional information.\r | |
70 | **/\r | |
71 | VOID\r | |
5d73d92f | 72 | DisplaySELLogStatus (\r |
47d20b54 MK |
73 | UINT8 Key,\r |
74 | UINT8 Option\r | |
5d73d92f | 75 | )\r |
76 | {\r | |
77 | //\r | |
78 | // Print prompt\r | |
79 | //\r | |
47d20b54 | 80 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_STATUS), gShellDebug1HiiHandle);\r |
5d73d92f | 81 | PRINT_INFO_OPTION (Key, Option);\r |
82 | \r | |
83 | //\r | |
84 | // Print value info\r | |
85 | //\r | |
86 | if ((Key & 0x01) != 0) {\r | |
47d20b54 | 87 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID), gShellDebug1HiiHandle);\r |
5d73d92f | 88 | } else {\r |
47d20b54 | 89 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_VALID), gShellDebug1HiiHandle);\r |
5d73d92f | 90 | }\r |
91 | \r | |
92 | if ((Key & 0x02) != 0) {\r | |
47d20b54 | 93 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_FULL), gShellDebug1HiiHandle);\r |
5d73d92f | 94 | } else {\r |
47d20b54 | 95 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_AREA_NOT_FULL), gShellDebug1HiiHandle);\r |
5d73d92f | 96 | }\r |
97 | \r | |
98 | if ((Key & 0xFC) != 0) {\r | |
47d20b54 | 99 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_RES_BITS_NOT_ZERO), gShellDebug1HiiHandle, Key & 0xFC);\r |
5d73d92f | 100 | }\r |
101 | }\r | |
102 | \r | |
103 | /**\r | |
104 | Function to display system event log header format information.\r | |
105 | \r | |
106 | @param[in] Key Additional information to print.\r | |
107 | @param[in] Option Whether to print the additional information.\r | |
108 | **/\r | |
109 | VOID\r | |
5d73d92f | 110 | DisplaySysEventLogHeaderFormat (\r |
47d20b54 MK |
111 | UINT8 Key,\r |
112 | UINT8 Option\r | |
5d73d92f | 113 | )\r |
114 | {\r | |
115 | //\r | |
116 | // Print prompt\r | |
117 | //\r | |
47d20b54 | 118 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_FORMAT), gShellDebug1HiiHandle);\r |
5d73d92f | 119 | PRINT_INFO_OPTION (Key, Option);\r |
120 | \r | |
121 | //\r | |
122 | // Print value info\r | |
123 | //\r | |
124 | if (Key == 0x00) {\r | |
47d20b54 | 125 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER), gShellDebug1HiiHandle);\r |
5d73d92f | 126 | } else if (Key == 0x01) {\r |
47d20b54 | 127 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER), gShellDebug1HiiHandle);\r |
5d73d92f | 128 | } else if (Key <= 0x7f) {\r |
47d20b54 | 129 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_FUTURE), gShellDebug1HiiHandle);\r |
5d73d92f | 130 | } else {\r |
47d20b54 | 131 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR), gShellDebug1HiiHandle);\r |
5d73d92f | 132 | }\r |
133 | }\r | |
134 | \r | |
a1d4bfcc | 135 | /**\r |
136 | Display the header information for SEL log items.\r | |
137 | \r | |
138 | @param[in] Key The information key.\r | |
139 | @param[in] Option The option index.\r | |
140 | **/\r | |
5d73d92f | 141 | VOID\r |
142 | DisplaySELLogHeaderLen (\r | |
47d20b54 MK |
143 | UINT8 Key,\r |
144 | UINT8 Option\r | |
5d73d92f | 145 | )\r |
146 | {\r | |
47d20b54 | 147 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER_LEN), gShellDebug1HiiHandle);\r |
5d73d92f | 148 | PRINT_INFO_OPTION (Key, Option);\r |
149 | \r | |
47d20b54 | 150 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ONE_VAR_D), gShellDebug1HiiHandle, Key & 0x7F);\r |
5d73d92f | 151 | \r |
152 | //\r | |
153 | // The most-significant bit of the field specifies\r | |
154 | // whether (0) or not (1) the record has been read\r | |
155 | //\r | |
156 | if ((Key & 0x80) != 0) {\r | |
47d20b54 | 157 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_READ), gShellDebug1HiiHandle);\r |
5d73d92f | 158 | } else {\r |
47d20b54 | 159 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_THIS_RECORD_NOT_READ), gShellDebug1HiiHandle);\r |
5d73d92f | 160 | }\r |
161 | }\r | |
162 | \r | |
a1d4bfcc | 163 | /**\r |
164 | Display the header information for type 1 items.\r | |
165 | \r | |
166 | @param[in] LogHeader The buffer with the information.\r | |
167 | **/\r | |
5d73d92f | 168 | VOID\r |
169 | DisplaySysEventLogHeaderType1 (\r | |
47d20b54 | 170 | IN UINT8 *LogHeader\r |
5d73d92f | 171 | )\r |
172 | {\r | |
47d20b54 | 173 | LOG_HEADER_TYPE1_FORMAT *Header;\r |
5d73d92f | 174 | \r |
47d20b54 | 175 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG), gShellDebug1HiiHandle);\r |
5d73d92f | 176 | \r |
177 | //\r | |
178 | // Print Log Header Type1 Format info\r | |
179 | //\r | |
47d20b54 | 180 | Header = (LOG_HEADER_TYPE1_FORMAT *)(LogHeader);\r |
5d73d92f | 181 | \r |
47d20b54 MK |
182 | ShellPrintHiiEx (\r |
183 | -1,\r | |
184 | -1,\r | |
185 | NULL,\r | |
5d73d92f | 186 | STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_OEM_RESERVED),\r |
187 | gShellDebug1HiiHandle,\r | |
188 | Header->OEMReserved[0],\r | |
189 | Header->OEMReserved[1],\r | |
190 | Header->OEMReserved[2],\r | |
191 | Header->OEMReserved[3],\r | |
192 | Header->OEMReserved[4]\r | |
47d20b54 MK |
193 | );\r |
194 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_TIME), gShellDebug1HiiHandle, Header->Metw);\r | |
195 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULTIPLE_EVENT_COUNT), gShellDebug1HiiHandle, Header->Meci);\r | |
196 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_ADDRESS), gShellDebug1HiiHandle, Header->CMOSAddress);\r | |
197 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_PREBOOT_INDEX), gShellDebug1HiiHandle, Header->CMOSBitIndex);\r | |
198 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUM_STARTING_OFF), gShellDebug1HiiHandle, Header->StartingOffset);\r | |
199 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_CHECKSUN_BYTE_COUNT), gShellDebug1HiiHandle, Header->ChecksumOffset);\r | |
200 | ShellPrintHiiEx (\r | |
201 | -1,\r | |
202 | -1,\r | |
203 | NULL,\r | |
5d73d92f | 204 | STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_RESERVED),\r |
205 | gShellDebug1HiiHandle,\r | |
206 | Header->OEMReserved[0],\r | |
207 | Header->OEMReserved[1],\r | |
208 | Header->OEMReserved[2]\r | |
47d20b54 MK |
209 | );\r |
210 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_HEADER_REVISION), gShellDebug1HiiHandle, Header->HeaderRevision);\r | |
5d73d92f | 211 | }\r |
212 | \r | |
213 | /**\r | |
214 | Function to display system event log header information.\r | |
215 | \r | |
216 | @param[in] LogHeaderFormat Format identifier.\r | |
217 | @param[in] LogHeader Format informcation.\r | |
218 | **/\r | |
219 | VOID\r | |
5d73d92f | 220 | DisplaySysEventLogHeader (\r |
47d20b54 MK |
221 | UINT8 LogHeaderFormat,\r |
222 | UINT8 *LogHeader\r | |
5d73d92f | 223 | )\r |
224 | {\r | |
225 | //\r | |
226 | // Print prompt\r | |
227 | //\r | |
47d20b54 | 228 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_LOG_HEADER), gShellDebug1HiiHandle);\r |
5d73d92f | 229 | \r |
230 | //\r | |
231 | // Print value info\r | |
232 | //\r | |
233 | if (LogHeaderFormat == 0x00) {\r | |
47d20b54 | 234 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_HEADER), gShellDebug1HiiHandle);\r |
5d73d92f | 235 | } else if (LogHeaderFormat == 0x01) {\r |
47d20b54 | 236 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TYPE_LOG_HEADER), gShellDebug1HiiHandle);\r |
5d73d92f | 237 | DisplaySysEventLogHeaderType1 (LogHeader);\r |
238 | } else if (LogHeaderFormat <= 0x7f) {\r | |
47d20b54 | 239 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FUTURE_ASSIGN), gShellDebug1HiiHandle);\r |
5d73d92f | 240 | } else {\r |
47d20b54 | 241 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_BIOS_VENDOR), gShellDebug1HiiHandle);\r |
5d73d92f | 242 | }\r |
243 | }\r | |
244 | \r | |
a1d4bfcc | 245 | /**\r |
246 | Display the El Vdf information.\r | |
247 | \r | |
248 | @param[in] ElVdfType The information type.\r | |
249 | @param[in] VarData The information buffer.\r | |
250 | **/\r | |
5d73d92f | 251 | VOID\r |
252 | DisplayElVdfInfo (\r | |
47d20b54 MK |
253 | UINT8 ElVdfType,\r |
254 | UINT8 *VarData\r | |
5d73d92f | 255 | )\r |
256 | {\r | |
257 | UINT16 *Word;\r | |
258 | UINT32 *Dword;\r | |
259 | \r | |
260 | //\r | |
261 | // Display Type Name\r | |
262 | //\r | |
263 | DisplaySELVarDataFormatType (ElVdfType, SHOW_DETAIL);\r | |
264 | \r | |
265 | //\r | |
266 | // Display Type description\r | |
267 | //\r | |
268 | switch (ElVdfType) {\r | |
47d20b54 MK |
269 | case 0:\r |
270 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_NO_STD_FORMAT), gShellDebug1HiiHandle);\r | |
271 | break;\r | |
272 | \r | |
273 | case 1:\r | |
274 | Word = (UINT16 *)(VarData + 1);\r | |
275 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC), gShellDebug1HiiHandle);\r | |
276 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE), gShellDebug1HiiHandle, *Word);\r | |
277 | break;\r | |
278 | \r | |
279 | case 2:\r | |
280 | Dword = (UINT32 *)(VarData + 1);\r | |
281 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), gShellDebug1HiiHandle, *Dword);\r | |
282 | break;\r | |
283 | \r | |
284 | case 3:\r | |
285 | Word = (UINT16 *)(VarData + 1);\r | |
286 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SMBIOS_STRUCT_ASSOC), gShellDebug1HiiHandle);\r | |
287 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_STRUCT_HANDLE), gShellDebug1HiiHandle, *Word);\r | |
288 | //\r | |
289 | // Followed by a multiple-event counter\r | |
290 | //\r | |
291 | Dword = (UINT32 *)(VarData + 1);\r | |
292 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), gShellDebug1HiiHandle, *Dword);\r | |
293 | break;\r | |
294 | \r | |
295 | case 4:\r | |
296 | Dword = (UINT32 *)(VarData + 1);\r | |
297 | DisplayPostResultsBitmapDw1 (*Dword, SHOW_DETAIL);\r | |
298 | Dword++;\r | |
299 | DisplayPostResultsBitmapDw2 (*Dword, SHOW_DETAIL);\r | |
300 | break;\r | |
301 | \r | |
302 | case 5:\r | |
303 | Dword = (UINT32 *)(VarData + 1);\r | |
304 | DisplaySELSysManagementTypes (*Dword, SHOW_DETAIL);\r | |
305 | break;\r | |
306 | \r | |
307 | case 6:\r | |
308 | Dword = (UINT32 *)(VarData + 1);\r | |
309 | DisplaySELSysManagementTypes (*Dword, SHOW_DETAIL);\r | |
310 | //\r | |
311 | // Followed by a multiple-event counter\r | |
312 | //\r | |
313 | Dword = (UINT32 *)(VarData + 1);\r | |
314 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_MULT_EVENT_COUNTER), gShellDebug1HiiHandle, *Dword);\r | |
315 | break;\r | |
316 | \r | |
317 | default:\r | |
318 | if (ElVdfType <= 0x7F) {\r | |
319 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_UNUSED_AVAIL_FOR_ASSIGN), gShellDebug1HiiHandle);\r | |
320 | } else {\r | |
321 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_AVAIL_FOR_SYSTEM), gShellDebug1HiiHandle);\r | |
322 | }\r | |
5d73d92f | 323 | }\r |
324 | }\r | |
325 | \r | |
326 | /**\r | |
327 | Function to display system event log data.\r | |
328 | \r | |
329 | @param[in] LogData The data information.\r | |
330 | @param[in] LogAreaLength Length of the data.\r | |
331 | **/\r | |
332 | VOID\r | |
5d73d92f | 333 | DisplaySysEventLogData (\r |
334 | UINT8 *LogData,\r | |
335 | UINT16 LogAreaLength\r | |
336 | )\r | |
337 | {\r | |
47d20b54 MK |
338 | LOG_RECORD_FORMAT *Log;\r |
339 | UINT8 ElVdfType;\r | |
5d73d92f | 340 | //\r |
341 | // Event Log Variable Data Format Types\r | |
342 | //\r | |
47d20b54 | 343 | UINTN Offset;\r |
5d73d92f | 344 | \r |
345 | //\r | |
346 | // Print prompt\r | |
347 | //\r | |
47d20b54 | 348 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_SYSTEM_EVENT_LOG_2), gShellDebug1HiiHandle);\r |
5d73d92f | 349 | \r |
350 | //\r | |
351 | // Print Log info\r | |
352 | //\r | |
47d20b54 MK |
353 | Offset = 0;\r |
354 | Log = (LOG_RECORD_FORMAT *)LogData;\r | |
33c031ee | 355 | while (Log != NULL && Log->Type != END_OF_LOG && Offset < LogAreaLength) {\r |
33c031ee | 356 | if (Log != NULL) {\r |
357 | //\r | |
358 | // Display Event Log Record Information\r | |
359 | //\r | |
fc7d997c | 360 | DisplaySELTypes (Log->Type, SHOW_DETAIL);\r |
33c031ee | 361 | DisplaySELLogHeaderLen (Log->Length, SHOW_DETAIL);\r |
362 | \r | |
363 | Offset += Log->Length;\r | |
364 | //\r | |
365 | // Display Log Header Date/Time Fields\r | |
366 | // These fields contain the BCD representation of the date and time\r | |
367 | // (as read from CMOS) of the occurrence of the event\r | |
368 | // So Print as hex and represent decimal\r | |
369 | //\r | |
47d20b54 MK |
370 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_DATE), gShellDebug1HiiHandle);\r |
371 | if ((Log != NULL) && (Log->Year >= 80) && (Log->Year <= 99)) {\r | |
33c031ee | 372 | Print (L"19");\r |
47d20b54 | 373 | } else if ((Log != NULL) && (Log->Year <= 79)) {\r |
33c031ee | 374 | Print (L"20");\r |
375 | } else {\r | |
47d20b54 | 376 | ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ERROR), gShellDebug1HiiHandle);\r |
fc7d997c DB |
377 | //\r |
378 | // Get a Event Log Record\r | |
379 | //\r | |
47d20b54 | 380 | Log = (LOG_RECORD_FORMAT *)(LogData + Offset);\r |
33c031ee | 381 | continue;\r |
382 | }\r | |
383 | \r | |
47d20b54 MK |
384 | ShellPrintHiiEx (\r |
385 | -1,\r | |
386 | -1,\r | |
387 | NULL,\r | |
33c031ee | 388 | STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TIME_SIX_VARS),\r |
389 | gShellDebug1HiiHandle,\r | |
390 | Log->Year,\r | |
391 | Log->Month,\r | |
392 | Log->Day,\r | |
393 | Log->Hour,\r | |
394 | Log->Minute,\r | |
395 | Log->Second\r | |
47d20b54 | 396 | );\r |
33c031ee | 397 | \r |
398 | //\r | |
399 | // Display Variable Data Format\r | |
400 | //\r | |
401 | if (Log->Length <= (sizeof (LOG_RECORD_FORMAT) - 1)) {\r | |
fc7d997c DB |
402 | //\r |
403 | // Get a Event Log Record\r | |
404 | //\r | |
47d20b54 | 405 | Log = (LOG_RECORD_FORMAT *)(LogData + Offset);\r |
33c031ee | 406 | continue;\r |
407 | }\r | |
408 | \r | |
409 | ElVdfType = Log->LogVariableData[0];\r | |
410 | DisplayElVdfInfo (ElVdfType, Log->LogVariableData);\r | |
fc7d997c DB |
411 | //\r |
412 | // Get a Event Log Record\r | |
413 | //\r | |
47d20b54 | 414 | Log = (LOG_RECORD_FORMAT *)(LogData + Offset);\r |
5d73d92f | 415 | }\r |
5d73d92f | 416 | }\r |
417 | }\r |