1 /*
2 // Copyright (c) 2019 Intel Corporation
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 */
16 #pragma once
17 #include <registries.hpp>
18 
19 namespace redfish::message_registries::openbmc
20 {
21 const Header header = {
22     "Copyright 2018 OpenBMC. All rights reserved.",
23     "#MessageRegistry.v1_4_0.MessageRegistry",
24     "OpenBMC.0.2.0",
25     "OpenBMC Message Registry",
26     "en",
27     "This registry defines the base messages for OpenBMC.",
28     "OpenBMC",
29     "0.2.0",
30     "OpenBMC",
31 };
32 constexpr std::array<MessageEntry, 188> registry = {
33     MessageEntry{
34         "ADDDCCorrectable",
35         {
36             "Indicates an ADDDC Correctable Error.",
37             "ADDDC Correctable Error.Socket=%1 Channel=%2 DIMM=%3 Rank=%4.",
38             "Warning",
39             "Warning",
40             4,
41             {
42                 "number",
43                 "string",
44                 "number",
45                 "number",
46             },
47             "None.",
48         }},
49     MessageEntry{
50         "AtScaleDebugFeatureEnabledAtHardware",
51         {
52             "Indicates that At-Scale Debug enable is detected in hardware.",
53             "At-Scale Debug Feature is enabled in hardware.",
54             "Critical",
55             "Critical",
56             0,
57             {},
58             "None.",
59         }},
60     MessageEntry{
61         "AtScaleDebugFeatureDisabledAtHardware",
62         {
63             "Indicates that At-Scale Debug disable is detected in hardware.",
64             "At-Scale Debug Feature is disabled in hardware.",
65             "OK",
66             "OK",
67             0,
68             {},
69             "None.",
70         }},
71     MessageEntry{"AtScaleDebugFeatureEnabled",
72                  {
73                      "Indicates that At-Scale Debug service is started.",
74                      "At-Scale Debug service is started.",
75                      "Critical",
76                      "Critical",
77                      0,
78                      {},
79                      "None.",
80                  }},
81     MessageEntry{"AtScaleDebugFeatureDisabled",
82                  {
83                      "Indicates that At-Scale Debug service is stopped.",
84                      "At-Scale Debug service is stopped.",
85                      "OK",
86                      "OK",
87                      0,
88                      {},
89                      "None.",
90                  }},
91     MessageEntry{"AtScaleDebugConnected",
92                  {
93                      "Indicates At-Scale Debug connection has been established",
94                      "At-Scale Debug service is now connected %1",
95                      "Critical",
96                      "Critical",
97                      1,
98                      {"string"},
99                      "None.",
100                  }},
101     MessageEntry{"AtScaleDebugDisconnected",
102                  {
103                      "Indicates At-Scale Debug connection has ended",
104                      "At-Scale Debug service is now disconnected",
105                      "OK",
106                      "OK",
107                      0,
108                      {},
109                      "None.",
110                  }},
111     MessageEntry{"AtScaleDebugConnectionFailed",
112                  {
113                      "Indicates At-Scale Debug connection aborted/failed",
114                      "At-Scale Debug connection aborted/failed",
115                      "Critical",
116                      "Critical",
117                      0,
118                      {},
119                      "None.",
120                  }},
121     MessageEntry{"AtScaleDebugSpecialUserEnabled",
122                  {
123                      "Indicates that special user is enabled.",
124                      "At-Scale Debug special user is enabled",
125                      "Critical",
126                      "Critical",
127                      0,
128                      {},
129                      "None.",
130                  }},
131     MessageEntry{"AtScaleDebugSpecialUserDisabled",
132                  {
133                      "Indicates that special user is disabled.",
134                      "At-Scale Debug special user is disabled",
135                      "OK",
136                      "OK",
137                      0,
138                      {},
139                      "None.",
140                  }},
141 
142     MessageEntry{
143         "BIOSBoot",
144         {
145             "Indicates BIOS has transitioned control to the OS Loader.",
146             "BIOS System Boot.",
147             "OK",
148             "OK",
149             0,
150             {},
151             "None.",
152         }},
153     MessageEntry{"BIOSFirmwarePanicReason",
154                  {
155                      "Indicates the reason for BIOS firmware panic.",
156                      "BIOS firmware panic occurred due to %1.",
157                      "Warning",
158                      "Warning",
159                      1,
160                      {
161                          "string",
162                      },
163                      "None.",
164                  }},
165     MessageEntry{"BIOSFirmwareRecoveryReason",
166                  {
167                      "Indicates the reason for BIOS firmware recovery.",
168                      "BIOS firmware recovery occurred due to %1.",
169                      "Warning",
170                      "Warning",
171                      1,
172                      {
173                          "string",
174                      },
175                      "None.",
176                  }},
177     MessageEntry{"BIOSFirmwareResiliencyError",
178                  {
179                      "Indicates BIOS firmware encountered resilience error.",
180                      "BIOS firmware resiliency error. Error reason: %1.",
181                      "Critical",
182                      "Critical",
183                      1,
184                      {
185                          "string",
186                      },
187                      "None.",
188                  }},
189     MessageEntry{
190         "BIOSPOSTCode",
191         {
192             "BIOS Power-On Self-Test Code received",
193             "Boot Count: %1; Time Stamp Offset: %2 seconds; POST Code: %3",
194             "OK",
195             "OK",
196             3,
197             {"number", "number", "number"},
198             "None.",
199         }},
200     MessageEntry{"BIOSPOSTError",
201                  {
202                      "Indicates BIOS POST has encountered an error.",
203                      "BIOS POST Error. Error Code=%1",
204                      "Warning",
205                      "Warning",
206                      1,
207                      {"number"},
208                      "None.",
209                  }},
210     MessageEntry{"BIOSRecoveryComplete",
211                  {
212                      "Indicates BIOS Recovery has completed.",
213                      "BIOS Recovery Complete.",
214                      "OK",
215                      "OK",
216                      0,
217                      {},
218                      "None.",
219                  }},
220     MessageEntry{"BIOSRecoveryStart",
221                  {
222                      "Indicates BIOS Recovery has started.",
223                      "BIOS Recovery Start.",
224                      "Warning",
225                      "Warning",
226                      0,
227                      {},
228                      "None.",
229                  }},
230     MessageEntry{"BMCBootReason",
231                  {
232                      "Indicates the reason why BMC firmware booted.",
233                      "BMC firmware version %1 booted due to %2.",
234                      "OK",
235                      "OK",
236                      2,
237                      {
238                          "string",
239                          "string",
240                      },
241                      "None.",
242                  }},
243     MessageEntry{"BMCFirmwarePanicReason",
244                  {
245                      "Indicates the reason for last BMC firmware panic.",
246                      "BMC firmware panic occurred due to %1.",
247                      "Warning",
248                      "Warning",
249                      1,
250                      {
251                          "string",
252                      },
253                      "None.",
254                  }},
255     MessageEntry{"BMCFirmwareRecoveryReason",
256                  {
257                      "Indicates the reason for last BMC firmware recovery.",
258                      "BMC firmware recovery occurred due to %1.",
259                      "Warning",
260                      "Warning",
261                      1,
262                      {
263                          "string",
264                      },
265                      "None.",
266                  }},
267     MessageEntry{"BMCFirmwareResiliencyError",
268                  {
269                      "Indicates BMC firmware encountered resilience error.",
270                      "BMC firmware resiliency error. Error reason: %1.",
271                      "Critical",
272                      "Critical",
273                      1,
274                      {
275                          "string",
276                      },
277                      "None.",
278                  }},
279     MessageEntry{"BMCKernelPanic",
280                  {
281                      "Indicates that BMC kernel panic occurred.",
282                      "BMC rebooted due to kernel panic.",
283                      "OK",
284                      "OK",
285                      0,
286                      {},
287                      "None.",
288                  }},
289     MessageEntry{"ChassisIntrusionDetected",
290                  {
291                      "Indicates that a physical security event "
292                      "of the chassis intrusion has occurred.",
293                      "Chassis Intrusion Detected.",
294                      "Warning",
295                      "Warning",
296                      0,
297                      {},
298                      "None.",
299                  }},
300     MessageEntry{"ChassisIntrusionReset",
301                  {
302                      "Indicates that chassis intrusion status has recovered.",
303                      "Chassis Intrusion Reset.",
304                      "OK",
305                      "OK",
306                      0,
307                      {},
308                      "None.",
309                  }},
310     MessageEntry{"CPLDFirmwarePanicReason",
311                  {
312                      "Indicates the reason for CPLD firmware panic.",
313                      "CPLD firmware panic occurred due to %1.",
314                      "Warning",
315                      "Warning",
316                      1,
317                      {
318                          "string",
319                      },
320                      "None.",
321                  }},
322     MessageEntry{"CPLDFirmwareRecoveryReason",
323                  {
324                      "Indicates the reason for CPLD firmware recovery.",
325                      "CPLD firmware recovery occurred due to %1.",
326                      "Warning",
327                      "Warning",
328                      1,
329                      {
330                          "string",
331                      },
332                      "None.",
333                  }},
334     MessageEntry{"CPLDFirmwareResiliencyError",
335                  {
336                      "Indicates CPLD firmware encountered resilience error.",
337                      "CPLD firmware resiliency error. Error reason: %1.",
338                      "Critical",
339                      "Critical",
340                      1,
341                      {
342                          "string",
343                      },
344                      "None.",
345                  }},
346     MessageEntry{"CPUError",
347                  {
348                      "Indicates that a CPU Error occurred of "
349                      "the specified type or cause.",
350                      "CPU Error Occurred: %1.",
351                      "Critical",
352                      "Critical",
353                      1,
354                      {"string"},
355                      "None.",
356                  }},
357     MessageEntry{"CPUMismatch",
358                  {
359                      "Indicates that the specified CPU power/current "
360                      "rating is incompatible with the board.",
361                      "CPU %1 Mismatch.",
362                      "Critical",
363                      "Critical",
364                      1,
365                      {"number"},
366                      "Install the supported CPU.",
367                  }},
368     MessageEntry{"CPUThermalTrip",
369                  {
370                      "Indicates that the specified CPU thermal "
371                      "trip has been asserted.",
372                      "CPU %1 Thermal Trip.",
373                      "Critical",
374                      "Critical",
375                      1,
376                      {"number"},
377                      "None.",
378                  }},
379     MessageEntry{"DCPowerOff",
380                  {
381                      "Indicates that the system DC power is off.",
382                      "Host system DC power is off",
383                      "OK",
384                      "OK",
385                      0,
386                      {},
387                      "None.",
388                  }},
389     MessageEntry{"DCPowerOn",
390                  {
391                      "Indicates that the system DC power is on.",
392                      "Host system DC power is on",
393                      "OK",
394                      "OK",
395                      0,
396                      {},
397                      "None.",
398                  }},
399     MessageEntry{"DriveError",
400                  {
401                      "Indicates that a Drive Error occurred of "
402                      "the specified type or cause.",
403                      "Drive Error Occurred: %1.",
404                      "Warning",
405                      "Warning",
406                      1,
407                      {"string"},
408                      "None.",
409                  }},
410     MessageEntry{"EventLogCleared",
411                  {
412                      "Indicates that the event log has been cleared.",
413                      "Event Log Cleared.",
414                      "OK",
415                      "OK",
416                      0,
417                      {},
418                      "None.",
419                  }},
420     MessageEntry{"FanInserted",
421                  {
422                      "Indicates that a system fan has been inserted.",
423                      "%1 inserted.",
424                      "OK",
425                      "OK",
426                      1,
427                      {"string"},
428                      "None.",
429                  }},
430     MessageEntry{"FanRedundancyLost",
431                  {
432                      "Indicates that system fan redundancy has been lost.",
433                      "Fan redundancy lost.",
434                      "Warning",
435                      "Warning",
436                      0,
437                      {},
438                      "None.",
439                  }},
440     MessageEntry{"FanRedundancyRegained",
441                  {
442                      "Indicates that system fan redundancy has been regained.",
443                      "Fan redundancy regained.",
444                      "OK",
445                      "OK",
446                      0,
447                      {},
448                      "None.",
449                  }},
450     MessageEntry{"FanRemoved",
451                  {
452                      "Indicates that a system fan has been removed.",
453                      "%1 removed.",
454                      "OK",
455                      "OK",
456                      1,
457                      {"string"},
458                      "None.",
459                  }},
460     MessageEntry{
461         "FirmwareActivationCompleted",
462         {
463             "Indicates a firmware activation has completed successfully.",
464             "%1 firmware activation completed successfully.",
465             "OK",
466             "OK",
467             1,
468             {"string"},
469             "None.",
470         }},
471     MessageEntry{"FirmwareActivationFailed",
472                  {
473                      "Indicates a firmware activation has failed.",
474                      "%1 firmware activation failed: %2.",
475                      "Warning",
476                      "Warning",
477                      2,
478                      {"string", "string"},
479                      "None.",
480                  }},
481     MessageEntry{"FirmwareActivationStarted",
482                  {
483                      "Indicates a firmware activation has started.",
484                      "%1 firmware activation started.",
485                      "OK",
486                      "OK",
487                      1,
488                      {"string"},
489                      "None.",
490                  }},
491     MessageEntry{"FirmwareResiliencyError",
492                  {
493                      "Indicates firmware encountered resilience error.",
494                      "Firmware resiliency error. Error reason: %1.",
495                      "Critical",
496                      "Critical",
497                      1,
498                      {
499                          "string",
500                      },
501                      "None.",
502                  }},
503     MessageEntry{"FirmwareUpdateCompleted",
504                  {
505                      "Indicates a firmware update has completed successfully.",
506                      "%1 firmware update to version %2 completed "
507                      "successfully.",
508                      "OK",
509                      "OK",
510                      2,
511                      {"string", "string"},
512                      "None.",
513                  }},
514     MessageEntry{"FirmwareUpdateFailed",
515                  {
516                      "Indicates a firmware update has failed.",
517                      "%1 firmware update to version %2 failed: %3.",
518                      "Warning",
519                      "Warning",
520                      3,
521                      {"string", "string", "string"},
522                      "None.",
523                  }},
524     MessageEntry{"FirmwareUpdateStaged",
525                  {
526                      "Indicates a firmware update has staged successfully.",
527                      "%1 firmware update to version %2 staged successfully.",
528                      "OK",
529                      "OK",
530                      2,
531                      {"string", "string"},
532                      "None.",
533                  }},
534     MessageEntry{"FirmwareUpdateStarted",
535                  {
536                      "Indicates a firmware update has started.",
537                      "%1 firmware update to version %2 started.",
538                      "OK",
539                      "OK",
540                      2,
541                      {"string", "string"},
542                      "None.",
543                  }},
544     MessageEntry{
545         "GeneralFirmwareSecurityViolation",
546         {
547             "Indicates a general firmware security violation has occurred.",
548             "Firmware security violation: %1.",
549             "Critical",
550             "Critical",
551             1,
552             {"string"},
553             "None.",
554         }},
555     MessageEntry{"InvalidLoginAttempted",
556                  {
557                      "Indicates that a login was attempted on the specified "
558                      "interface with an invalid username or password.",
559                      "Invalid username or password attempted on %1.",
560                      "Warning",
561                      "Warning",
562                      1,
563                      {"string"},
564                      "None.",
565                  }},
566     MessageEntry{"InvalidUpload",
567                  {
568                      "Indicates that the uploaded file was invalid.",
569                      "Invalid file uploaded to %1: %2.",
570                      "Warning",
571                      "Warning",
572                      2,
573                      {"string", "string"},
574                      "None.",
575                  }},
576     MessageEntry{
577         "InventoryAdded",
578         {
579             "Indicates that an inventory item with the specified model, "
580             "type, and serial number was installed.",
581             "%1 %2 with serial number %3 was installed.",
582             "OK",
583             "OK",
584             3,
585 
586             {
587                 "string",
588                 "string",
589                 "string",
590             },
591             "None.",
592         }},
593     MessageEntry{
594         "InventoryRemoved",
595         {
596             "Indicates that an inventory item with the specified model, "
597             "type, and serial number was removed.",
598             "%1 %2 with serial number %3 was removed.",
599             "OK",
600             "OK",
601             3,
602 
603             {
604                 "string",
605                 "string",
606                 "string",
607             },
608             "None.",
609         }},
610     MessageEntry{
611         "IntelUPILinkWidthReducedToHalf",
612         {
613             "Indicates Intel UPI link width has reduced to half width.",
614             "Intel UPI link width reduced to half. Node=%1.",
615             "Warning",
616             "Warning",
617             1,
618 
619             {
620                 "number",
621             },
622             "None.",
623         }},
624     MessageEntry{
625         "IntelUPILinkWidthReducedToQuarter",
626         {
627             "Indicates Intel UPI link width has reduced to quarter width.",
628             "Intel UPI link width reduced to quarter. Node=%1.",
629             "Warning",
630             "Warning",
631             1,
632 
633             {
634                 "number",
635             },
636             "None.",
637         }},
638 
639     MessageEntry{"IPMIWatchdog",
640                  {
641                      "Indicates that there is a host watchdog event.",
642                      "Host Watchdog Event: %1",
643                      "OK",
644                      "OK",
645                      1,
646 
647                      {
648                          "string",
649                      },
650                      "None.",
651                  }},
652     MessageEntry{"LanLost",
653                  {
654                      "Indicates that a physical security event "
655                      "of the LAN leash has lost.",
656                      "%1 LAN leash lost.",
657                      "Warning",
658                      "Warning",
659                      1,
660                      {
661                          "string",
662                      },
663                      "None.",
664                  }},
665     MessageEntry{"LanRegained",
666                  {
667                      "Indicates that LAN link status has reconnected.",
668                      "%1 LAN leash regained.",
669                      "OK",
670                      "OK",
671                      1,
672                      {
673                          "string",
674                      },
675                      "None.",
676                  }},
677     MessageEntry{"LegacyPCIPERR",
678                  {
679                      "Indicates a Legacy PCI PERR.",
680                      "Legacy PCI PERR. Bus=%1 Device=%2 Function=%3.",
681                      "Warning",
682                      "Warning",
683                      3,
684 
685                      {
686                          "number",
687                          "number",
688                          "number",
689                      },
690                      "None.",
691                  }},
692     MessageEntry{"LegacyPCISERR",
693                  {
694                      "Indicates a Legacy PCI SERR.",
695                      "Legacy PCI SERR. Bus=%1 Device=%2 Function=%3.",
696                      "Critical",
697                      "Critical",
698                      3,
699 
700                      {
701                          "number",
702                          "number",
703                          "number",
704                      },
705                      "None.",
706                  }},
707     MessageEntry{"ManufacturingModeEntered",
708                  {
709                      "Indicates that the BMC entered Factory, "
710                      "or Manufacturing mode.",
711                      "Entered Manufacturing Mode.",
712                      "Critical",
713                      "Critical",
714                      0,
715                      {},
716                      "None.",
717                  }},
718     MessageEntry{"ManufacturingModeExited",
719                  {
720                      "Indicates that the BMC exited Factory, "
721                      "or Manufacturing mode.",
722                      "Exited Manufacturing Mode.",
723                      "OK",
724                      "OK",
725                      0,
726                      {},
727                      "None.",
728                  }},
729     MessageEntry{"MEAutoConfigFailed",
730                  {
731                      "Indicates that Intel ME power sensor "
732                      "auto-configuration has failed.",
733                      "Intel ME power sensor auto-configuration failed. Power "
734                      "monitoring, limiting and HW protection features might "
735                      "be unavailable. Failure reason: %1",
736                      "Critical",
737                      "Critical",
738                      1,
739                      {"string"},
740                      "Ensure that Intel ME configuration for power "
741                      "sources is correct.",
742                  }},
743     MessageEntry{
744         "MEAutoConfigSuccess",
745         {
746             "Indicates that Intel ME has performed successful "
747             "power sensor auto-configuration.",
748             "Intel ME power sensor auto-configuration succeeded. "
749             "Determined sources for domain readings are: DC Power: %1 ; "
750             "Chassis Power: %2 ; PSU Efficiency: %3 ; Unamanaged power: %4",
751             "OK",
752             "OK",
753             4,
754             {"string", "string", "string", "string"},
755             "None.",
756         }},
757     MessageEntry{"MEBootGuardHealthEvent",
758                  {
759                      "Indicates that Intel ME has detected error during "
760                      "operations of Intel Boot Guard",
761                      "Intel ME has detected following issue with Intel Boot "
762                      "Guard: %1",
763                      "Critical",
764                      "Critical",
765                      1,
766                      {"string"},
767                      "None.",
768                  }},
769     MessageEntry{"MECpuDebugCapabilityDisabled",
770                  {
771                      "Indicates that Intel ME has detected situation in "
772                      "which CPU Debug Capability is disabled.",
773                      "CPU Debug Capability disabled",
774                      "Warning",
775                      "Warning",
776                      0,
777                      {},
778                      "None.",
779                  }},
780     MessageEntry{"MEDirectFlashUpdateRequested",
781                  {
782                      "Indicates that BIOS has requested Direct Flash "
783                      "Update (DFU) of Intel ME",
784                      "Intel ME Firmware switched to recovery mode to perform "
785                      "full update from BIOS.",
786                      "OK",
787                      "OK",
788                      0,
789                      {},
790                      "This is transient state. Intel ME Firmware should "
791                      "return to operational mode after successful image "
792                      "update performed by the BIOS.",
793                  }},
794     MessageEntry{
795         "MEExceptionDuringShutdown",
796         {
797             "Indicates that Intel ME could not successfully "
798             "perform emergency host shutdown.",
799             "Power Down command triggered by Intel Node Manager policy "
800             "failure action and Intel ME forced shutdown. BMC probably did "
801             "not respond correctly to Chassis Control.",
802             "Warning",
803             "Warning",
804             0,
805             {},
806             "Verify the Intel Node Manager policy configuration.",
807         }},
808     MessageEntry{
809         "MEFactoryResetError",
810         {
811             "Indicates that Intel ME has ben restored to factory preset.",
812             "Intel ME has performed automatic reset to factory "
813             "presets due to following reason: %1",
814             "Critical",
815             "Critical",
816             1,
817             {"string"},
818             "If error is persistent the Flash device must be replaced.",
819         }},
820     MessageEntry{
821         "MEFactoryRestore",
822         {
823             "Indicates that Intel ME has ben restored to factory preset.",
824             "Intel ME has performed automatic reset to factory "
825             "presets due to following reason: %1",
826             "OK",
827             "OK",
828             1,
829             {"string"},
830             "If error is persistent the Flash device must be replaced.",
831         }},
832     MessageEntry{
833         "MEFirmwareException",
834         {
835             "Indicates that Intel ME has encountered firmware "
836             "exception during execution.",
837             "Intel ME has encountered firmware exception. Error code = %1",
838             "Warning",
839             "Warning",
840             1,
841             {"string"},
842             "Restore factory presets using Force ME Recovery IPMI "
843             "command or by doing AC power cycle with Recovery jumper "
844             "asserted. If this does not clear the issue, reflash the SPI "
845             "flash. If the issue persists, provide the content of error "
846             "code to Intel support team for interpretation. (Error codes "
847             "are not documented because they only provide clues that must "
848             "be interpreted individually..",
849         }},
850     MessageEntry{"MEFirmwarePanicReason",
851                  {
852                      "Indicates the reason for ME firmware panic.",
853                      "ME firmware panic occurred due to %1.",
854                      "Warning",
855                      "Warning",
856                      1,
857                      {
858                          "string",
859                      },
860                      "None.",
861                  }},
862     MessageEntry{"MEFirmwareRecoveryReason",
863                  {
864                      "Indicates the reason for ME firmware recovery.",
865                      "ME firmware recovery occurred due to %1.",
866                      "Warning",
867                      "Warning",
868                      1,
869                      {
870                          "string",
871                      },
872                      "None.",
873                  }},
874     MessageEntry{"MEFirmwareResiliencyError",
875                  {
876                      "Indicates ME firmware encountered resilience error.",
877                      "ME firmware resiliency error. Error reason: %1.",
878                      "Critical",
879                      "Critical",
880                      1,
881                      {
882                          "string",
883                      },
884                      "None.",
885                  }},
886 
887     MessageEntry{"MEFlashEraseError",
888                  {
889                      "Indicates that Intel ME was unable to finish flash "
890                      "erase procedure.",
891                      "Intel ME has encountered an error during Flash erasure "
892                      "procedure probably due to Flash part corruption.",
893                      "Critical",
894                      "Critical",
895                      0,
896                      {},
897                      "The Flash device must be replaced.",
898                  }},
899     MessageEntry{"MEFlashStateInformation",
900                  {
901                      "Indicates that Intel ME has encountered a problem "
902                      "during IO to flash device.",
903                      "Intel ME has encountered problem during IO to flash "
904                      "device. Reason: %1",
905                      "Critical",
906                      "Critical",
907                      1,
908                      {"string"},
909                      "If flash wear-out protection occurred wait until it "
910                      "expires. Otherwise - flash device must be replaced.",
911                  }},
912     MessageEntry{"MEFlashStateInformationWritingEnabled",
913                  {
914                      "Indicates that Intel ME has encountered a problem "
915                      "during IO to flash device.",
916                      "Intel ME has encountered problem during IO to flash "
917                      "device. Reason: %1",
918                      "OK",
919                      "OK",
920                      1,
921                      {"string"},
922                      "If flash wear-out protection occurred wait until it "
923                      "expires. Otherwise - flash device must be replaced.",
924                  }},
925     MessageEntry{"MEFlashVerificationError",
926                  {
927                      "Indicates that Intel ME encountered invalid flash "
928                      "descriptor region.",
929                      "Intel ME has detected invalid flash descriptor region. "
930                      "Following error is detected: %1",
931                      "Critical",
932                      "Critical",
933                      1,
934                      {"string"},
935                      "Flash Descriptor Region must be created correctly.",
936                  }},
937     MessageEntry{
938         "MEFlashWearOutWarning",
939         {
940             "Indicates that Intel ME has reached certain "
941             "threshold of flash write operations.",
942             "Warning threshold for number of flash operations has been "
943             "exceeded. Current percentage of write operations capacity: %1",
944             "Warning",
945             "Warning",
946             1,
947             {"number"},
948             "No immediate repair action needed.",
949         }},
950 
951     MessageEntry{
952         "MEImageExecutionFailed",
953         {
954             "Indicates that Intel ME could not load primary FW image.",
955             "Intel ME Recovery Image or backup operational image "
956             "loaded because operational image is corrupted. This "
957             "may be either caused by Flash device corruption or "
958             "failed upgrade procedure.",
959             "Critical",
960             "Critical",
961             0,
962             {},
963             "Either the Flash device must be replaced (if error is "
964             "persistent) or the upgrade procedure must be started again.",
965         }},
966 
967     MessageEntry{
968         "MEInternalError",
969         {
970             "Indicates that Intel ME encountered "
971             "internal error leading to watchdog reset.",
972             "Error during Intel ME execution. Watchdog "
973             "timeout has expired.",
974             "Critical",
975             "Critical",
976             0,
977             {},
978             "Firmware should automatically recover from error state. "
979             "If error is persistent then operational image shall be updated "
980             "or hardware board repair is needed.",
981         }},
982     MessageEntry{"MEManufacturingError",
983                  {
984                      "Indicates that Intel ME is unable to start in "
985                      "operational mode due to wrong configuration.",
986                      "Wrong manufacturing configuration detected by Intel ME "
987                      "Firmware. Unable to start operational mode. Reason: %1",
988                      "Critical",
989                      "Critical",
990                      1,
991                      {"string"},
992                      " If error is persistent the Flash device must be "
993                      "replaced or FW configuration must be updated. Trace "
994                      "logs might be gathered for detailed information.",
995                  }},
996     MessageEntry{"MEMctpInterfaceError",
997                  {
998                      "Indicates that Intel ME has encountered an error "
999                      "in MCTP protocol.",
1000                      "Intel ME has detected MCTP interface failure and it is "
1001                      "not functional any more. It may indicate the situation "
1002                      "when MCTP was not configured by BIOS or a defect which "
1003                      "may need a Host reset to recover from. Details: %1",
1004                      "Critical",
1005                      "Critical",
1006                      1,
1007                      {"string"},
1008                      "Recovery via CPU Host reset or platform reset. If error "
1009                      "is persistent, deep-dive platform-level debugging is "
1010                      "required.",
1011                  }},
1012     MessageEntry{"MemoryECCCorrectable",
1013                  {
1014                      "Indicates a Correctable Memory ECC error.",
1015                      "Memory ECC correctable error. Socket=%1 "
1016                      "Channel=%2 DIMM=%3 Rank=%4.",
1017                      "Warning",
1018                      "Warning",
1019                      4,
1020 
1021                      {
1022                          "number",
1023                          "string",
1024                          "number",
1025                          "number",
1026                      },
1027                      "None.",
1028                  }},
1029     MessageEntry{"MemoryECCUncorrectable",
1030                  {
1031                      "Indicates an Uncorrectable Memory ECC error.",
1032                      "Memory ECC uncorrectable error. Socket=%1 Channel=%2 "
1033                      "DIMM=%3 Rank=%4.",
1034                      "Critical",
1035                      "Critical",
1036                      4,
1037 
1038                      {
1039                          "number",
1040                          "string",
1041                          "number",
1042                          "number",
1043                      },
1044                      "None.",
1045                  }},
1046     MessageEntry{"MemoryParityCommandAndAddress",
1047                  {
1048                      "Indicates a Command and Address parity error.",
1049                      "Command and Address parity error. Socket=%1 Channel=%2 "
1050                      "DIMM=%3 ChannelValid=%4 DIMMValid=%5.",
1051                      "Critical",
1052                      "Critical",
1053                      5,
1054 
1055                      {
1056                          "number",
1057                          "string",
1058                          "number",
1059                          "number",
1060                          "number",
1061                      },
1062                      "None.",
1063                  }},
1064     MessageEntry{"MemoryParityNotKnown",
1065                  {
1066                      "Indicates an unknown parity error.",
1067                      "Memory parity error. Socket=%1 Channel=%2 "
1068                      "DIMM=%3 ChannelValid=%4 DIMMValid=%5.",
1069                      "Critical",
1070                      "Critical",
1071                      5,
1072 
1073                      {
1074                          "number",
1075                          "string",
1076                          "number",
1077                          "number",
1078                          "number",
1079                      },
1080                      "None.",
1081                  }},
1082     MessageEntry{"MemoryRASConfigurationDisabled",
1083                  {
1084                      "Indicates Memory RAS Disabled Configuration Status.",
1085                      "Memory RAS Configuration Disabled. Error=%1 Mode=%2.",
1086                      "OK",
1087                      "OK",
1088                      2,
1089 
1090                      {
1091                          "string",
1092                          "string",
1093                      },
1094                      "None.",
1095                  }},
1096     MessageEntry{"MemoryRASConfigurationEnabled",
1097                  {
1098                      "Indicates Memory RAS Enabled Configuration Status.",
1099                      "Memory RAS Configuration Enabled. Error=%1 Mode=%2.",
1100                      "OK",
1101                      "OK",
1102                      2,
1103 
1104                      {
1105                          "string",
1106                          "string",
1107                      },
1108                      "None.",
1109                  }},
1110     MessageEntry{"MemoryRASModeDisabled",
1111                  {
1112                      "Indicates Memory RAS Disabled Mode Selection.",
1113                      "Memory RAS Mode Select Disabled. Prior Mode=%1 "
1114                      "Selected Mode=%2.",
1115                      "OK",
1116                      "OK",
1117                      2,
1118 
1119                      {
1120                          "string",
1121                          "string",
1122                      },
1123                      "None.",
1124                  }},
1125     MessageEntry{"MemoryRASModeEnabled",
1126                  {
1127                      "Indicates Memory RAS Enabled Mode Selection.",
1128                      "Memory RAS Mode Select Enabled. Prior Mode=%1 Selected "
1129                      "Mode=%2.",
1130                      "OK",
1131                      "OK",
1132                      2,
1133 
1134                      {
1135                          "string",
1136                          "string",
1137                      },
1138                      "None.",
1139                  }},
1140     MessageEntry{"MemoryThermTrip",
1141                  {
1142                      "Indicates that the system memory ThermTrip is asserted "
1143                      "by the specified component.",
1144                      "Memory ThermTrip asserted: %1.",
1145                      "Critical",
1146                      "Critical",
1147                      1,
1148                      {"string"},
1149                      "None.",
1150                  }},
1151     MessageEntry{"MEMultiPchModeMisconfig",
1152                  {
1153                      "Indicates that Intel ME has encountered "
1154                      "problems in initializing Multi-PCH mode.",
1155                      "Intel ME error in Multi-PCH mode: %1",
1156                      "Critical",
1157                      "Critical",
1158                      1,
1159                      {"string"},
1160                      "None.",
1161                  }},
1162     MessageEntry{
1163         "MEPeciOverDmiError",
1164         {
1165             "Indicates that Intel ME is unable to communicate "
1166             "using PECI over DMI.",
1167             "Intel ME has detected  PECI over DMI interface failure "
1168             "and it is not functional any more. It may indicate the "
1169             "situation when PECI over DMI was not configured by "
1170             "BIOS or a defect which may require a CPU Host reset to "
1171             "recover from. Details: %1",
1172             "Critical",
1173             "Critical",
1174             1,
1175             {"string"},
1176             "Recovery via CPU Host reset or platform reset. If error is "
1177             "persistent, deep-dive platform-level debugging is required.",
1178         }},
1179     MessageEntry{
1180         "MEPttHealthEvent",
1181         {
1182             "Indicates that Intel ME has encountered issue with Intel PTT",
1183             "Intel ME has detected following issue with Intel PTT: %1",
1184             "Warning",
1185             "Warning",
1186             1,
1187             {"string"},
1188             "None.",
1189         }},
1190     MessageEntry{
1191         "MERecoveryGpioForced",
1192         {
1193             "Indicates that Intel ME image is booted in "
1194             "recovery mode due to GPIO assertion.",
1195             "Intel ME Recovery Image loaded due to recovery MGPIO "
1196             "pin asserted. Pin number is configurable in factory "
1197             "presets, Default recovery pin is MGPIO1.",
1198             "OK",
1199             "OK",
1200             0,
1201             {},
1202             "Deassert recovery GPIO and reset the Intel ME back to "
1203             "operational mode. If Recovery Jumper is in legacy behavior, "
1204             "a ME reset (eg. Cold Reset IPMI cmd) is needed to have ME "
1205             "back in operational mode.",
1206         }},
1207     MessageEntry{"MERestrictedMode",
1208                  {
1209                      "Indicates events related to Intel ME restricted mode.",
1210                      "Intel ME restricted mode information: %1",
1211                      "Critical",
1212                      "Critical",
1213                      1,
1214                      {"string"},
1215                      "None.",
1216                  }},
1217     MessageEntry{
1218         "MESmbusLinkFailure",
1219         {
1220             "Indicate that Intel ME encountered SMBus link error.",
1221             "Intel ME has detected SMBus link error. "
1222             "Sensor Bus: %1 , MUX Address: %2 ",
1223             "Critical",
1224             "Critical",
1225             2,
1226             {"string", "string"},
1227             "Devices connected to given SMLINK might cause communication "
1228             "corruption. See error code and refer to Intel ME External "
1229             "Interfaces Specification for details.",
1230         }},
1231     MessageEntry{
1232         "MEUmaError",
1233         {
1234             "Indicates that Intel ME has encountered UMA operation error.",
1235             "Intel ME has encountered UMA operation error. Details: %1",
1236             "Critical",
1237             "Critical",
1238             1,
1239             {"string"},
1240             "Platform reset when UMA not configured correctly, or when "
1241             "error occurred during normal operation on correctly "
1242             "configured UMA multiple times leading to Intel ME entering "
1243             "Recovery or restricted operational mode.",
1244         }},
1245     MessageEntry{"MEUnsupportedFeature",
1246                  {
1247                      "Indicates that Intel ME is configuration with "
1248                      "feature which is not supported on this platform.",
1249                      "Feature not supported in current segment detected by "
1250                      "Intel ME Firmware. Details: %1",
1251                      "Critical",
1252                      "Critical",
1253                      1,
1254                      {"string"},
1255                      "Proper FW configuration must be updated or use the "
1256                      "Flash device with proper FW configuration",
1257                  }},
1258     MessageEntry{"MirroringRedundancyDegraded",
1259                  {
1260                      "Indicates the mirroring redundancy state is degraded.",
1261                      "Mirroring redundancy state degraded. Socket=%1 "
1262                      "Channel=%2 DIMM=%3 Pair=%4 Rank=%5.",
1263                      "Warning",
1264                      "Warning",
1265                      5,
1266 
1267                      {
1268                          "number",
1269                          "string",
1270                          "number",
1271                          "number",
1272                          "number",
1273                      },
1274                      "None.",
1275                  }},
1276     MessageEntry{
1277         "MirroringRedundancyFull",
1278         {
1279             "Indicates the mirroring redundancy state is fully redundant.",
1280             "Mirroring redundancy state fully redundant. Socket=%1 "
1281             "Channel=%2 DIMM=%3 Pair=%4 Rank=%5.",
1282             "OK",
1283             "OK",
1284             5,
1285 
1286             {
1287                 "number",
1288                 "string",
1289                 "number",
1290                 "number",
1291                 "number",
1292             },
1293             "None.",
1294         }},
1295     MessageEntry{"NMIButtonPressed",
1296                  {
1297                      "Indicates that the NMI button was pressed.",
1298                      "NMI Button Pressed.",
1299                      "Critical",
1300                      "Critical",
1301                      0,
1302                      {},
1303                      "None.",
1304                  }},
1305     MessageEntry{"NMIDiagnosticInterrupt",
1306                  {
1307                      "Indicates that an NMI Diagnostic "
1308                      "Interrupt has been generated.",
1309                      "NMI Diagnostic Interrupt.",
1310                      "Critical",
1311                      "Critical",
1312                      0,
1313                      {},
1314                      "None.",
1315                  }},
1316     MessageEntry{"PCIeCorrectableAdvisoryNonFatal",
1317                  {
1318                      "Indicates a PCIe Correctable Advisory Non-fatal Error.",
1319                      "PCIe Correctable Advisory Non-fatal Error. Bus=%1 "
1320                      "Device=%2 Function=%3.",
1321                      "Warning",
1322                      "Warning",
1323                      3,
1324 
1325                      {
1326                          "number",
1327                          "number",
1328                          "number",
1329                      },
1330                      "None.",
1331                  }},
1332     MessageEntry{"PCIeCorrectableBadDLLP",
1333                  {
1334                      "Indicates a PCIe Correctable Bad DLLP Error.",
1335 
1336                      "PCIe Correctable Bad DLLP. Bus=%1 Device=%2 Function=%3.",
1337                      "Warning",
1338                      "Warning",
1339                      3,
1340 
1341                      {
1342                          "number",
1343                          "number",
1344                          "number",
1345                      },
1346                      "None.",
1347                  }},
1348     MessageEntry{"PCIeCorrectableBadTLP",
1349                  {
1350                      "Indicates a PCIe Correctable Bad TLP Error.",
1351 
1352                      "PCIe Correctable Bad TLP. Bus=%1 Device=%2 Function=%3.",
1353                      "Warning",
1354                      "Warning",
1355                      3,
1356 
1357                      {
1358                          "number",
1359                          "number",
1360                          "number",
1361                      },
1362                      "None.",
1363                  }},
1364     MessageEntry{"PCIeCorrectableHeaderLogOverflow",
1365                  {
1366                      "Indicates a PCIe Correctable Header Log Overflow Error.",
1367                      "PCIe Correctable Header Log Overflow. Bus=%1 Device=%2 "
1368                      "Function=%3.",
1369                      "Warning",
1370                      "Warning",
1371                      3,
1372 
1373                      {
1374                          "number",
1375                          "number",
1376                          "number",
1377                      },
1378                      "None.",
1379                  }},
1380     MessageEntry{"PCIeCorrectableInternal",
1381                  {
1382                      "Indicates a PCIe Correctable Internal Error.",
1383                      "PCIe Correctable Internal Error. Bus=%1 Device=%2 "
1384                      "Function=%3.",
1385                      "Warning",
1386                      "Warning",
1387                      3,
1388 
1389                      {
1390                          "number",
1391                          "number",
1392                          "number",
1393                      },
1394                      "None.",
1395                  }},
1396     MessageEntry{"PCIeCorrectableLinkBWChanged",
1397                  {
1398                      "Indicates a PCIe Correctable Link BW Changed Error.",
1399                      "PCIe Correctable Link BW Changed. Bus=%1 "
1400                      "Device=%2 Function=%3.",
1401                      "Warning",
1402                      "Warning",
1403                      3,
1404 
1405                      {
1406                          "number",
1407                          "number",
1408                          "number",
1409                      },
1410                      "None.",
1411                  }},
1412     MessageEntry{"PCIeCorrectableReceiverError",
1413                  {
1414                      "Indicates a PCIe Correctable Receiver Error.",
1415                      "PCIe Correctable Receiver Error. Bus=%1 Device=%2 "
1416                      "Function=%3.",
1417                      "Warning",
1418                      "Warning",
1419                      3,
1420 
1421                      {
1422                          "number",
1423                          "number",
1424                          "number",
1425                      },
1426                      "None.",
1427                  }},
1428     MessageEntry{"PCIeCorrectableReplayNumRollover",
1429                  {
1430                      "Indicates a PCIe Correctable Replay Num Rollover.",
1431                      "PCIe Correctable Replay Num Rollover. Bus=%1 Device=%2 "
1432                      "Function=%3.",
1433                      "Warning",
1434                      "Warning",
1435                      3,
1436 
1437                      {
1438                          "number",
1439                          "number",
1440                          "number",
1441                      },
1442                      "None.",
1443                  }},
1444     MessageEntry{"PCIeCorrectableReplayTimerTimeout",
1445                  {
1446                      "Indicates a PCIe Correctable Replay Timer Timeout.",
1447                      "PCIe Correctable Replay Timer Timeout. Bus=%1 "
1448                      "Device=%2 Function=%3.",
1449                      "Warning",
1450                      "Warning",
1451                      3,
1452 
1453                      {
1454                          "number",
1455                          "number",
1456                          "number",
1457                      },
1458                      "None.",
1459                  }},
1460     MessageEntry{"PCIeCorrectableUnspecifiedAERError",
1461                  {
1462                      "Indicates a PCIe Correctable Unspecified AER Error.",
1463                      "PCIe Correctable Unspecified AER Error. "
1464                      "Bus=%1 Device=%2 Function=%3.",
1465                      "Warning",
1466                      "Warning",
1467                      3,
1468 
1469                      {
1470                          "number",
1471                          "number",
1472                          "number",
1473                      },
1474                      "None.",
1475                  }},
1476     MessageEntry{"PCIeFatalACSViolation",
1477                  {
1478                      "Indicates a PCIe ACS Violation Error.",
1479 
1480                      "PCIe Fatal ACS Violation. Bus=%1 Device=%2 Function=%3.",
1481                      "Critical",
1482                      "Critical",
1483                      3,
1484 
1485                      {
1486                          "number",
1487                          "number",
1488                          "number",
1489                      },
1490                      "None.",
1491                  }},
1492     MessageEntry{"PCIeFatalAtomicEgressBlocked",
1493                  {
1494                      "Indicates a PCIe Atomic Egress Blocked Error.",
1495                      "PCIe Fatal Atomic Egress Blocked. Bus=%1 Device=%2 "
1496                      "Function=%3.",
1497                      "Critical",
1498                      "Critical",
1499                      3,
1500 
1501                      {
1502                          "number",
1503                          "number",
1504                          "number",
1505                      },
1506                      "None.",
1507                  }},
1508     MessageEntry{
1509         "PCIeFatalCompleterAbort",
1510         {
1511             "Indicates a PCIe Completer Abort Error.",
1512 
1513             "PCIe Fatal Completer Abort. Bus=%1 Device=%2 Function=%3.",
1514             "Critical",
1515             "Critical",
1516             3,
1517 
1518             {
1519                 "number",
1520                 "number",
1521                 "number",
1522             },
1523             "None.",
1524         }},
1525     MessageEntry{
1526         "PCIeFatalCompletionTimeout",
1527         {
1528             "Indicates a PCIe Completion Timeout Error.",
1529 
1530             "PCIe Fatal Completion Timeout. Bus=%1 Device=%2 Function=%3.",
1531             "Critical",
1532             "Critical",
1533             3,
1534 
1535             {
1536                 "number",
1537                 "number",
1538                 "number",
1539             },
1540             "None.",
1541         }},
1542     MessageEntry{
1543         "PCIeFatalDataLinkLayerProtocol",
1544         {
1545             "Indicates a PCIe Data Link Layer Protocol Error.",
1546 
1547             "PCIe Fatal Data Link Layer Protocol Error. Bus=%1 Device=%2 "
1548             "Function=%3.",
1549             "Critical",
1550             "Critical",
1551             3,
1552 
1553             {
1554                 "number",
1555                 "number",
1556                 "number",
1557             },
1558             "None.",
1559         }},
1560     MessageEntry{"PCIeFatalECRCError",
1561                  {
1562                      "Indicates a PCIe ECRC Error.",
1563                      "PCIe Fatal ECRC Error. Bus=%1 Device=%2 Function=%3.",
1564                      "Critical",
1565                      "Critical",
1566                      3,
1567 
1568                      {
1569                          "number",
1570                          "number",
1571                          "number",
1572                      },
1573                      "None.",
1574                  }},
1575     MessageEntry{"PCIeFatalFlowControlProtocol",
1576                  {
1577                      "Indicates a PCIe Flow Control Protocol Error.",
1578 
1579                      "PCIe Fatal Flow Control Protocol Error. Bus=%1 Device=%2 "
1580                      "Function=%3.",
1581                      "Critical",
1582                      "Critical",
1583                      3,
1584 
1585                      {
1586                          "number",
1587                          "number",
1588                          "number",
1589                      },
1590                      "None.",
1591                  }},
1592     MessageEntry{
1593         "PCIeFatalMalformedTLP",
1594         {
1595             "Indicates a PCIe Malformed TLP Error.",
1596 
1597             "PCIe Fatal Malformed TLP Error. Bus=%1 Device=%2 Function=%3.",
1598             "Critical",
1599             "Critical",
1600             3,
1601 
1602             {
1603                 "number",
1604                 "number",
1605                 "number",
1606             },
1607             "None.",
1608         }},
1609     MessageEntry{"PCIeFatalMCBlockedTLP",
1610                  {
1611                      "Indicates a PCIe MC Blocked TLP Error.",
1612                      "PCIe Fatal MC Blocked TLP Error. Bus=%1 "
1613                      "Device=%2 Function=%3.",
1614                      "Critical",
1615                      "Critical",
1616                      3,
1617 
1618                      {
1619                          "number",
1620                          "number",
1621                          "number",
1622                      },
1623                      "None.",
1624                  }},
1625     MessageEntry{
1626         "PCIeFatalPoisonedTLP",
1627         {
1628             "Indicates a PCIe Poisoned TLP Error.",
1629 
1630             "PCIe Fatal Poisoned TLP Error. Bus=%1 Device=%2 Function=%3.",
1631             "Critical",
1632             "Critical",
1633             3,
1634 
1635             {
1636                 "number",
1637                 "number",
1638                 "number",
1639             },
1640             "None.",
1641         }},
1642     MessageEntry{"PCIeFatalReceiverBufferOverflow",
1643                  {
1644                      "Indicates a PCIe Receiver Buffer Overflow Error.",
1645                      "PCIe Fatal Receiver Buffer Overflow. Bus=%1 Device=%2 "
1646                      "Function=%3.",
1647                      "Critical",
1648                      "Critical",
1649                      3,
1650 
1651                      {
1652                          "number",
1653                          "number",
1654                          "number",
1655                      },
1656                      "None.",
1657                  }},
1658     MessageEntry{
1659         "PCIeFatalReceivedErrNonFatalMessage",
1660         {
1661             "Indicates a PCIe Received ERR_NONFATAL Message Error.",
1662 
1663             "PCIe Fatal Received ERR_NONFATAL Message. Bus=%1 Device=%2 "
1664             "Function=%3.",
1665             "Critical",
1666             "Critical",
1667             3,
1668 
1669             {
1670                 "number",
1671                 "number",
1672                 "number",
1673             },
1674             "None.",
1675         }},
1676     MessageEntry{"PCIeFatalReceivedFatalMessageFromDownstream",
1677                  {
1678                      "Indicates a PCIe Received Fatal Message "
1679                      "From Downstream Error.",
1680 
1681                      "PCIe Fatal Received Fatal Message From Downstream. "
1682                      "Bus=%1 Device=%2 Function=%3.",
1683                      "Critical",
1684                      "Critical",
1685                      3,
1686 
1687                      {
1688                          "number",
1689                          "number",
1690                          "number",
1691                      },
1692                      "None.",
1693                  }},
1694     MessageEntry{"PCIeFatalSurpriseLinkDown",
1695                  {
1696                      "Indicates a PCIe Surprise Link Down Error.",
1697                      "PCIe Fatal Surprise Link Down Error. Bus=%1 Device=%2 "
1698                      "Function=%3.",
1699                      "Critical",
1700                      "Critical",
1701                      3,
1702 
1703                      {
1704                          "number",
1705                          "number",
1706                          "number",
1707                      },
1708                      "None.",
1709                  }},
1710     MessageEntry{"PCIeFatalTLPPrefixBlocked",
1711                  {
1712                      "Indicates a PCIe TLP Prefix Blocked Error.",
1713                      "PCIe Fatal TLP Prefix Blocked Error. Bus=%1 Device=%2 "
1714                      "Function=%3.",
1715                      "Critical",
1716                      "Critical",
1717                      3,
1718 
1719                      {
1720                          "number",
1721                          "number",
1722                          "number",
1723                      },
1724                      "None.",
1725                  }},
1726     MessageEntry{
1727         "PCIeFatalUncorrectableInternal",
1728         {
1729             "Indicates a PCIe Uncorrectable Internal Error.",
1730 
1731             "PCIe Fatal Uncorrectable Internal Error. Bus=%1 Device=%2 "
1732             "Function=%3.",
1733             "Critical",
1734             "Critical",
1735             3,
1736 
1737             {
1738                 "number",
1739                 "number",
1740                 "number",
1741             },
1742             "None.",
1743         }},
1744     MessageEntry{"PCIeFatalUnexpectedCompletion",
1745                  {
1746                      "Indicates a PCIe Unexpected Completion Error.",
1747                      "PCIe Fatal Unexpected Completion. Bus=%1 Device=%2 "
1748                      "Function=%3.",
1749                      "Critical",
1750                      "Critical",
1751                      3,
1752 
1753                      {
1754                          "number",
1755                          "number",
1756                          "number",
1757                      },
1758                      "None.",
1759                  }},
1760     MessageEntry{"PCIeFatalUnspecifiedNonAERFatalError",
1761                  {
1762                      "Indicates a PCIe Unspecified Non-AER Fatal Error.",
1763                      "PCIe Fatal Unspecified Non-AER Fatal Error. Bus=%1 "
1764                      "Device=%2 Function=%3.",
1765                      "Critical",
1766                      "Critical",
1767                      3,
1768 
1769                      {
1770                          "number",
1771                          "number",
1772                          "number",
1773                      },
1774                      "None.",
1775                  }},
1776     MessageEntry{
1777         "PCIeFatalUnsupportedRequest",
1778         {
1779             "Indicates a PCIe Unsupported Request Error.",
1780 
1781             "PCIe Fatal Unsupported Request. Bus=%1 Device=%2 Function=%3.",
1782             "Critical",
1783             "Critical",
1784             3,
1785 
1786             {
1787                 "number",
1788                 "number",
1789                 "number",
1790             },
1791             "None.",
1792         }},
1793     MessageEntry{"PowerButtonPressed",
1794                  {
1795                      "Indicates that the power button was pressed.",
1796                      "Power Button Pressed.",
1797                      "OK",
1798                      "OK",
1799                      0,
1800                      {},
1801                      "None.",
1802                  }},
1803     MessageEntry{"PowerRestorePolicyApplied",
1804                  {
1805                      "Indicates that power was restored and the "
1806                      "BMC has applied the restore policy.",
1807                      "Power restore policy applied.",
1808                      "OK",
1809                      "OK",
1810                      0,
1811                      {},
1812                      "None.",
1813                  }},
1814     MessageEntry{"PowerSupplyConfigurationError",
1815                  {
1816                      "Indicates an error in power supply configuration.",
1817                      "Power supply %1 configuration error.",
1818                      "Warning",
1819                      "Warning",
1820                      1,
1821                      {"string"},
1822                      "None.",
1823                  }},
1824     MessageEntry{
1825         "PowerSupplyConfigurationErrorRecovered",
1826         {
1827             "Indicates that power supply configuration error recovered "
1828             "from a failure.",
1829             "Power supply %1 configuration error recovered.",
1830             "OK",
1831             "OK",
1832             1,
1833             {"string"},
1834             "None.",
1835         }},
1836     MessageEntry{
1837         "PowerSupplyFanFailed",
1838         {
1839             "Indicates that the specified power supply fan has failed.",
1840             "Power supply %1 fan %2 failed.",
1841             "Warning",
1842             "Warning",
1843             2,
1844             {"string", "string"},
1845             "None.",
1846         }},
1847     MessageEntry{
1848         "PowerSupplyFanRecovered",
1849         {
1850             "Indicates that the power supply fan recovered from a failure.",
1851             "Power supply %1 fan %2 recovered.",
1852             "OK",
1853             "OK",
1854             2,
1855             {"string", "string"},
1856             "None.",
1857         }},
1858     MessageEntry{"PowerSupplyFailed",
1859                  {
1860                      "Indicates that a power supply has failed.",
1861                      "Power supply %1 failed.",
1862                      "Warning",
1863                      "Warning",
1864                      1,
1865                      {"string"},
1866                      "None.",
1867                  }},
1868     MessageEntry{"PowerSupplyFailurePredicted",
1869                  {
1870                      "Indicates that a power supply is predicted to fail.",
1871                      "Power supply %1 failure predicted.",
1872                      "Warning",
1873                      "Warning",
1874                      1,
1875                      {"string"},
1876                      "None.",
1877                  }},
1878     MessageEntry{"PowerSupplyInserted",
1879                  {
1880                      "Indicates that a power supply has been inserted.",
1881                      "Power supply %1 inserted.",
1882                      "OK",
1883                      "OK",
1884                      1,
1885                      {"string"},
1886                      "None.",
1887                  }},
1888     MessageEntry{"PowerSupplyPowerGoodFailed",
1889                  {
1890                      "Indicates that the power supply power good signal "
1891                      "failed to assert within the specified time.",
1892                      "Power supply power good failed to assert within %1 "
1893                      "milliseconds.",
1894                      "Critical",
1895                      "Critical",
1896                      1,
1897                      {"number"},
1898                      "None.",
1899                  }},
1900     MessageEntry{"PowerSupplyPowerLost",
1901                  {
1902                      "Indicates that a power supply has lost input power.",
1903                      "Power supply %1 power lost.",
1904                      "Warning",
1905                      "Warning",
1906                      1,
1907                      {"string"},
1908                      "None.",
1909                  }},
1910     MessageEntry{"PowerSupplyPowerRestored",
1911                  {
1912                      "Indicates that a power supply input power was restored.",
1913                      "Power supply %1 power restored.",
1914                      "OK",
1915                      "OK",
1916                      1,
1917                      {"string"},
1918                      "None.",
1919                  }},
1920     MessageEntry{"PowerSupplyPredictedFailureRecovered",
1921                  {
1922                      "Indicates that a power supply recovered "
1923                      "from a predicted failure.",
1924                      "Power supply %1 predicted failure recovered.",
1925                      "OK",
1926                      "OK",
1927                      1,
1928                      {"string"},
1929                      "None.",
1930                  }},
1931     MessageEntry{"PowerSupplyRecovered",
1932                  {
1933                      "Indicates that a power supply recovered from a failure.",
1934                      "Power supply %1 recovered.",
1935                      "OK",
1936                      "OK",
1937                      1,
1938                      {"string"},
1939                      "None.",
1940                  }},
1941     MessageEntry{"PowerSupplyRemoved",
1942                  {
1943                      "Indicates that a power supply has been removed.",
1944                      "Power supply %1 removed.",
1945                      "Warning",
1946                      "Warning",
1947                      1,
1948                      {"string"},
1949                      "None.",
1950                  }},
1951     MessageEntry{"PowerUnitDegradedFromNonRedundant",
1952                  {
1953                      "Indicates that power unit is come back to redundant from"
1954                      "nonredundant but is still not in full redundancy mode.",
1955                      "Power Unit degraded from nonredundant.",
1956                      "Warning",
1957                      "Warning",
1958                      0,
1959                      {},
1960                      "None.",
1961                  }},
1962     MessageEntry{"PowerUnitDegradedFromRedundant",
1963                  {
1964                      "Indicates that power unit is degarded from full "
1965                      "redundancy mode.",
1966                      "Power Unit degraded from redundant.",
1967                      "Warning",
1968                      "Warning",
1969                      0,
1970                      {},
1971                      "None.",
1972                  }},
1973     MessageEntry{"PowerUnitRedundancyDegraded",
1974                  {
1975                      "Indicates that power unit redundancy has been degraded.",
1976                      "Power Unit Redundancy degraded.",
1977                      "Warning",
1978                      "Warning",
1979                      0,
1980                      {},
1981                      "None.",
1982                  }},
1983     MessageEntry{
1984         "PowerUnitNonRedundantFromInsufficient",
1985         {
1986             "Indicates that power unit is not in redundancy mode and get"
1987             "sufficient power to support redundancy from insufficient"
1988             "power.",
1989 
1990             "Power Unit NonRedundant from insufficient to sufficient.",
1991             "Warning",
1992             "Warning",
1993             0,
1994             {},
1995             "None.",
1996         }},
1997     MessageEntry{"PowerUnitNonRedundantInsufficient",
1998                  {
1999                      "Indicates that power unit do not have sufficient "
2000                      "power to support redundancy.",
2001                      "Power Unit NonRedundant and has insufficient resource.",
2002                      "Critical",
2003                      "Critical",
2004                      0,
2005                      {},
2006                      "None.",
2007                  }},
2008     MessageEntry{"PowerUnitRedundancyLost",
2009                  {
2010                      "Indicates that power unit redundancy has been lost.",
2011                      "Power Unit Redundancy lost.",
2012                      "Warning",
2013                      "Warning",
2014                      0,
2015                      {},
2016                      "None.",
2017                  }},
2018     MessageEntry{
2019         "PowerUnitRedundancyRegained",
2020         {
2021             "Indicates that power unit full redundancy has been regained.",
2022             "Power Unit Redundancy regained.",
2023             "OK",
2024             "OK",
2025             0,
2026             {},
2027             "None.",
2028         }},
2029     MessageEntry{
2030         "PowerUnitNonRedundantSufficient",
2031         {
2032             "Indicates that power unit is not in redundancy mode but still"
2033             "has sufficient power to support redundancy.",
2034             "Power Unit Nonredundant but has sufficient resource.",
2035             "Warning",
2036             "Warning",
2037             0,
2038             {},
2039             "None.",
2040         }},
2041     MessageEntry{"ResetButtonPressed",
2042                  {
2043                      "Indicates that the reset button was pressed.",
2044                      "Reset Button Pressed.",
2045                      "OK",
2046                      "OK",
2047                      0,
2048                      {},
2049                      "None.",
2050                  }},
2051     MessageEntry{"SecurityBoot2ndFlashEnabled",
2052                  {
2053                      "Indicates that the BMC 2nd boot flash is enabled.",
2054                      "BMC 2nd boot flash is enabled.",
2055                      "Critical",
2056                      "Critical",
2057                      0,
2058                      {},
2059                      "None.",
2060                  }},
2061     MessageEntry{"SecurityP2aBridgeEnabled",
2062                  {
2063                      "Indicates that the P2A bridge is enabled.",
2064                      "P2A(PCIe to AHB) bridge is enabled.",
2065                      "Critical",
2066                      "Critical",
2067                      0,
2068                      {},
2069                      "None.",
2070                  }},
2071     MessageEntry{"SecurityUartPortDebugEnabled",
2072                  {
2073                      "Indicates that the uart port debug is enabled.",
2074                      "Uart port debug is enabled.",
2075                      "Critical",
2076                      "Critical",
2077                      0,
2078                      {},
2079                      "None.",
2080                  }},
2081     MessageEntry{
2082         "SecurityUserStrongHashAlgoRestored",
2083         {
2084             "Indicates that password computing hash algorithm changed.",
2085             "Password computing hash algorithm is changed to sha256/sha512.",
2086             "OK",
2087             "OK",
2088             0,
2089             {},
2090             "None.",
2091         }},
2092 
2093     MessageEntry{"SecurityUserNonRootUidZeroAssigned",
2094                  {
2095                      "Indicates that non root user assigned with user ID zero.",
2096                      "User ID Zero is assigned with non-root user.",
2097                      "Critical",
2098                      "Critical",
2099                      0,
2100                      {},
2101                      "None.",
2102                  }},
2103     MessageEntry{"SecurityUserNonRootUidZeroRemoved",
2104                  {
2105                      "Indicates that non root user ID is removed",
2106                      "Non root user assigned with user ID zero is removed.",
2107                      "OK",
2108                      "OK",
2109                      0,
2110                      {},
2111                      "None.",
2112                  }},
2113 
2114     MessageEntry{"SecurityUserRootEnabled",
2115                  {
2116                      "Indicates that system root user is enabled.",
2117                      "User root is enabled.",
2118                      "Critical",
2119                      "Critical",
2120                      0,
2121                      {},
2122                      "None.",
2123                  }},
2124     MessageEntry{"SecurityUserRootDisabled",
2125                  {
2126                      "Indicates that system root user is disabled.",
2127                      "User root is disabled.",
2128                      "OK",
2129                      "OK",
2130                      0,
2131                      {},
2132                      "None.",
2133                  }},
2134 
2135     MessageEntry{"SecurityUserUnsupportedShellEnabled",
2136                  {
2137                      "Indicates that unsupported shell is enabled.",
2138                      "Unsupported shell is enabled.",
2139                      "Critical",
2140                      "Critical",
2141                      0,
2142                      {},
2143                      "None.",
2144                  }},
2145     MessageEntry{"SecurityUserUnsupportedShellRemoved",
2146                  {
2147                      "Indicates that unsupported shell is removed.",
2148                      "Unsupported shell is removed.",
2149                      "OK",
2150                      "OK",
2151                      0,
2152                      {},
2153                      "None.",
2154                  }},
2155 
2156     MessageEntry{
2157         "SecurityUserWeakHashAlgoEnabled",
2158         {
2159             "Indicates that weak password computing hash algorithm is enabled.",
2160             "Weak password computing hash algorithm is enabled.",
2161             "Critical",
2162             "Critical",
2163             0,
2164             {},
2165             "None.",
2166         }},
2167     MessageEntry{"SELEntryAdded",
2168                  {
2169                      "Indicates a SEL entry was added using the "
2170                      "Add SEL Entry or Platform Event command.",
2171                      "SEL Entry Added: %1",
2172                      "OK",
2173                      "OK",
2174                      1,
2175 
2176                      {
2177                          "string",
2178                      },
2179                      "None.",
2180                  }},
2181     MessageEntry{"SensorThresholdCriticalHighGoingHigh",
2182                  {
2183                      "Indicates that a threshold sensor has crossed a "
2184                      "critical high threshold going high.",
2185                      "%1 sensor crossed a critical high threshold going "
2186                      "high. Reading=%2 Threshold=%3.",
2187                      "Critical",
2188                      "Critical",
2189                      3,
2190                      {"string", "number", "number"},
2191                      "Check the sensor or subsystem for errors.",
2192                  }},
2193     MessageEntry{"SensorThresholdCriticalHighGoingLow",
2194                  {
2195                      "Indicates that a threshold sensor has crossed a "
2196                      "critical high threshold going low.",
2197                      "%1 sensor crossed a critical high threshold going low. "
2198                      "Reading=%2 Threshold=%3.",
2199                      "OK",
2200                      "OK",
2201                      3,
2202                      {"string", "number", "number"},
2203                      "None.",
2204                  }},
2205     MessageEntry{"SensorThresholdCriticalLowGoingHigh",
2206                  {
2207                      "Indicates that a threshold sensor has crossed a "
2208                      "critical low threshold going high.",
2209                      "%1 sensor crossed a critical low threshold going high. "
2210                      "Reading=%2 Threshold=%3.",
2211                      "OK",
2212                      "OK",
2213                      3,
2214                      {"string", "number", "number"},
2215                      "None.",
2216                  }},
2217     MessageEntry{"SensorThresholdCriticalLowGoingLow",
2218                  {
2219                      "Indicates that a threshold sensor has crossed a "
2220                      "critical low threshold going low.",
2221                      "%1 sensor crossed a critical low threshold going low. "
2222                      "Reading=%2 Threshold=%3.",
2223                      "Critical",
2224                      "Critical",
2225                      3,
2226                      {"string", "number", "number"},
2227                      "Check the sensor or subsystem for errors.",
2228                  }},
2229     MessageEntry{"SensorThresholdWarningHighGoingHigh",
2230                  {
2231                      "Indicates that a threshold sensor has crossed a "
2232                      "warning high threshold going high.",
2233                      "%1 sensor crossed a warning high threshold going high. "
2234                      "Reading=%2 Threshold=%3.",
2235                      "Warning",
2236                      "Warning",
2237                      3,
2238                      {"string", "number", "number"},
2239                      "Check the sensor or subsystem for errors.",
2240                  }},
2241     MessageEntry{"SensorThresholdWarningHighGoingLow",
2242                  {
2243                      "Indicates that a threshold sensor has crossed a "
2244                      "warning high threshold going low.",
2245                      "%1 sensor crossed a warning high threshold going low. "
2246                      "Reading=%2 Threshold=%3.",
2247                      "OK",
2248                      "OK",
2249                      3,
2250                      {"string", "number", "number"},
2251                      "None.",
2252                  }},
2253     MessageEntry{"SensorThresholdWarningLowGoingHigh",
2254                  {
2255                      "Indicates that a threshold sensor has crossed a "
2256                      "warning low threshold going high.",
2257                      "%1 sensor crossed a warning low threshold going high. "
2258                      "Reading=%2 Threshold=%3.",
2259                      "OK",
2260                      "OK",
2261                      3,
2262                      {"string", "number", "number"},
2263                      "None.",
2264                  }},
2265     MessageEntry{"SensorThresholdWarningLowGoingLow",
2266                  {
2267                      "Indicates that a threshold sensor has crossed a "
2268                      "warning low threshold going low.",
2269                      "%1 sensor crossed a warning low threshold going low. "
2270                      "Reading=%2 Threshold=%3.",
2271                      "Warning",
2272                      "Warning",
2273                      3,
2274                      {"string", "number", "number"},
2275                      "Check the sensor or subsystem for errors.",
2276                  }},
2277     MessageEntry{"ServiceFailure",
2278                  {
2279                      "Indicates that a service has exited unsuccessfully.",
2280                      "Service %1 has exited unsuccessfully.",
2281                      "Warning",
2282                      "Warning",
2283                      1,
2284                      {"string"},
2285                      "None.",
2286                  }},
2287     MessageEntry{"SparingRedundancyDegraded",
2288                  {
2289                      "Indicates the sparing redundancy state is degraded.",
2290                      "Sparing redundancy state degraded. Socket=%1 "
2291                      "Channel=%2 DIMM=%3 Domain=%4 Rank=%5.",
2292                      "Warning",
2293                      "Warning",
2294                      5,
2295 
2296                      {
2297                          "number",
2298                          "string",
2299                          "number",
2300                          "string",
2301                          "number",
2302                      },
2303                      "None.",
2304                  }},
2305     MessageEntry{
2306         "SparingRedundancyFull",
2307         {
2308             "Indicates the sparing redundancy state is fully redundant.",
2309             "Sparing redundancy state fully redundant. Socket=%1 "
2310             "Channel=%2 DIMM=%3 Domain=%4 Rank=%5.",
2311             "OK",
2312             "OK",
2313             5,
2314 
2315             {
2316                 "number",
2317                 "string",
2318                 "number",
2319                 "string",
2320                 "number",
2321             },
2322             "None.",
2323         }},
2324     MessageEntry{"SsbThermalTrip",
2325                  {
2326                      "Indicates that an SSB Thermal trip has been asserted.",
2327                      "SSB Thermal trip.",
2328                      "Critical",
2329                      "Critical",
2330                      0,
2331                      {},
2332                      "None.",
2333                  }},
2334     MessageEntry{"SystemInterfaceDisabledProvisioned",
2335                  {
2336                      "Indicates that the system interface is in the disabled "
2337                      "provisioned state. All commands are blocked to execute "
2338                      "through the system interface.",
2339                      "The system interface is in the disabled provisioned "
2340                      "state.",
2341                      "OK",
2342                      "OK",
2343                      0,
2344                      {},
2345                      "None.",
2346                  }},
2347     MessageEntry{"SystemInterfaceUnprovisioned",
2348                  {
2349                      "Indicates that the system interface is in the "
2350                      "unprovisioned state. All commands are permitted to "
2351                      "execute through the system interface.",
2352                      "The system interface is in the unprovisioned state.",
2353                      "Critical",
2354                      "Critical",
2355                      0,
2356                      {},
2357                      "None.",
2358                  }},
2359     MessageEntry{"SystemInterfaceWhitelistProvisioned",
2360                  {
2361                      "Indicates that the system interface is in the whitelist "
2362                      "provisioned state. Only whitelisted commands "
2363                      "are permitted to execute through the system interface.",
2364                      "The system interface is in the whitelist provisioned "
2365                      "state.",
2366                      "Warning",
2367                      "Warning",
2368                      0,
2369                      {},
2370                      "None.",
2371                  }},
2372     MessageEntry{"SystemPowerGoodFailed",
2373                  {
2374                      "Indicates that the system power good signal failed "
2375                      "to assert within the specified time (VR failure).",
2376                      "System power good failed to assert within %1 "
2377                      "milliseconds (VR failure).",
2378                      "Critical",
2379                      "Critical",
2380                      1,
2381                      {"number"},
2382                      "None.",
2383                  }},
2384     MessageEntry{"SystemPowerLost",
2385                  {
2386                      "Indicates that power was lost while the "
2387                      "system was powered on.",
2388                      "System Power Lost.",
2389                      "Critical",
2390                      "Critical",
2391                      0,
2392                      {},
2393                      "None.",
2394                  }},
2395     MessageEntry{"SystemPowerOffFailed",
2396                  {
2397                      "Indicates that the system failed to power off.",
2398                      "System Power-Off Failed.",
2399                      "Critical",
2400                      "Critical",
2401                      0,
2402                      {},
2403                      "None.",
2404                  }},
2405     MessageEntry{"SystemPowerOnFailed",
2406                  {
2407                      "Indicates that the system failed to power on.",
2408                      "System Power-On Failed.",
2409                      "Critical",
2410                      "Critical",
2411                      0,
2412                      {},
2413                      "None.",
2414                  }},
2415     MessageEntry{
2416         "VoltageRegulatorOverheated",
2417         {
2418             "Indicates that the specified voltage regulator overheated.",
2419             "%1 Voltage Regulator Overheated.",
2420             "Critical",
2421             "Critical",
2422             1,
2423             {"string"},
2424             "None.",
2425         }},
2426 
2427 };
2428 } // namespace redfish::message_registries::openbmc
2429