1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 /****************************************************************
5 * READ THIS WARNING FIRST
6 * This is an auto-generated header which contains definitions
7 * for Redfish DMTF defined messages.
8 * DO NOT modify this registry outside of running the
9 * parse_registries.py script. The definitions contained within
10 * this file are owned by DMTF. Any modifications to these files
11 * should be first pushed to the relevant registry in the DMTF
12 * github organization.
13 ***************************************************************/
14 #include "registries.hpp"
15
16 #include <array>
17
18 // clang-format off
19
20 namespace redfish::registries
21 {
22 struct Platform
23 {
24 static constexpr Header header = {
25 "Copyright 2023 DMTF. All rights reserved.",
26 "#MessageRegistry.v1_6_2.MessageRegistry",
27 1,
28 0,
29 1,
30 "Compute Platform Message Registry",
31 "en",
32 "This registry defines messages for compute platforms, covering topics related to processor, memory, and I/O device connectivity.",
33 "Platform",
34 "DMTF",
35 };
36
37 static constexpr const char* url =
38 "https://redfish.dmtf.org/registries/Platform.1.0.1.json";
39
40 static constexpr std::array registry =
41 {
42 MessageEntry{
43 "OperatingSystemCrash",
44 {
45 "Indicates the operating system was halted due to a catastrophic error.",
46 "An operating system crash occurred.",
47 "Critical",
48 0,
49 {},
50 "Check additional diagnostic data if available.",
51 }},
52 MessageEntry{
53 "PlatformError",
54 {
55 "Indicates that a platform error occurred.",
56 "A platform error occurred.",
57 "Warning",
58 0,
59 {},
60 "Check additional diagnostic data if available.",
61 }},
62 MessageEntry{
63 "PlatformErrorAtLocation",
64 {
65 "Indicates that a platform error occurred and device or other location information is available.",
66 "A platform error occurred at location '%1'.",
67 "Warning",
68 1,
69 {
70 "string",
71 },
72 "Check additional diagnostic data if available.",
73 }},
74 MessageEntry{
75 "UnhandledExceptionDetectedAfterReset",
76 {
77 "Indicates that an unhandled exception caused the platform to reset.",
78 "An unhandled exception caused a platform reset.",
79 "Critical",
80 0,
81 {},
82 "Check additional diagnostic data if available.",
83 }},
84
85 };
86
87 enum class Index
88 {
89 operatingSystemCrash = 0,
90 platformError = 1,
91 platformErrorAtLocation = 2,
92 unhandledExceptionDetectedAfterReset = 3,
93 };
94 }; // struct platform
95
registerPlatform()96 [[gnu::constructor]] inline void registerPlatform()
97 { registerRegistry<Platform>(); }
98
99 } // namespace redfish::registries
100