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