]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/BsSerialStatusCode/BsSerialStatusCode.c
EdkCompatibilityPkg: BsSerialStatusCode: remove set but unused variable
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Platform / Generic / RuntimeDxe / StatusCode / Lib / BsSerialStatusCode / BsSerialStatusCode.c
CommitLineData
b38907a6 1/*++\r
2\r
4ac4deb7 3Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
4b1e1121 4This program and the accompanying materials \r
b38907a6 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 BsSerialStatusCode.c\r
15 \r
16Abstract:\r
17\r
18 Lib to provide Serial I/O status code reporting Routines.\r
19\r
20--*/\r
21\r
22#include "BsSerialStatusCode.h"\r
23\r
24//\r
25// All of the lookup tables are only needed in debug.\r
26//\r
27#ifdef EFI_DEBUG\r
28\r
29typedef struct {\r
30 UINT32 Value;\r
31 CHAR8 *Token;\r
32} STATUS_CODE_LOOKUP_TABLE;\r
33\r
34STATUS_CODE_LOOKUP_TABLE mSeverityToken[] = {\r
35 {\r
36 EFI_ERROR_MINOR,\r
37 "ERROR_MINOR"\r
38 },\r
39 {\r
40 EFI_ERROR_MAJOR,\r
41 "ERROR_MAJOR"\r
42 },\r
43 {\r
44 EFI_ERROR_UNRECOVERED,\r
45 "ERROR_UNRECOVERED"\r
46 },\r
47 {\r
48 EFI_ERROR_UNCONTAINED,\r
49 "ERROR_UNCONTAINED"\r
50 },\r
51 {\r
52 0xFFFFFFFF,\r
53 "ERROR_UNRECOGNIZED"\r
54 }\r
55};\r
56STATUS_CODE_LOOKUP_TABLE mClassSubClassToken[] = {\r
57 {\r
58 EFI_COMPUTING_UNIT_UNSPECIFIED,\r
59 "COMPUTING_UNIT_UNSPECIFIED"\r
60 },\r
61 {\r
62 EFI_COMPUTING_UNIT_HOST_PROCESSOR,\r
63 "COMPUTING_UNIT_HOST_PROCESSOR"\r
64 },\r
65 {\r
66 EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR,\r
67 "COMPUTING_UNIT_FIRMWARE_PROCESSOR"\r
68 },\r
69 {\r
70 EFI_COMPUTING_UNIT_IO_PROCESSOR,\r
71 "COMPUTING_UNIT_IO_PROCESSOR"\r
72 },\r
73 {\r
74 EFI_COMPUTING_UNIT_CACHE,\r
75 "COMPUTING_UNIT_CACHE"\r
76 },\r
77 {\r
78 EFI_COMPUTING_UNIT_MEMORY,\r
79 "COMPUTING_UNIT_MEMORY"\r
80 },\r
81 {\r
82 EFI_COMPUTING_UNIT_CHIPSET,\r
83 "COMPUTING_UNIT_CHIPSET"\r
84 },\r
85 {\r
86 EFI_PERIPHERAL_UNSPECIFIED,\r
87 "PERIPHERAL_UNSPECIFIED"\r
88 },\r
89 {\r
90 EFI_PERIPHERAL_KEYBOARD,\r
91 "PERIPHERAL_KEYBOARD"\r
92 },\r
93 {\r
94 EFI_PERIPHERAL_MOUSE,\r
95 "PERIPHERAL_MOUSE"\r
96 },\r
97 {\r
98 EFI_PERIPHERAL_LOCAL_CONSOLE,\r
99 "PERIPHERAL_LOCAL_CONSOLE"\r
100 },\r
101 {\r
102 EFI_PERIPHERAL_REMOTE_CONSOLE,\r
103 "PERIPHERAL_REMOTE_CONSOLE"\r
104 },\r
105 {\r
106 EFI_PERIPHERAL_SERIAL_PORT,\r
107 "PERIPHERAL_SERIAL_PORT"\r
108 },\r
109 {\r
110 EFI_PERIPHERAL_PARALLEL_PORT,\r
111 "PERIPHERAL_PARALLEL_PORT"\r
112 },\r
113 {\r
114 EFI_PERIPHERAL_FIXED_MEDIA,\r
115 "PERIPHERAL_FIXED_MEDIA"\r
116 },\r
117 {\r
118 EFI_PERIPHERAL_REMOVABLE_MEDIA,\r
119 "PERIPHERAL_REMOVABLE_MEDIA"\r
120 },\r
121 {\r
122 EFI_PERIPHERAL_AUDIO_INPUT,\r
123 "PERIPHERAL_AUDIO_INPUT"\r
124 },\r
125 {\r
126 EFI_PERIPHERAL_AUDIO_OUTPUT,\r
127 "PERIPHERAL_AUDIO_OUTPUT"\r
128 },\r
129 {\r
130 EFI_PERIPHERAL_LCD_DEVICE,\r
131 "PERIPHERAL_LCD_DEVICE"\r
132 },\r
133 {\r
134 EFI_IO_BUS_UNSPECIFIED,\r
135 "IO_BUS_UNSPECIFIED"\r
136 },\r
137 {\r
138 EFI_IO_BUS_PCI,\r
139 "IO_BUS_PCI"\r
140 },\r
141 {\r
142 EFI_IO_BUS_USB,\r
143 "IO_BUS_USB"\r
144 },\r
145 {\r
146 EFI_IO_BUS_IBA,\r
147 "IO_BUS_IBA"\r
148 },\r
149 {\r
150 EFI_IO_BUS_AGP,\r
151 "IO_BUS_AGP"\r
152 },\r
153 {\r
154 EFI_IO_BUS_PC_CARD,\r
155 "IO_BUS_PC_CARD"\r
156 },\r
157 {\r
158 EFI_IO_BUS_LPC,\r
159 "IO_BUS_LPC"\r
160 },\r
161 {\r
162 EFI_IO_BUS_SCSI,\r
163 "IO_BUS_SCSI"\r
164 },\r
165 {\r
166 EFI_IO_BUS_ATA_ATAPI,\r
167 "IO_BUS_ATA_ATAPI"\r
168 },\r
169 {\r
170 EFI_IO_BUS_FC,\r
171 "IO_BUS_FC"\r
172 },\r
173 {\r
174 EFI_IO_BUS_IP_NETWORK,\r
175 "IO_BUS_IP_NETWORK"\r
176 },\r
177 {\r
178 EFI_IO_BUS_SMBUS,\r
179 "IO_BUS_SMBUS"\r
180 },\r
181 {\r
182 EFI_IO_BUS_I2C,\r
183 "IO_BUS_I2C"\r
184 },\r
185 {\r
186 EFI_SOFTWARE_UNSPECIFIED,\r
187 "SOFTWARE_UNSPECIFIED"\r
188 },\r
189 {\r
190 EFI_SOFTWARE_SEC,\r
191 "SOFTWARE_EFI_SEC"\r
192 },\r
193 {\r
194 EFI_SOFTWARE_PEI_CORE,\r
195 "SOFTWARE_EFI_PEI_CORE"\r
196 },\r
197 {\r
198 EFI_SOFTWARE_PEI_MODULE,\r
199 "SOFTWARE_EFI_PEI_MODULE"\r
200 },\r
201 {\r
202 EFI_SOFTWARE_DXE_CORE,\r
203 "SOFTWARE_EFI_DXE_CORE"\r
204 },\r
205 {\r
206 EFI_SOFTWARE_EFI_BOOT_SERVICE,\r
207 "SOFTWARE_EFI_BOOT_SERVICE"\r
208 },\r
209 {\r
210 EFI_SOFTWARE_EFI_RUNTIME_SERVICE,\r
211 "SOFTWARE_EFI_RUNTIME_SERVICE"\r
212 },\r
213 {\r
214 EFI_SOFTWARE_DXE_BS_DRIVER,\r
215 "SOFTWARE_DXE_BS_DRIVER"\r
216 },\r
217 {\r
218 EFI_SOFTWARE_DXE_RT_DRIVER,\r
219 "SOFTWARE_DXE_RT_DRIVER"\r
220 },\r
221 {\r
222 EFI_SOFTWARE_SMM_DRIVER,\r
223 "SOFTWARE_SMM_DRIVER"\r
224 },\r
225 {\r
226 EFI_SOFTWARE_RT,\r
227 "SOFTWARE_RT"\r
228 },\r
229 {\r
230 EFI_SOFTWARE_AL,\r
231 "SOFTWARE_AL"\r
232 },\r
233 {\r
234 EFI_SOFTWARE_EFI_APPLICATION,\r
235 "SOFTWARE_EFI_APPLICATION"\r
236 },\r
237 {\r
238 EFI_SOFTWARE_EFI_OS_LOADER,\r
239 "SOFTWARE_EFI_OS_LOADER"\r
240 },\r
241 {\r
242 0xFFFFFFFF,\r
243 "ERROR_UNRECOGNIZED"\r
244 }\r
245};\r
246\r
247STATUS_CODE_LOOKUP_TABLE mOperationToken[] = {\r
248 {\r
249 EFI_COMPUTING_UNIT_UNSPECIFIED | EFI_CU_EC_NON_SPECIFIC,\r
250 "NON_SPECIFIC"\r
251 },\r
252 {\r
253 EFI_COMPUTING_UNIT_UNSPECIFIED | EFI_CU_EC_DISABLED,\r
254 "DISABLED"\r
255 },\r
256 {\r
257 EFI_COMPUTING_UNIT_UNSPECIFIED | EFI_CU_EC_NOT_SUPPORTED,\r
258 "NOT_SUPPORTED"\r
259 },\r
260 {\r
261 EFI_COMPUTING_UNIT_UNSPECIFIED | EFI_CU_EC_NOT_DETECTED,\r
262 "NOT_DETECTED"\r
263 },\r
264 {\r
265 EFI_COMPUTING_UNIT_UNSPECIFIED | EFI_CU_EC_NOT_CONFIGURED,\r
266 "NOT_CONFIGURED"\r
267 },\r
268 {\r
269 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_EC_NON_SPECIFIC,\r
270 "NON_SPECIFIC"\r
271 },\r
272 {\r
273 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_EC_DISABLED,\r
274 "DISABLED"\r
275 },\r
276 {\r
277 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_EC_NOT_SUPPORTED,\r
278 "NOT_SUPPORTED"\r
279 },\r
280 {\r
281 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_EC_NOT_DETECTED,\r
282 "NOT_DETECTED"\r
283 },\r
284 {\r
285 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_EC_NOT_CONFIGURED,\r
286 "NOT_CONFIGURED"\r
287 },\r
288 {\r
289 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_INVALID_TYPE,\r
290 "INVALID_TYPE"\r
291 },\r
292 {\r
293 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_INVALID_SPEED,\r
294 "INVALID_SPEED"\r
295 },\r
296 {\r
297 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_MISMATCH,\r
298 "MISMATCH"\r
299 },\r
300 {\r
301 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_TIMER_EXPIRED,\r
302 "TIMER_EXPIRED"\r
303 },\r
304 {\r
305 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_SELF_TEST,\r
306 "SELF_TEST"\r
307 },\r
308 {\r
309 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_INTERNAL,\r
310 "INTERNAL"\r
311 },\r
312 {\r
313 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_THERMAL,\r
314 "THERMAL"\r
315 },\r
316 {\r
317 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_LOW_VOLTAGE,\r
318 "LOW_VOLTAGE"\r
319 },\r
320 {\r
321 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_HIGH_VOLTAGE,\r
322 "HIGH_VOLTAGE"\r
323 },\r
324 {\r
325 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_CACHE,\r
326 "CACHE"\r
327 },\r
328 {\r
329 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_MICROCODE_UPDATE,\r
330 "MICROCODE_UPDATE"\r
331 },\r
332 {\r
333 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_NO_MICROCODE_UPDATE,\r
334 "NO_MICROCODE_UPDATE"\r
335 },\r
336 {\r
337 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_CORRECTABLE,\r
338 "1XECC"\r
339 },\r
340 {\r
341 EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_UNCORRECTABLE,\r
342 "2XECC"\r
343 },\r
344 {\r
345 EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR | EFI_CU_EC_NON_SPECIFIC,\r
346 "NON_SPECIFIC"\r
347 },\r
348 {\r
349 EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR | EFI_CU_EC_DISABLED,\r
350 "DISABLED"\r
351 },\r
352 {\r
353 EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR | EFI_CU_EC_NOT_SUPPORTED,\r
354 "NOT_SUPPORTED"\r
355 },\r
356 {\r
357 EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR | EFI_CU_EC_NOT_DETECTED,\r
358 "NOT_DETECTED"\r
359 },\r
360 {\r
361 EFI_COMPUTING_UNIT_FIRMWARE_PROCESSOR | EFI_CU_EC_NOT_CONFIGURED,\r
362 "NOT_CONFIGURED"\r
363 },\r
364 {\r
365 EFI_COMPUTING_UNIT_IO_PROCESSOR | EFI_CU_EC_NON_SPECIFIC,\r
366 "NON_SPECIFIC"\r
367 },\r
368 {\r
369 EFI_COMPUTING_UNIT_IO_PROCESSOR | EFI_CU_EC_DISABLED,\r
370 "DISABLED"\r
371 },\r
372 {\r
373 EFI_COMPUTING_UNIT_IO_PROCESSOR | EFI_CU_EC_NOT_SUPPORTED,\r
374 "NOT_SUPPORTED"\r
375 },\r
376 {\r
377 EFI_COMPUTING_UNIT_IO_PROCESSOR | EFI_CU_EC_NOT_DETECTED,\r
378 "NOT_DETECTED"\r
379 },\r
380 {\r
381 EFI_COMPUTING_UNIT_IO_PROCESSOR | EFI_CU_EC_NOT_CONFIGURED,\r
382 "NOT_CONFIGURED"\r
383 },\r
384 {\r
385 EFI_COMPUTING_UNIT_CACHE | EFI_CU_EC_NON_SPECIFIC,\r
386 "NON_SPECIFIC"\r
387 },\r
388 {\r
389 EFI_COMPUTING_UNIT_CACHE | EFI_CU_EC_DISABLED,\r
390 "DISABLED"\r
391 },\r
392 {\r
393 EFI_COMPUTING_UNIT_CACHE | EFI_CU_EC_NOT_SUPPORTED,\r
394 "NOT_SUPPORTED"\r
395 },\r
396 {\r
397 EFI_COMPUTING_UNIT_CACHE | EFI_CU_EC_NOT_DETECTED,\r
398 "NOT_DETECTED"\r
399 },\r
400 {\r
401 EFI_COMPUTING_UNIT_CACHE | EFI_CU_EC_NOT_CONFIGURED,\r
402 "NOT_CONFIGURED"\r
403 },\r
404 {\r
405 EFI_COMPUTING_UNIT_CACHE | EFI_CU_CACHE_EC_INVALID_TYPE,\r
406 "INVALID_TYPE"\r
407 },\r
408 {\r
409 EFI_COMPUTING_UNIT_CACHE | EFI_CU_CACHE_EC_INVALID_SPEED,\r
410 "INVALID_SPEED"\r
411 },\r
412 {\r
413 EFI_COMPUTING_UNIT_CACHE | EFI_CU_CACHE_EC_INVALID_SIZE,\r
414 "INVALID_SIZE"\r
415 },\r
416 {\r
417 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_EC_NON_SPECIFIC,\r
418 "NON_SPECIFIC"\r
419 },\r
420 {\r
421 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_EC_DISABLED,\r
422 "DISABLED"\r
423 },\r
424 {\r
425 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_EC_NOT_SUPPORTED,\r
426 "NOT_SUPPORTED"\r
427 },\r
428 {\r
429 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_EC_NOT_DETECTED,\r
430 "NOT_DETECTED"\r
431 },\r
432 {\r
433 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_EC_NOT_CONFIGURED,\r
434 "NOT_CONFIGURED"\r
435 },\r
436 {\r
437 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_INVALID_TYPE,\r
438 "INVALID_TYPE"\r
439 },\r
440 {\r
441 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_INVALID_SPEED,\r
442 "INVALID_SPEED"\r
443 },\r
444 {\r
445 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_CORRECTABLE,\r
446 "1XECC"\r
447 },\r
448 {\r
449 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_UNCORRECTABLE,\r
450 "2XECC"\r
451 },\r
452 {\r
453 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_SPD_FAIL,\r
454 "SPD_FAIL"\r
455 },\r
456 {\r
457 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_INVALID_SIZE,\r
458 "INVALID_SIZE"\r
459 },\r
460 {\r
461 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_MISMATCH,\r
462 "MISMATCH"\r
463 },\r
464 {\r
465 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_S3_RESUME_FAIL,\r
466 "S3_RESUME_FAIL"\r
467 },\r
468 {\r
469 EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_UPDATE_FAIL,\r
470 "UPDATE_FAIL"\r
471 },\r
472 {\r
473 EFI_COMPUTING_UNIT_CHIPSET | EFI_CU_EC_NON_SPECIFIC,\r
474 "NON_SPECIFIC"\r
475 },\r
476 {\r
477 EFI_COMPUTING_UNIT_CHIPSET | EFI_CU_EC_DISABLED,\r
478 "DISABLED"\r
479 },\r
480 {\r
481 EFI_COMPUTING_UNIT_CHIPSET | EFI_CU_EC_NOT_SUPPORTED,\r
482 "NOT_SUPPORTED"\r
483 },\r
484 {\r
485 EFI_COMPUTING_UNIT_CHIPSET | EFI_CU_EC_NOT_DETECTED,\r
486 "NOT_DETECTED"\r
487 },\r
488 {\r
489 EFI_COMPUTING_UNIT_CHIPSET | EFI_CU_EC_NOT_CONFIGURED,\r
490 "NOT_CONFIGURED"\r
491 },\r
492 {\r
493 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_NON_SPECIFIC,\r
494 "NON_SPECIFIC"\r
495 },\r
496 {\r
497 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_DISABLED,\r
498 "DISABLED"\r
499 },\r
500 {\r
501 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_NOT_SUPPORTED,\r
502 "NOT_SUPPORTED"\r
503 },\r
504 {\r
505 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_NOT_DETECTED,\r
506 "NOT_DETECTED"\r
507 },\r
508 {\r
509 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_NOT_CONFIGURED,\r
510 "NOT_CONFIGURED"\r
511 },\r
512 {\r
513 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_INTERFACE_ERROR,\r
514 "INTERFACE_ERROR"\r
515 },\r
516 {\r
517 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_CONTROLLER_ERROR,\r
518 "CONTROLLER_ERROR"\r
519 },\r
520 {\r
521 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_INPUT_ERROR,\r
522 "INPUT_ERROR"\r
523 },\r
524 {\r
525 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_OUTPUT_ERROR,\r
526 "OUTPUT_ERROR"\r
527 },\r
528 {\r
529 EFI_PERIPHERAL_UNSPECIFIED | EFI_P_EC_RESOURCE_CONFLICT,\r
530 "RESOURCE_CONFLICT"\r
531 },\r
532 {\r
533 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_NON_SPECIFIC,\r
534 "NON_SPECIFIC"\r
535 },\r
536 {\r
537 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_DISABLED,\r
538 "DISABLED"\r
539 },\r
540 {\r
541 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_NOT_SUPPORTED,\r
542 "NOT_SUPPORTED"\r
543 },\r
544 {\r
545 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_NOT_DETECTED,\r
546 "NOT_DETECTED"\r
547 },\r
548 {\r
549 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_NOT_CONFIGURED,\r
550 "NOT_CONFIGURED"\r
551 },\r
552 {\r
553 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_INTERFACE_ERROR,\r
554 "INTERFACE_ERROR"\r
555 },\r
556 {\r
557 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_CONTROLLER_ERROR,\r
558 "CONTROLLER_ERROR"\r
559 },\r
560 {\r
561 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_INPUT_ERROR,\r
562 "INPUT_ERROR"\r
563 },\r
564 {\r
565 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_OUTPUT_ERROR,\r
566 "OUTPUT_ERROR"\r
567 },\r
568 {\r
569 EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_RESOURCE_CONFLICT,\r
570 "RESOURCE_CONFLICT"\r
571 },\r
572 {\r
573 EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_EC_LOCKED,\r
574 "LOCKED"\r
575 },\r
576 {\r
577 EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_EC_STUCK_KEY,\r
578 "STUCK_KEY"\r
579 },\r
580 {\r
581 EFI_PERIPHERAL_MOUSE | EFI_P_EC_NON_SPECIFIC,\r
582 "NON_SPECIFIC"\r
583 },\r
584 {\r
585 EFI_PERIPHERAL_MOUSE | EFI_P_EC_DISABLED,\r
586 "DISABLED"\r
587 },\r
588 {\r
589 EFI_PERIPHERAL_MOUSE | EFI_P_EC_NOT_SUPPORTED,\r
590 "NOT_SUPPORTED"\r
591 },\r
592 {\r
593 EFI_PERIPHERAL_MOUSE | EFI_P_EC_NOT_DETECTED,\r
594 "NOT_DETECTED"\r
595 },\r
596 {\r
597 EFI_PERIPHERAL_MOUSE | EFI_P_EC_NOT_CONFIGURED,\r
598 "NOT_CONFIGURED"\r
599 },\r
600 {\r
601 EFI_PERIPHERAL_MOUSE | EFI_P_EC_INTERFACE_ERROR,\r
602 "INTERFACE_ERROR"\r
603 },\r
604 {\r
605 EFI_PERIPHERAL_MOUSE | EFI_P_EC_CONTROLLER_ERROR,\r
606 "CONTROLLER_ERROR"\r
607 },\r
608 {\r
609 EFI_PERIPHERAL_MOUSE | EFI_P_EC_INPUT_ERROR,\r
610 "INPUT_ERROR"\r
611 },\r
612 {\r
613 EFI_PERIPHERAL_MOUSE | EFI_P_EC_OUTPUT_ERROR,\r
614 "OUTPUT_ERROR"\r
615 },\r
616 {\r
617 EFI_PERIPHERAL_MOUSE | EFI_P_EC_RESOURCE_CONFLICT,\r
618 "RESOURCE_CONFLICT"\r
619 },\r
620 {\r
621 EFI_PERIPHERAL_MOUSE | EFI_P_MOUSE_EC_LOCKED,\r
622 "LOCKED"\r
623 },\r
624 {\r
625 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_NON_SPECIFIC,\r
626 "NON_SPECIFIC"\r
627 },\r
628 {\r
629 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_DISABLED,\r
630 "DISABLED"\r
631 },\r
632 {\r
633 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_NOT_SUPPORTED,\r
634 "NOT_SUPPORTED"\r
635 },\r
636 {\r
637 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_NOT_DETECTED,\r
638 "NOT_DETECTED"\r
639 },\r
640 {\r
641 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_NOT_CONFIGURED,\r
642 "NOT_CONFIGURED"\r
643 },\r
644 {\r
645 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_INTERFACE_ERROR,\r
646 "INTERFACE_ERROR"\r
647 },\r
648 {\r
649 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_CONTROLLER_ERROR,\r
650 "CONTROLLER_ERROR"\r
651 },\r
652 {\r
653 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_INPUT_ERROR,\r
654 "INPUT_ERROR"\r
655 },\r
656 {\r
657 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_OUTPUT_ERROR,\r
658 "OUTPUT_ERROR"\r
659 },\r
660 {\r
661 EFI_PERIPHERAL_LOCAL_CONSOLE | EFI_P_EC_RESOURCE_CONFLICT,\r
662 "RESOURCE_CONFLICT"\r
663 },\r
664 {\r
665 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_NON_SPECIFIC,\r
666 "NON_SPECIFIC"\r
667 },\r
668 {\r
669 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_DISABLED,\r
670 "DISABLED"\r
671 },\r
672 {\r
673 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_NOT_SUPPORTED,\r
674 "NOT_SUPPORTED"\r
675 },\r
676 {\r
677 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_NOT_DETECTED,\r
678 "NOT_DETECTED"\r
679 },\r
680 {\r
681 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_NOT_CONFIGURED,\r
682 "NOT_CONFIGURED"\r
683 },\r
684 {\r
685 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_INTERFACE_ERROR,\r
686 "INTERFACE_ERROR"\r
687 },\r
688 {\r
689 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_CONTROLLER_ERROR,\r
690 "CONTROLLER_ERROR"\r
691 },\r
692 {\r
693 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_INPUT_ERROR,\r
694 "INPUT_ERROR"\r
695 },\r
696 {\r
697 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_OUTPUT_ERROR,\r
698 "OUTPUT_ERROR"\r
699 },\r
700 {\r
701 EFI_PERIPHERAL_REMOTE_CONSOLE | EFI_P_EC_RESOURCE_CONFLICT,\r
702 "RESOURCE_CONFLICT"\r
703 },\r
704 {\r
705 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_NON_SPECIFIC,\r
706 "NON_SPECIFIC"\r
707 },\r
708 {\r
709 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_DISABLED,\r
710 "DISABLED"\r
711 },\r
712 {\r
713 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_NOT_SUPPORTED,\r
714 "NOT_SUPPORTED"\r
715 },\r
716 {\r
717 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_NOT_DETECTED,\r
718 "NOT_DETECTED"\r
719 },\r
720 {\r
721 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_NOT_CONFIGURED,\r
722 "NOT_CONFIGURED"\r
723 },\r
724 {\r
725 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_INTERFACE_ERROR,\r
726 "INTERFACE_ERROR"\r
727 },\r
728 {\r
729 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_CONTROLLER_ERROR,\r
730 "CONTROLLER_ERROR"\r
731 },\r
732 {\r
733 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_INPUT_ERROR,\r
734 "INPUT_ERROR"\r
735 },\r
736 {\r
737 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_OUTPUT_ERROR,\r
738 "OUTPUT_ERROR"\r
739 },\r
740 {\r
741 EFI_PERIPHERAL_SERIAL_PORT | EFI_P_EC_RESOURCE_CONFLICT,\r
742 "RESOURCE_CONFLICT"\r
743 },\r
744 {\r
745 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_NON_SPECIFIC,\r
746 "NON_SPECIFIC"\r
747 },\r
748 {\r
749 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_DISABLED,\r
750 "DISABLED"\r
751 },\r
752 {\r
753 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_NOT_SUPPORTED,\r
754 "NOT_SUPPORTED"\r
755 },\r
756 {\r
757 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_NOT_DETECTED,\r
758 "NOT_DETECTED"\r
759 },\r
760 {\r
761 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_NOT_CONFIGURED,\r
762 "NOT_CONFIGURED"\r
763 },\r
764 {\r
765 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_INTERFACE_ERROR,\r
766 "INTERFACE_ERROR"\r
767 },\r
768 {\r
769 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_CONTROLLER_ERROR,\r
770 "CONTROLLER_ERROR"\r
771 },\r
772 {\r
773 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_INPUT_ERROR,\r
774 "INPUT_ERROR"\r
775 },\r
776 {\r
777 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_OUTPUT_ERROR,\r
778 "OUTPUT_ERROR"\r
779 },\r
780 {\r
781 EFI_PERIPHERAL_PARALLEL_PORT | EFI_P_EC_RESOURCE_CONFLICT,\r
782 "RESOURCE_CONFLICT"\r
783 },\r
784 {\r
785 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_NON_SPECIFIC,\r
786 "NON_SPECIFIC"\r
787 },\r
788 {\r
789 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_DISABLED,\r
790 "DISABLED"\r
791 },\r
792 {\r
793 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_NOT_SUPPORTED,\r
794 "NOT_SUPPORTED"\r
795 },\r
796 {\r
797 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_NOT_DETECTED,\r
798 "NOT_DETECTED"\r
799 },\r
800 {\r
801 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_NOT_CONFIGURED,\r
802 "NOT_CONFIGURED"\r
803 },\r
804 {\r
805 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_INTERFACE_ERROR,\r
806 "INTERFACE_ERROR"\r
807 },\r
808 {\r
809 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_CONTROLLER_ERROR,\r
810 "CONTROLLER_ERROR"\r
811 },\r
812 {\r
813 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_INPUT_ERROR,\r
814 "INPUT_ERROR"\r
815 },\r
816 {\r
817 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_OUTPUT_ERROR,\r
818 "OUTPUT_ERROR"\r
819 },\r
820 {\r
821 EFI_PERIPHERAL_FIXED_MEDIA | EFI_P_EC_RESOURCE_CONFLICT,\r
822 "RESOURCE_CONFLICT"\r
823 },\r
824 {\r
825 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_NON_SPECIFIC,\r
826 "NON_SPECIFIC"\r
827 },\r
828 {\r
829 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_DISABLED,\r
830 "DISABLED"\r
831 },\r
832 {\r
833 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_NOT_SUPPORTED,\r
834 "NOT_SUPPORTED"\r
835 },\r
836 {\r
837 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_NOT_DETECTED,\r
838 "NOT_DETECTED"\r
839 },\r
840 {\r
841 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_NOT_CONFIGURED,\r
842 "NOT_CONFIGURED"\r
843 },\r
844 {\r
845 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_INTERFACE_ERROR,\r
846 "INTERFACE_ERROR"\r
847 },\r
848 {\r
849 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_CONTROLLER_ERROR,\r
850 "CONTROLLER_ERROR"\r
851 },\r
852 {\r
853 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_INPUT_ERROR,\r
854 "INPUT_ERROR"\r
855 },\r
856 {\r
857 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_OUTPUT_ERROR,\r
858 "OUTPUT_ERROR"\r
859 },\r
860 {\r
861 EFI_PERIPHERAL_REMOVABLE_MEDIA | EFI_P_EC_RESOURCE_CONFLICT,\r
862 "RESOURCE_CONFLICT"\r
863 },\r
864 {\r
865 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_NON_SPECIFIC,\r
866 "NON_SPECIFIC"\r
867 },\r
868 {\r
869 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_DISABLED,\r
870 "DISABLED"\r
871 },\r
872 {\r
873 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_NOT_SUPPORTED,\r
874 "NOT_SUPPORTED"\r
875 },\r
876 {\r
877 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_NOT_DETECTED,\r
878 "NOT_DETECTED"\r
879 },\r
880 {\r
881 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_NOT_CONFIGURED,\r
882 "NOT_CONFIGURED"\r
883 },\r
884 {\r
885 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_INTERFACE_ERROR,\r
886 "INTERFACE_ERROR"\r
887 },\r
888 {\r
889 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_CONTROLLER_ERROR,\r
890 "CONTROLLER_ERROR"\r
891 },\r
892 {\r
893 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_INPUT_ERROR,\r
894 "INPUT_ERROR"\r
895 },\r
896 {\r
897 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_OUTPUT_ERROR,\r
898 "OUTPUT_ERROR"\r
899 },\r
900 {\r
901 EFI_PERIPHERAL_AUDIO_INPUT | EFI_P_EC_RESOURCE_CONFLICT,\r
902 "RESOURCE_CONFLICT"\r
903 },\r
904 {\r
905 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_NON_SPECIFIC,\r
906 "NON_SPECIFIC"\r
907 },\r
908 {\r
909 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_DISABLED,\r
910 "DISABLED"\r
911 },\r
912 {\r
913 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_NOT_SUPPORTED,\r
914 "NOT_SUPPORTED"\r
915 },\r
916 {\r
917 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_NOT_DETECTED,\r
918 "NOT_DETECTED"\r
919 },\r
920 {\r
921 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_NOT_CONFIGURED,\r
922 "NOT_CONFIGURED"\r
923 },\r
924 {\r
925 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_INTERFACE_ERROR,\r
926 "INTERFACE_ERROR"\r
927 },\r
928 {\r
929 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_CONTROLLER_ERROR,\r
930 "CONTROLLER_ERROR"\r
931 },\r
932 {\r
933 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_INPUT_ERROR,\r
934 "INPUT_ERROR"\r
935 },\r
936 {\r
937 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_OUTPUT_ERROR,\r
938 "OUTPUT_ERROR"\r
939 },\r
940 {\r
941 EFI_PERIPHERAL_AUDIO_OUTPUT | EFI_P_EC_RESOURCE_CONFLICT,\r
942 "RESOURCE_CONFLICT"\r
943 },\r
944 {\r
945 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_NON_SPECIFIC,\r
946 "NON_SPECIFIC"\r
947 },\r
948 {\r
949 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_DISABLED,\r
950 "DISABLED"\r
951 },\r
952 {\r
953 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_NOT_SUPPORTED,\r
954 "NOT_SUPPORTED"\r
955 },\r
956 {\r
957 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_NOT_DETECTED,\r
958 "NOT_DETECTED"\r
959 },\r
960 {\r
961 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_NOT_CONFIGURED,\r
962 "NOT_CONFIGURED"\r
963 },\r
964 {\r
965 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_INTERFACE_ERROR,\r
966 "INTERFACE_ERROR"\r
967 },\r
968 {\r
969 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_CONTROLLER_ERROR,\r
970 "CONTROLLER_ERROR"\r
971 },\r
972 {\r
973 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_INPUT_ERROR,\r
974 "INPUT_ERROR"\r
975 },\r
976 {\r
977 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_OUTPUT_ERROR,\r
978 "OUTPUT_ERROR"\r
979 },\r
980 {\r
981 EFI_PERIPHERAL_LCD_DEVICE | EFI_P_EC_RESOURCE_CONFLICT,\r
982 "RESOURCE_CONFLICT"\r
983 },\r
984 {\r
985 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_NON_SPECIFIC,\r
986 "NON_SPECIFIC"\r
987 },\r
988 {\r
989 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_DISABLED,\r
990 "DISABLED"\r
991 },\r
992 {\r
993 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_NOT_SUPPORTED,\r
994 "NOT_SUPPORTED"\r
995 },\r
996 {\r
997 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_NOT_DETECTED,\r
998 "NOT_DETECTED"\r
999 },\r
1000 {\r
1001 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_NOT_CONFIGURED,\r
1002 "NOT_CONFIGURED"\r
1003 },\r
1004 {\r
1005 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_INTERFACE_ERROR,\r
1006 "INTERFACE_ERROR"\r
1007 },\r
1008 {\r
1009 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_CONTROLLER_ERROR,\r
1010 "CONTROLLER_ERROR"\r
1011 },\r
1012 {\r
1013 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_READ_ERROR,\r
1014 "READ_ERROR"\r
1015 },\r
1016 {\r
1017 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_WRITE_ERROR,\r
1018 "WRITE_ERROR"\r
1019 },\r
1020 {\r
1021 EFI_IO_BUS_UNSPECIFIED | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1022 "RESOURCE_CONFLICT"\r
1023 },\r
1024 {\r
1025 EFI_IO_BUS_PCI | EFI_IOB_EC_NON_SPECIFIC,\r
1026 "NON_SPECIFIC"\r
1027 },\r
1028 {\r
1029 EFI_IO_BUS_PCI | EFI_IOB_EC_DISABLED,\r
1030 "DISABLED"\r
1031 },\r
1032 {\r
1033 EFI_IO_BUS_PCI | EFI_IOB_EC_NOT_SUPPORTED,\r
1034 "NOT_SUPPORTED"\r
1035 },\r
1036 {\r
1037 EFI_IO_BUS_PCI | EFI_IOB_EC_NOT_DETECTED,\r
1038 "NOT_DETECTED"\r
1039 },\r
1040 {\r
1041 EFI_IO_BUS_PCI | EFI_IOB_EC_NOT_CONFIGURED,\r
1042 "NOT_CONFIGURED"\r
1043 },\r
1044 {\r
1045 EFI_IO_BUS_PCI | EFI_IOB_EC_INTERFACE_ERROR,\r
1046 "INTERFACE_ERROR"\r
1047 },\r
1048 {\r
1049 EFI_IO_BUS_PCI | EFI_IOB_EC_CONTROLLER_ERROR,\r
1050 "CONTROLLER_ERROR"\r
1051 },\r
1052 {\r
1053 EFI_IO_BUS_PCI | EFI_IOB_EC_READ_ERROR,\r
1054 "READ_ERROR"\r
1055 },\r
1056 {\r
1057 EFI_IO_BUS_PCI | EFI_IOB_EC_WRITE_ERROR,\r
1058 "WRITE_ERROR"\r
1059 },\r
1060 {\r
1061 EFI_IO_BUS_PCI | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1062 "RESOURCE_CONFLICT"\r
1063 },\r
1064 {\r
1065 EFI_IO_BUS_PCI | EFI_IOB_PCI_EC_PERR,\r
1066 "PERR"\r
1067 },\r
1068 {\r
1069 EFI_IO_BUS_PCI | EFI_IOB_PCI_EC_SERR,\r
1070 "SERR"\r
1071 },\r
1072 {\r
1073 EFI_IO_BUS_USB | EFI_IOB_EC_NON_SPECIFIC,\r
1074 "NON_SPECIFIC"\r
1075 },\r
1076 {\r
1077 EFI_IO_BUS_USB | EFI_IOB_EC_DISABLED,\r
1078 "DISABLED"\r
1079 },\r
1080 {\r
1081 EFI_IO_BUS_USB | EFI_IOB_EC_NOT_SUPPORTED,\r
1082 "NOT_SUPPORTED"\r
1083 },\r
1084 {\r
1085 EFI_IO_BUS_USB | EFI_IOB_EC_NOT_DETECTED,\r
1086 "NOT_DETECTED"\r
1087 },\r
1088 {\r
1089 EFI_IO_BUS_USB | EFI_IOB_EC_NOT_CONFIGURED,\r
1090 "NOT_CONFIGURED"\r
1091 },\r
1092 {\r
1093 EFI_IO_BUS_USB | EFI_IOB_EC_INTERFACE_ERROR,\r
1094 "INTERFACE_ERROR"\r
1095 },\r
1096 {\r
1097 EFI_IO_BUS_USB | EFI_IOB_EC_CONTROLLER_ERROR,\r
1098 "CONTROLLER_ERROR"\r
1099 },\r
1100 {\r
1101 EFI_IO_BUS_USB | EFI_IOB_EC_READ_ERROR,\r
1102 "READ_ERROR"\r
1103 },\r
1104 {\r
1105 EFI_IO_BUS_USB | EFI_IOB_EC_WRITE_ERROR,\r
1106 "WRITE_ERROR"\r
1107 },\r
1108 {\r
1109 EFI_IO_BUS_USB | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1110 "RESOURCE_CONFLICT"\r
1111 },\r
1112 {\r
1113 EFI_IO_BUS_IBA | EFI_IOB_EC_NON_SPECIFIC,\r
1114 "NON_SPECIFIC"\r
1115 },\r
1116 {\r
1117 EFI_IO_BUS_IBA | EFI_IOB_EC_DISABLED,\r
1118 "DISABLED"\r
1119 },\r
1120 {\r
1121 EFI_IO_BUS_IBA | EFI_IOB_EC_NOT_SUPPORTED,\r
1122 "NOT_SUPPORTED"\r
1123 },\r
1124 {\r
1125 EFI_IO_BUS_IBA | EFI_IOB_EC_NOT_DETECTED,\r
1126 "NOT_DETECTED"\r
1127 },\r
1128 {\r
1129 EFI_IO_BUS_IBA | EFI_IOB_EC_NOT_CONFIGURED,\r
1130 "NOT_CONFIGURED"\r
1131 },\r
1132 {\r
1133 EFI_IO_BUS_IBA | EFI_IOB_EC_INTERFACE_ERROR,\r
1134 "INTERFACE_ERROR"\r
1135 },\r
1136 {\r
1137 EFI_IO_BUS_IBA | EFI_IOB_EC_CONTROLLER_ERROR,\r
1138 "CONTROLLER_ERROR"\r
1139 },\r
1140 {\r
1141 EFI_IO_BUS_IBA | EFI_IOB_EC_READ_ERROR,\r
1142 "READ_ERROR"\r
1143 },\r
1144 {\r
1145 EFI_IO_BUS_IBA | EFI_IOB_EC_WRITE_ERROR,\r
1146 "WRITE_ERROR"\r
1147 },\r
1148 {\r
1149 EFI_IO_BUS_IBA | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1150 "RESOURCE_CONFLICT"\r
1151 },\r
1152 {\r
1153 EFI_IO_BUS_AGP | EFI_IOB_EC_NON_SPECIFIC,\r
1154 "NON_SPECIFIC"\r
1155 },\r
1156 {\r
1157 EFI_IO_BUS_AGP | EFI_IOB_EC_DISABLED,\r
1158 "DISABLED"\r
1159 },\r
1160 {\r
1161 EFI_IO_BUS_AGP | EFI_IOB_EC_NOT_SUPPORTED,\r
1162 "NOT_SUPPORTED"\r
1163 },\r
1164 {\r
1165 EFI_IO_BUS_AGP | EFI_IOB_EC_NOT_DETECTED,\r
1166 "NOT_DETECTED"\r
1167 },\r
1168 {\r
1169 EFI_IO_BUS_AGP | EFI_IOB_EC_NOT_CONFIGURED,\r
1170 "NOT_CONFIGURED"\r
1171 },\r
1172 {\r
1173 EFI_IO_BUS_AGP | EFI_IOB_EC_INTERFACE_ERROR,\r
1174 "INTERFACE_ERROR"\r
1175 },\r
1176 {\r
1177 EFI_IO_BUS_AGP | EFI_IOB_EC_CONTROLLER_ERROR,\r
1178 "CONTROLLER_ERROR"\r
1179 },\r
1180 {\r
1181 EFI_IO_BUS_AGP | EFI_IOB_EC_READ_ERROR,\r
1182 "READ_ERROR"\r
1183 },\r
1184 {\r
1185 EFI_IO_BUS_AGP | EFI_IOB_EC_WRITE_ERROR,\r
1186 "WRITE_ERROR"\r
1187 },\r
1188 {\r
1189 EFI_IO_BUS_AGP | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1190 "RESOURCE_CONFLICT"\r
1191 },\r
1192 {\r
1193 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_NON_SPECIFIC,\r
1194 "NON_SPECIFIC"\r
1195 },\r
1196 {\r
1197 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_DISABLED,\r
1198 "DISABLED"\r
1199 },\r
1200 {\r
1201 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_NOT_SUPPORTED,\r
1202 "NOT_SUPPORTED"\r
1203 },\r
1204 {\r
1205 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_NOT_DETECTED,\r
1206 "NOT_DETECTED"\r
1207 },\r
1208 {\r
1209 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_NOT_CONFIGURED,\r
1210 "NOT_CONFIGURED"\r
1211 },\r
1212 {\r
1213 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_INTERFACE_ERROR,\r
1214 "INTERFACE_ERROR"\r
1215 },\r
1216 {\r
1217 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_CONTROLLER_ERROR,\r
1218 "CONTROLLER_ERROR"\r
1219 },\r
1220 {\r
1221 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_READ_ERROR,\r
1222 "READ_ERROR"\r
1223 },\r
1224 {\r
1225 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_WRITE_ERROR,\r
1226 "WRITE_ERROR"\r
1227 },\r
1228 {\r
1229 EFI_IO_BUS_PC_CARD | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1230 "RESOURCE_CONFLICT"\r
1231 },\r
1232 {\r
1233 EFI_IO_BUS_LPC | EFI_IOB_EC_NON_SPECIFIC,\r
1234 "NON_SPECIFIC"\r
1235 },\r
1236 {\r
1237 EFI_IO_BUS_LPC | EFI_IOB_EC_DISABLED,\r
1238 "DISABLED"\r
1239 },\r
1240 {\r
1241 EFI_IO_BUS_LPC | EFI_IOB_EC_NOT_SUPPORTED,\r
1242 "NOT_SUPPORTED"\r
1243 },\r
1244 {\r
1245 EFI_IO_BUS_LPC | EFI_IOB_EC_NOT_DETECTED,\r
1246 "NOT_DETECTED"\r
1247 },\r
1248 {\r
1249 EFI_IO_BUS_LPC | EFI_IOB_EC_NOT_CONFIGURED,\r
1250 "NOT_CONFIGURED"\r
1251 },\r
1252 {\r
1253 EFI_IO_BUS_LPC | EFI_IOB_EC_INTERFACE_ERROR,\r
1254 "INTERFACE_ERROR"\r
1255 },\r
1256 {\r
1257 EFI_IO_BUS_LPC | EFI_IOB_EC_CONTROLLER_ERROR,\r
1258 "CONTROLLER_ERROR"\r
1259 },\r
1260 {\r
1261 EFI_IO_BUS_LPC | EFI_IOB_EC_READ_ERROR,\r
1262 "READ_ERROR"\r
1263 },\r
1264 {\r
1265 EFI_IO_BUS_LPC | EFI_IOB_EC_WRITE_ERROR,\r
1266 "WRITE_ERROR"\r
1267 },\r
1268 {\r
1269 EFI_IO_BUS_LPC | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1270 "RESOURCE_CONFLICT"\r
1271 },\r
1272 {\r
1273 EFI_IO_BUS_SCSI | EFI_IOB_EC_NON_SPECIFIC,\r
1274 "NON_SPECIFIC"\r
1275 },\r
1276 {\r
1277 EFI_IO_BUS_SCSI | EFI_IOB_EC_DISABLED,\r
1278 "DISABLED"\r
1279 },\r
1280 {\r
1281 EFI_IO_BUS_SCSI | EFI_IOB_EC_NOT_SUPPORTED,\r
1282 "NOT_SUPPORTED"\r
1283 },\r
1284 {\r
1285 EFI_IO_BUS_SCSI | EFI_IOB_EC_NOT_DETECTED,\r
1286 "NOT_DETECTED"\r
1287 },\r
1288 {\r
1289 EFI_IO_BUS_SCSI | EFI_IOB_EC_NOT_CONFIGURED,\r
1290 "NOT_CONFIGURED"\r
1291 },\r
1292 {\r
1293 EFI_IO_BUS_SCSI | EFI_IOB_EC_INTERFACE_ERROR,\r
1294 "INTERFACE_ERROR"\r
1295 },\r
1296 {\r
1297 EFI_IO_BUS_SCSI | EFI_IOB_EC_CONTROLLER_ERROR,\r
1298 "CONTROLLER_ERROR"\r
1299 },\r
1300 {\r
1301 EFI_IO_BUS_SCSI | EFI_IOB_EC_READ_ERROR,\r
1302 "READ_ERROR"\r
1303 },\r
1304 {\r
1305 EFI_IO_BUS_SCSI | EFI_IOB_EC_WRITE_ERROR,\r
1306 "WRITE_ERROR"\r
1307 },\r
1308 {\r
1309 EFI_IO_BUS_SCSI | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1310 "RESOURCE_CONFLICT"\r
1311 },\r
1312 {\r
1313 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_NON_SPECIFIC,\r
1314 "NON_SPECIFIC"\r
1315 },\r
1316 {\r
1317 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_DISABLED,\r
1318 "DISABLED"\r
1319 },\r
1320 {\r
1321 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_NOT_SUPPORTED,\r
1322 "NOT_SUPPORTED"\r
1323 },\r
1324 {\r
1325 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_NOT_DETECTED,\r
1326 "NOT_DETECTED"\r
1327 },\r
1328 {\r
1329 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_NOT_CONFIGURED,\r
1330 "NOT_CONFIGURED"\r
1331 },\r
1332 {\r
1333 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_INTERFACE_ERROR,\r
1334 "INTERFACE_ERROR"\r
1335 },\r
1336 {\r
1337 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_CONTROLLER_ERROR,\r
1338 "CONTROLLER_ERROR"\r
1339 },\r
1340 {\r
1341 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_READ_ERROR,\r
1342 "READ_ERROR"\r
1343 },\r
1344 {\r
1345 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_WRITE_ERROR,\r
1346 "WRITE_ERROR"\r
1347 },\r
1348 {\r
1349 EFI_IO_BUS_ATA_ATAPI | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1350 "RESOURCE_CONFLICT"\r
1351 },\r
1352 {\r
1353 EFI_IO_BUS_FC | EFI_IOB_EC_NON_SPECIFIC,\r
1354 "NON_SPECIFIC"\r
1355 },\r
1356 {\r
1357 EFI_IO_BUS_FC | EFI_IOB_EC_DISABLED,\r
1358 "DISABLED"\r
1359 },\r
1360 {\r
1361 EFI_IO_BUS_FC | EFI_IOB_EC_NOT_SUPPORTED,\r
1362 "NOT_SUPPORTED"\r
1363 },\r
1364 {\r
1365 EFI_IO_BUS_FC | EFI_IOB_EC_NOT_DETECTED,\r
1366 "NOT_DETECTED"\r
1367 },\r
1368 {\r
1369 EFI_IO_BUS_FC | EFI_IOB_EC_NOT_CONFIGURED,\r
1370 "NOT_CONFIGURED"\r
1371 },\r
1372 {\r
1373 EFI_IO_BUS_FC | EFI_IOB_EC_INTERFACE_ERROR,\r
1374 "INTERFACE_ERROR"\r
1375 },\r
1376 {\r
1377 EFI_IO_BUS_FC | EFI_IOB_EC_CONTROLLER_ERROR,\r
1378 "CONTROLLER_ERROR"\r
1379 },\r
1380 {\r
1381 EFI_IO_BUS_FC | EFI_IOB_EC_READ_ERROR,\r
1382 "READ_ERROR"\r
1383 },\r
1384 {\r
1385 EFI_IO_BUS_FC | EFI_IOB_EC_WRITE_ERROR,\r
1386 "WRITE_ERROR"\r
1387 },\r
1388 {\r
1389 EFI_IO_BUS_FC | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1390 "RESOURCE_CONFLICT"\r
1391 },\r
1392 {\r
1393 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_NON_SPECIFIC,\r
1394 "NON_SPECIFIC"\r
1395 },\r
1396 {\r
1397 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_DISABLED,\r
1398 "DISABLED"\r
1399 },\r
1400 {\r
1401 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_NOT_SUPPORTED,\r
1402 "NOT_SUPPORTED"\r
1403 },\r
1404 {\r
1405 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_NOT_DETECTED,\r
1406 "NOT_DETECTED"\r
1407 },\r
1408 {\r
1409 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_NOT_CONFIGURED,\r
1410 "NOT_CONFIGURED"\r
1411 },\r
1412 {\r
1413 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_INTERFACE_ERROR,\r
1414 "INTERFACE_ERROR"\r
1415 },\r
1416 {\r
1417 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_CONTROLLER_ERROR,\r
1418 "CONTROLLER_ERROR"\r
1419 },\r
1420 {\r
1421 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_READ_ERROR,\r
1422 "READ_ERROR"\r
1423 },\r
1424 {\r
1425 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_WRITE_ERROR,\r
1426 "WRITE_ERROR"\r
1427 },\r
1428 {\r
1429 EFI_IO_BUS_IP_NETWORK | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1430 "RESOURCE_CONFLICT"\r
1431 },\r
1432 {\r
1433 EFI_IO_BUS_SMBUS | EFI_IOB_EC_NON_SPECIFIC,\r
1434 "NON_SPECIFIC"\r
1435 },\r
1436 {\r
1437 EFI_IO_BUS_SMBUS | EFI_IOB_EC_DISABLED,\r
1438 "DISABLED"\r
1439 },\r
1440 {\r
1441 EFI_IO_BUS_SMBUS | EFI_IOB_EC_NOT_SUPPORTED,\r
1442 "NOT_SUPPORTED"\r
1443 },\r
1444 {\r
1445 EFI_IO_BUS_SMBUS | EFI_IOB_EC_NOT_DETECTED,\r
1446 "NOT_DETECTED"\r
1447 },\r
1448 {\r
1449 EFI_IO_BUS_SMBUS | EFI_IOB_EC_NOT_CONFIGURED,\r
1450 "NOT_CONFIGURED"\r
1451 },\r
1452 {\r
1453 EFI_IO_BUS_SMBUS | EFI_IOB_EC_INTERFACE_ERROR,\r
1454 "INTERFACE_ERROR"\r
1455 },\r
1456 {\r
1457 EFI_IO_BUS_SMBUS | EFI_IOB_EC_CONTROLLER_ERROR,\r
1458 "CONTROLLER_ERROR"\r
1459 },\r
1460 {\r
1461 EFI_IO_BUS_SMBUS | EFI_IOB_EC_READ_ERROR,\r
1462 "READ_ERROR"\r
1463 },\r
1464 {\r
1465 EFI_IO_BUS_SMBUS | EFI_IOB_EC_WRITE_ERROR,\r
1466 "WRITE_ERROR"\r
1467 },\r
1468 {\r
1469 EFI_IO_BUS_SMBUS | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1470 "RESOURCE_CONFLICT"\r
1471 },\r
1472 {\r
1473 EFI_IO_BUS_I2C | EFI_IOB_EC_NON_SPECIFIC,\r
1474 "NON_SPECIFIC"\r
1475 },\r
1476 {\r
1477 EFI_IO_BUS_I2C | EFI_IOB_EC_DISABLED,\r
1478 "DISABLED"\r
1479 },\r
1480 {\r
1481 EFI_IO_BUS_I2C | EFI_IOB_EC_NOT_SUPPORTED,\r
1482 "NOT_SUPPORTED"\r
1483 },\r
1484 {\r
1485 EFI_IO_BUS_I2C | EFI_IOB_EC_NOT_DETECTED,\r
1486 "NOT_DETECTED"\r
1487 },\r
1488 {\r
1489 EFI_IO_BUS_I2C | EFI_IOB_EC_NOT_CONFIGURED,\r
1490 "NOT_CONFIGURED"\r
1491 },\r
1492 {\r
1493 EFI_IO_BUS_I2C | EFI_IOB_EC_INTERFACE_ERROR,\r
1494 "INTERFACE_ERROR"\r
1495 },\r
1496 {\r
1497 EFI_IO_BUS_I2C | EFI_IOB_EC_CONTROLLER_ERROR,\r
1498 "CONTROLLER_ERROR"\r
1499 },\r
1500 {\r
1501 EFI_IO_BUS_I2C | EFI_IOB_EC_READ_ERROR,\r
1502 "READ_ERROR"\r
1503 },\r
1504 {\r
1505 EFI_IO_BUS_I2C | EFI_IOB_EC_WRITE_ERROR,\r
1506 "WRITE_ERROR"\r
1507 },\r
1508 {\r
1509 EFI_IO_BUS_I2C | EFI_IOB_EC_RESOURCE_CONFLICT,\r
1510 "RESOURCE_CONFLICT"\r
1511 },\r
1512 {\r
1513 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_NON_SPECIFIC,\r
1514 "NON_SPECIFIC"\r
1515 },\r
1516 {\r
1517 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_LOAD_ERROR,\r
1518 "LOAD_ERROR"\r
1519 },\r
1520 {\r
1521 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_INVALID_PARAMETER,\r
1522 "INVALID_PARAMETER"\r
1523 },\r
1524 {\r
1525 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_UNSUPPORTED,\r
1526 "NOT_SUPPORTED"\r
1527 },\r
1528 {\r
1529 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_INVALID_BUFFER,\r
1530 "INVALID_BUFFER"\r
1531 },\r
1532 {\r
1533 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_OUT_OF_RESOURCES,\r
1534 "OUT_OF_RESOURCES"\r
1535 },\r
1536 {\r
1537 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_ABORTED,\r
1538 "ABORTED"\r
1539 },\r
1540 {\r
1541 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1542 "ILLEGAL_SOFTWARE_STATE"\r
1543 },\r
1544 {\r
1545 EFI_SOFTWARE_UNSPECIFIED | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1546 "ILLEGAL_HARDWARE_STATE"\r
1547 },\r
1548 {\r
1549 EFI_SOFTWARE_SEC | EFI_SW_EC_NON_SPECIFIC,\r
1550 "NON_SPECIFIC"\r
1551 },\r
1552 {\r
1553 EFI_SOFTWARE_SEC | EFI_SW_EC_LOAD_ERROR,\r
1554 "LOAD_ERROR"\r
1555 },\r
1556 {\r
1557 EFI_SOFTWARE_SEC | EFI_SW_EC_INVALID_PARAMETER,\r
1558 "INVALID_PARAMETER"\r
1559 },\r
1560 {\r
1561 EFI_SOFTWARE_SEC | EFI_SW_EC_UNSUPPORTED,\r
1562 "NOT_SUPPORTED"\r
1563 },\r
1564 {\r
1565 EFI_SOFTWARE_SEC | EFI_SW_EC_INVALID_BUFFER,\r
1566 "INVALID_BUFFER"\r
1567 },\r
1568 {\r
1569 EFI_SOFTWARE_SEC | EFI_SW_EC_OUT_OF_RESOURCES,\r
1570 "OUT_OF_RESOURCES"\r
1571 },\r
1572 {\r
1573 EFI_SOFTWARE_SEC | EFI_SW_EC_ABORTED,\r
1574 "ABORTED"\r
1575 },\r
1576 {\r
1577 EFI_SOFTWARE_SEC | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1578 "ILLEGAL_SOFTWARE_STATE"\r
1579 },\r
1580 {\r
1581 EFI_SOFTWARE_SEC | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1582 "ILLEGAL_HARDWARE_STATE"\r
1583 },\r
1584 {\r
1585 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_NON_SPECIFIC,\r
1586 "NON_SPECIFIC"\r
1587 },\r
1588 {\r
1589 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_LOAD_ERROR,\r
1590 "LOAD_ERROR"\r
1591 },\r
1592 {\r
1593 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_INVALID_PARAMETER,\r
1594 "INVALID_PARAMETER"\r
1595 },\r
1596 {\r
1597 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_UNSUPPORTED,\r
1598 "NOT_SUPPORTED"\r
1599 },\r
1600 {\r
1601 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_INVALID_BUFFER,\r
1602 "INVALID_BUFFER"\r
1603 },\r
1604 {\r
1605 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_OUT_OF_RESOURCES,\r
1606 "OUT_OF_RESOURCES"\r
1607 },\r
1608 {\r
1609 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_ABORTED,\r
1610 "ABORTED"\r
1611 },\r
1612 {\r
1613 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1614 "ILLEGAL_SOFTWARE_STATE"\r
1615 },\r
1616 {\r
1617 EFI_SOFTWARE_PEI_CORE | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1618 "ILLEGAL_HARDWARE_STATE"\r
1619 },\r
1620 {\r
1621 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_NON_SPECIFIC,\r
1622 "NON_SPECIFIC"\r
1623 },\r
1624 {\r
1625 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_LOAD_ERROR,\r
1626 "LOAD_ERROR"\r
1627 },\r
1628 {\r
1629 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_INVALID_PARAMETER,\r
1630 "INVALID_PARAMETER"\r
1631 },\r
1632 {\r
1633 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_UNSUPPORTED,\r
1634 "NOT_SUPPORTED"\r
1635 },\r
1636 {\r
1637 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_INVALID_BUFFER,\r
1638 "INVALID_BUFFER"\r
1639 },\r
1640 {\r
1641 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_OUT_OF_RESOURCES,\r
1642 "OUT_OF_RESOURCES"\r
1643 },\r
1644 {\r
1645 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_ABORTED,\r
1646 "ABORTED"\r
1647 },\r
1648 {\r
1649 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1650 "ILLEGAL_SOFTWARE_STATE"\r
1651 },\r
1652 {\r
1653 EFI_SOFTWARE_PEI_MODULE | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1654 "ILLEGAL_HARDWARE_STATE"\r
1655 },\r
1656 {\r
1657 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_NON_SPECIFIC,\r
1658 "NON_SPECIFIC"\r
1659 },\r
1660 {\r
1661 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_LOAD_ERROR,\r
1662 "LOAD_ERROR"\r
1663 },\r
1664 {\r
1665 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_INVALID_PARAMETER,\r
1666 "INVALID_PARAMETER"\r
1667 },\r
1668 {\r
1669 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_UNSUPPORTED,\r
1670 "NOT_SUPPORTED"\r
1671 },\r
1672 {\r
1673 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_INVALID_BUFFER,\r
1674 "INVALID_BUFFER"\r
1675 },\r
1676 {\r
1677 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_OUT_OF_RESOURCES,\r
1678 "OUT_OF_RESOURCES"\r
1679 },\r
1680 {\r
1681 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_ABORTED,\r
1682 "ABORTED"\r
1683 },\r
1684 {\r
1685 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1686 "ILLEGAL_SOFTWARE_STATE"\r
1687 },\r
1688 {\r
1689 EFI_SOFTWARE_DXE_CORE | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1690 "ILLEGAL_HARDWARE_STATE"\r
1691 },\r
1692 {\r
1693 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_NON_SPECIFIC,\r
1694 "NON_SPECIFIC"\r
1695 },\r
1696 {\r
1697 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_LOAD_ERROR,\r
1698 "LOAD_ERROR"\r
1699 },\r
1700 {\r
1701 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_INVALID_PARAMETER,\r
1702 "INVALID_PARAMETER"\r
1703 },\r
1704 {\r
1705 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_UNSUPPORTED,\r
1706 "NOT_SUPPORTED"\r
1707 },\r
1708 {\r
1709 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_INVALID_BUFFER,\r
1710 "INVALID_BUFFER"\r
1711 },\r
1712 {\r
1713 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_OUT_OF_RESOURCES,\r
1714 "OUT_OF_RESOURCES"\r
1715 },\r
1716 {\r
1717 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_ABORTED,\r
1718 "ABORTED"\r
1719 },\r
1720 {\r
1721 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1722 "ILLEGAL_SOFTWARE_STATE"\r
1723 },\r
1724 {\r
1725 EFI_SOFTWARE_EFI_BOOT_SERVICE | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1726 "ILLEGAL_HARDWARE_STATE"\r
1727 },\r
1728 {\r
1729 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_NON_SPECIFIC,\r
1730 "NON_SPECIFIC"\r
1731 },\r
1732 {\r
1733 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_LOAD_ERROR,\r
1734 "LOAD_ERROR"\r
1735 },\r
1736 {\r
1737 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_INVALID_PARAMETER,\r
1738 "INVALID_PARAMETER"\r
1739 },\r
1740 {\r
1741 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_UNSUPPORTED,\r
1742 "NOT_SUPPORTED"\r
1743 },\r
1744 {\r
1745 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_INVALID_BUFFER,\r
1746 "INVALID_BUFFER"\r
1747 },\r
1748 {\r
1749 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_OUT_OF_RESOURCES,\r
1750 "OUT_OF_RESOURCES"\r
1751 },\r
1752 {\r
1753 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_ABORTED,\r
1754 "ABORTED"\r
1755 },\r
1756 {\r
1757 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1758 "ILLEGAL_SOFTWARE_STATE"\r
1759 },\r
1760 {\r
1761 EFI_SOFTWARE_EFI_RUNTIME_SERVICE | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1762 "ILLEGAL_HARDWARE_STATE"\r
1763 },\r
1764 {\r
1765 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_NON_SPECIFIC,\r
1766 "NON_SPECIFIC"\r
1767 },\r
1768 {\r
1769 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_LOAD_ERROR,\r
1770 "LOAD_ERROR"\r
1771 },\r
1772 {\r
1773 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_INVALID_PARAMETER,\r
1774 "INVALID_PARAMETER"\r
1775 },\r
1776 {\r
1777 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_UNSUPPORTED,\r
1778 "NOT_SUPPORTED"\r
1779 },\r
1780 {\r
1781 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_INVALID_BUFFER,\r
1782 "INVALID_BUFFER"\r
1783 },\r
1784 {\r
1785 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_OUT_OF_RESOURCES,\r
1786 "OUT_OF_RESOURCES"\r
1787 },\r
1788 {\r
1789 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_ABORTED,\r
1790 "ABORTED"\r
1791 },\r
1792 {\r
1793 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1794 "ILLEGAL_SOFTWARE_STATE"\r
1795 },\r
1796 {\r
1797 EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1798 "ILLEGAL_HARDWARE_STATE"\r
1799 },\r
1800 {\r
1801 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_NON_SPECIFIC,\r
1802 "NON_SPECIFIC"\r
1803 },\r
1804 {\r
1805 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_LOAD_ERROR,\r
1806 "LOAD_ERROR"\r
1807 },\r
1808 {\r
1809 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_INVALID_PARAMETER,\r
1810 "INVALID_PARAMETER"\r
1811 },\r
1812 {\r
1813 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_UNSUPPORTED,\r
1814 "NOT_SUPPORTED"\r
1815 },\r
1816 {\r
1817 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_INVALID_BUFFER,\r
1818 "INVALID_BUFFER"\r
1819 },\r
1820 {\r
1821 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_OUT_OF_RESOURCES,\r
1822 "OUT_OF_RESOURCES"\r
1823 },\r
1824 {\r
1825 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_ABORTED,\r
1826 "ABORTED"\r
1827 },\r
1828 {\r
1829 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1830 "ILLEGAL_SOFTWARE_STATE"\r
1831 },\r
1832 {\r
1833 EFI_SOFTWARE_DXE_RT_DRIVER | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1834 "ILLEGAL_HARDWARE_STATE"\r
1835 },\r
1836 {\r
1837 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_NON_SPECIFIC,\r
1838 "NON_SPECIFIC"\r
1839 },\r
1840 {\r
1841 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_LOAD_ERROR,\r
1842 "LOAD_ERROR"\r
1843 },\r
1844 {\r
1845 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_INVALID_PARAMETER,\r
1846 "INVALID_PARAMETER"\r
1847 },\r
1848 {\r
1849 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_UNSUPPORTED,\r
1850 "NOT_SUPPORTED"\r
1851 },\r
1852 {\r
1853 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_INVALID_BUFFER,\r
1854 "INVALID_BUFFER"\r
1855 },\r
1856 {\r
1857 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_OUT_OF_RESOURCES,\r
1858 "OUT_OF_RESOURCES"\r
1859 },\r
1860 {\r
1861 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_ABORTED,\r
1862 "ABORTED"\r
1863 },\r
1864 {\r
1865 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1866 "ILLEGAL_SOFTWARE_STATE"\r
1867 },\r
1868 {\r
1869 EFI_SOFTWARE_SMM_DRIVER | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1870 "ILLEGAL_HARDWARE_STATE"\r
1871 },\r
1872 {\r
1873 EFI_SOFTWARE_RT | EFI_SW_EC_NON_SPECIFIC,\r
1874 "NON_SPECIFIC"\r
1875 },\r
1876 {\r
1877 EFI_SOFTWARE_RT | EFI_SW_EC_LOAD_ERROR,\r
1878 "LOAD_ERROR"\r
1879 },\r
1880 {\r
1881 EFI_SOFTWARE_RT | EFI_SW_EC_INVALID_PARAMETER,\r
1882 "INVALID_PARAMETER"\r
1883 },\r
1884 {\r
1885 EFI_SOFTWARE_RT | EFI_SW_EC_UNSUPPORTED,\r
1886 "NOT_SUPPORTED"\r
1887 },\r
1888 {\r
1889 EFI_SOFTWARE_RT | EFI_SW_EC_INVALID_BUFFER,\r
1890 "INVALID_BUFFER"\r
1891 },\r
1892 {\r
1893 EFI_SOFTWARE_RT | EFI_SW_EC_OUT_OF_RESOURCES,\r
1894 "OUT_OF_RESOURCES"\r
1895 },\r
1896 {\r
1897 EFI_SOFTWARE_RT | EFI_SW_EC_ABORTED,\r
1898 "ABORTED"\r
1899 },\r
1900 {\r
1901 EFI_SOFTWARE_RT | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1902 "ILLEGAL_SOFTWARE_STATE"\r
1903 },\r
1904 {\r
1905 EFI_SOFTWARE_RT | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1906 "ILLEGAL_HARDWARE_STATE"\r
1907 },\r
1908 {\r
1909 EFI_SOFTWARE_AL | EFI_SW_EC_NON_SPECIFIC,\r
1910 "NON_SPECIFIC"\r
1911 },\r
1912 {\r
1913 EFI_SOFTWARE_AL | EFI_SW_EC_LOAD_ERROR,\r
1914 "LOAD_ERROR"\r
1915 },\r
1916 {\r
1917 EFI_SOFTWARE_AL | EFI_SW_EC_INVALID_PARAMETER,\r
1918 "INVALID_PARAMETER"\r
1919 },\r
1920 {\r
1921 EFI_SOFTWARE_AL | EFI_SW_EC_UNSUPPORTED,\r
1922 "NOT_SUPPORTED"\r
1923 },\r
1924 {\r
1925 EFI_SOFTWARE_AL | EFI_SW_EC_INVALID_BUFFER,\r
1926 "INVALID_BUFFER"\r
1927 },\r
1928 {\r
1929 EFI_SOFTWARE_AL | EFI_SW_EC_OUT_OF_RESOURCES,\r
1930 "OUT_OF_RESOURCES"\r
1931 },\r
1932 {\r
1933 EFI_SOFTWARE_AL | EFI_SW_EC_ABORTED,\r
1934 "ABORTED"\r
1935 },\r
1936 {\r
1937 EFI_SOFTWARE_AL | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1938 "ILLEGAL_SOFTWARE_STATE"\r
1939 },\r
1940 {\r
1941 EFI_SOFTWARE_AL | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1942 "ILLEGAL_HARDWARE_STATE"\r
1943 },\r
1944 {\r
1945 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_NON_SPECIFIC,\r
1946 "NON_SPECIFIC"\r
1947 },\r
1948 {\r
1949 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_LOAD_ERROR,\r
1950 "LOAD_ERROR"\r
1951 },\r
1952 {\r
1953 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_INVALID_PARAMETER,\r
1954 "INVALID_PARAMETER"\r
1955 },\r
1956 {\r
1957 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_UNSUPPORTED,\r
1958 "NOT_SUPPORTED"\r
1959 },\r
1960 {\r
1961 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_INVALID_BUFFER,\r
1962 "INVALID_BUFFER"\r
1963 },\r
1964 {\r
1965 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_OUT_OF_RESOURCES,\r
1966 "OUT_OF_RESOURCES"\r
1967 },\r
1968 {\r
1969 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_ABORTED,\r
1970 "ABORTED"\r
1971 },\r
1972 {\r
1973 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
1974 "ILLEGAL_SOFTWARE_STATE"\r
1975 },\r
1976 {\r
1977 EFI_SOFTWARE_EFI_APPLICATION | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
1978 "ILLEGAL_HARDWARE_STATE"\r
1979 },\r
1980 {\r
1981 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_NON_SPECIFIC,\r
1982 "NON_SPECIFIC"\r
1983 },\r
1984 {\r
1985 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_LOAD_ERROR,\r
1986 "LOAD_ERROR"\r
1987 },\r
1988 {\r
1989 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_INVALID_PARAMETER,\r
1990 "INVALID_PARAMETER"\r
1991 },\r
1992 {\r
1993 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_UNSUPPORTED,\r
1994 "NOT_SUPPORTED"\r
1995 },\r
1996 {\r
1997 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_INVALID_BUFFER,\r
1998 "INVALID_BUFFER"\r
1999 },\r
2000 {\r
2001 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_OUT_OF_RESOURCES,\r
2002 "OUT_OF_RESOURCES"\r
2003 },\r
2004 {\r
2005 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_ABORTED,\r
2006 "ABORTED"\r
2007 },\r
2008 {\r
2009 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_ILLEGAL_SOFTWARE_STATE,\r
2010 "ILLEGAL_SOFTWARE_STATE"\r
2011 },\r
2012 {\r
2013 EFI_SOFTWARE_EFI_OS_LOADER | EFI_SW_EC_ILLEGAL_HARDWARE_STATE,\r
2014 "ILLEGAL_HARDWARE_STATE"\r
2015 },\r
2016 {\r
2017 0xFFFFFFFF,\r
2018 "ERROR_UNRECOGNIZED"\r
2019 }\r
2020};\r
2021\r
2022#endif\r
2023//\r
2024// Private function declarations\r
2025//\r
2026//\r
2027// Match is only needed for debug.\r
2028//\r
2029#ifdef EFI_DEBUG\r
2030\r
2031EFI_STATUS\r
2032EFIAPI\r
2033MatchString (\r
2034 IN STATUS_CODE_LOOKUP_TABLE *Table,\r
2035 IN UINT32 Value,\r
2036 OUT CHAR8 **Token\r
2037 );\r
2038#endif\r
2039//\r
2040// Function implemenations\r
2041//\r
2042//\r
2043// Match is only needed for debug.\r
2044//\r
2045#ifdef EFI_DEBUG\r
2046\r
2047EFI_STATUS\r
2048EFIAPI\r
2049MatchString (\r
2050 IN STATUS_CODE_LOOKUP_TABLE *Table,\r
2051 IN UINT32 Value,\r
2052 OUT CHAR8 **Token\r
2053 )\r
2054/*++\r
2055\r
2056Routine Description: \r
2057\r
2058 Search the input table for a matching value and return the token associated\r
2059 with that value. Well formed tables will have the last value == 0 and will \r
2060 return a default token.\r
2061\r
2062Arguments: \r
2063\r
2064 Table Pointer to first entry in an array of table entries.\r
2065 Value Value to look up.\r
2066 Token String to return.\r
2067\r
2068Returns: \r
2069\r
2070 EFI_SUCCESS The function always returns success.\r
2071\r
2072--*/\r
2073{\r
2074 UINTN Current;\r
2075\r
4ac4deb7
LG
2076 ASSERT (Table != NULL);\r
2077 ASSERT (Token != NULL);\r
b38907a6 2078\r
2079 Current = 0;\r
2080 *Token = 0;\r
2081\r
2082 while (!*Token) {\r
2083 //\r
2084 // Found token if values match or current entry is the last entry.\r
2085 //\r
2086 if ((Table[Current].Value == (-1)) || (Table[Current].Value == Value)) {\r
2087 *Token = Table[Current].Token;\r
2088 }\r
2089\r
2090 Current++;\r
2091 }\r
2092\r
2093 return EFI_SUCCESS;\r
2094}\r
2095#endif\r
2096\r
2097VOID\r
95d675b5 2098EFIAPI\r
b38907a6 2099BsSerialInitializeStatusCode (\r
2100 IN EFI_HANDLE ImageHandle,\r
2101 IN EFI_SYSTEM_TABLE *SystemTable\r
2102 )\r
2103/*++\r
2104\r
2105Routine Description:\r
2106\r
2107 Initialize Serial Port\r
2108\r
2109 The Baud Rate Divisor registers are programmed and the LCR \r
2110 is used to configure the communications format. Hard coded\r
2111 UART config comes from globals in DebugSerialPlatform lib.\r
2112\r
2113Arguments: \r
2114\r
2115 Unused\r
2116\r
2117Returns: \r
2118\r
2119 None\r
2120\r
2121--*/\r
2122{\r
2123 UINTN Divisor;\r
2124 UINT8 OutputData;\r
2125 UINT8 Data;\r
2126\r
2127 //\r
2128 // Some init is done by the platform status code initialization.\r
2129 //\r
2130 //\r
2131 // Map 5..8 to 0..3\r
2132 //\r
2133 Data = (UINT8) (gData - (UINT8) 5);\r
2134\r
2135 //\r
2136 // Calculate divisor for baud generator\r
2137 //\r
2138 Divisor = 115200 / gBps;\r
2139\r
2140 //\r
2141 // Set communications format\r
2142 //\r
2143 OutputData = (UINT8) ((DLAB << 7) | ((gBreakSet << 6) | ((gParity << 3) | ((gStop << 2) | Data))));\r
2144 IoWrite8 (gComBase + LCR_OFFSET, OutputData);\r
2145\r
2146 //\r
2147 // Configure baud rate\r
2148 //\r
2149 IoWrite8 (gComBase + BAUD_HIGH_OFFSET, (UINT8) (Divisor >> 8));\r
2150 IoWrite8 (gComBase + BAUD_LOW_OFFSET, (UINT8) (Divisor & 0xff));\r
2151\r
2152 //\r
2153 // Switch back to bank 0\r
2154 //\r
2155 OutputData = (UINT8) ((~DLAB << 7) | ((gBreakSet << 6) | ((gParity << 3) | ((gStop << 2) | Data))));\r
2156 IoWrite8 (gComBase + LCR_OFFSET, OutputData);\r
2157}\r
2158\r
2159VOID\r
2160DebugSerialWrite (\r
2161 IN UINT8 Character\r
2162 )\r
2163/*++\r
2164\r
2165Routine Description:\r
2166\r
2167 DebugSerialWrite - Outputs a character to the Serial port\r
2168\r
2169 Repeatedly polls the TXRDY bit of the Line Status Register\r
2170 until the Transmitter Holding Register is empty. The character\r
2171 is then written to the Serial port.\r
2172\r
2173Arguments:\r
2174\r
2175 Character - Character to write\r
2176\r
2177Returns:\r
2178\r
2179 None\r
2180\r
2181--*/\r
2182{\r
2183 UINT8 Data;\r
2184\r
2185 //\r
2186 // Wait for the serail port to be ready.\r
2187 //\r
2188 do {\r
2189 Data = IoRead8 (gComBase + LSR_OFFSET);\r
2190 } while ((Data & LSR_TXRDY) == 0);\r
2191\r
2192 IoWrite8 (gComBase, Character);\r
95d675b5 2193#ifdef SERIAL_OUTPUT_STALL\r
2194 EfiStall (SERIAL_OUTPUT_STALL);\r
2195#endif\r
b38907a6 2196}\r
2197\r
2198VOID\r
2199DebugSerialPrint (\r
2200 IN UINT8 *OutputString\r
2201 )\r
2202/*++\r
2203\r
2204Routine Description:\r
2205\r
2206 Prints a string to the Serial port\r
2207\r
2208Arguments:\r
2209\r
2210 OutputString - Ascii string to print to serial port.\r
2211\r
2212Returns:\r
2213\r
2214 None\r
2215\r
2216--*/\r
2217{\r
b38907a6 2218 for (; *OutputString != 0; OutputString++) {\r
2219 DebugSerialWrite (*OutputString);\r
2220 }\r
2221}\r
2222\r
2223EFI_STATUS\r
2224EFIAPI\r
2225BsSerialReportStatusCode (\r
2226 IN EFI_STATUS_CODE_TYPE CodeType,\r
2227 IN EFI_STATUS_CODE_VALUE Value,\r
2228 IN UINT32 Instance,\r
2229 IN EFI_GUID * CallerId,\r
2230 IN EFI_STATUS_CODE_DATA * Data OPTIONAL\r
2231 )\r
2232/*++\r
2233\r
2234Routine Description:\r
2235\r
2236 Provide a serial port print\r
2237\r
2238Arguments:\r
2239\r
2240 \r
2241Returns:\r
2242\r
2243 Status - EFI_SUCCESS if the interface could be successfully\r
2244 installed\r
2245\r
2246--*/\r
2247{\r
2248 CHAR8 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE * 3];\r
2249 UINT32 LineNumber;\r
2250 CHAR8 *Filename;\r
2251 CHAR8 *Description;\r
2252 CHAR8 *Format;\r
2253 VA_LIST Marker;\r
2254 UINT32 ErrorLevel;\r
2255 UINTN CharCount;\r
2256\r
2257 Buffer[0] = '\0';\r
2258\r
2259 if (ReportStatusCodeExtractAssertInfo (CodeType, Value, Data, &Filename, &Description, &LineNumber)) {\r
2260 //\r
2261 // Processes ASSERT ()\r
2262 //\r
2263 ASPrint (\r
2264 Buffer,\r
2265 EFI_STATUS_CODE_DATA_MAX_SIZE,\r
2266 "\nDXE_ASSERT!: %a (%d): %a\n",\r
2267 Filename,\r
2268 LineNumber,\r
2269 Description\r
2270 );\r
2271\r
2272 } else if (ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {\r
2273 //\r
2274 // Process DEBUG () macro to Serial\r
2275 //\r
2276 AvSPrint (Buffer, EFI_STATUS_CODE_DATA_MAX_SIZE, Format, Marker);\r
2277\r
2278 } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) {\r
2279 //\r
2280 // Process Errors\r
2281 //\r
2282 CharCount = ASPrint (Buffer, EFI_STATUS_CODE_DATA_MAX_SIZE, "ERROR: C%x:V%x I%x", CodeType, Value, Instance);\r
2283 //\r
2284 // Make sure we don't try to print values that weren't intended to be printed, especially NULL GUID pointers.\r
2285 //\r
2286 if (CallerId) {\r
2287 CharCount += ASPrint (\r
2288 &Buffer[CharCount - 1],\r
2289 (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),\r
2290 " %g",\r
2291 CallerId\r
2292 );\r
2293 }\r
2294\r
2295 if (Data) {\r
2296 CharCount += ASPrint (\r
2297 &Buffer[CharCount - 1],\r
2298 (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),\r
2299 " %x",\r
2300 Data\r
2301 );\r
2302 }\r
2303\r
2304 CharCount += ASPrint (\r
2305 &Buffer[CharCount - 1],\r
2306 (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),\r
2307 "\n"\r
2308 );\r
2309\r
2310 }\r
2311\r
2312 if (Buffer[0] != '\0') {\r
2313 //\r
2314 // Callout to platform Lib function to do print.\r
2315 //\r
a6c42ad9 2316 DebugSerialPrint ((UINT8 *) Buffer);\r
b38907a6 2317 }\r
2318 //\r
2319 // Debug code to display human readable code information.\r
2320 //\r
2321#ifdef EFI_DEBUG\r
2322 {\r
2323 CHAR8 *SeverityToken;\r
2324 CHAR8 *SubClassToken;\r
2325 CHAR8 *OperationToken;\r
2326\r
2327 if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) {\r
2328 //\r
2329 // Get the severity token\r
2330 //\r
2331 MatchString (\r
2332 mSeverityToken,\r
2333 (CodeType & EFI_STATUS_CODE_SEVERITY_MASK),\r
2334 &SeverityToken\r
2335 );\r
2336\r
2337 //\r
2338 // Get the Class/SubClass token\r
2339 //\r
2340 MatchString (\r
2341 mClassSubClassToken,\r
2342 (Value & (EFI_STATUS_CODE_CLASS_MASK | EFI_STATUS_CODE_SUBCLASS_MASK)),\r
2343 &SubClassToken\r
2344 );\r
2345\r
2346 //\r
2347 // Get the operation token\r
2348 //\r
2349 MatchString (\r
2350 mOperationToken,\r
2351 (Value & (EFI_STATUS_CODE_CLASS_MASK | EFI_STATUS_CODE_SUBCLASS_MASK | EFI_STATUS_CODE_OPERATION_MASK)),\r
2352 &OperationToken\r
2353 );\r
2354\r
2355 //\r
2356 // Concatenate the instance\r
2357 //\r
2358 ASPrint (\r
2359 Buffer,\r
2360 EFI_STATUS_CODE_DATA_MAX_SIZE,\r
2361 "%a:%a:%a:%d\n",\r
2362 SeverityToken,\r
2363 SubClassToken,\r
2364 OperationToken,\r
2365 Instance\r
2366 );\r
2367\r
a6c42ad9 2368 DebugSerialPrint ((UINT8 *) Buffer);\r
b38907a6 2369 }\r
2370 }\r
2371#endif\r
2372\r
2373 return EFI_SUCCESS;\r
2374}\r