blob: 3a8021fc0acee35d3b294c49871f232106064afa [file] [log] [blame]
Lawrence Tang617949e2022-08-08 14:21:42 +01001{
Ed Tanousb07061a2024-09-22 10:33:29 -07002 "$id": "cper-json-full-log",
3 "$schema": "https://json-schema.org/draft/2020-12/schema",
Lawrence Tang617949e2022-08-08 14:21:42 +01004 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -08005 "description": "A Common Platform Error Record as defined in UEFI Specification Appendix N represented as JSON.",
Lawrence Tang617949e2022-08-08 14:21:42 +01006 "required": ["header", "sectionDescriptors", "sections"],
7 "additionalProperties": false,
8 "properties": {
9 "header": {
10 "$ref": "./cper-json-header.json"
11 },
12 "sectionDescriptors": {
13 "type": "array",
14 "items": {
15 "type": "object",
16 "$ref": "./cper-json-section-descriptor.json"
17 }
18 },
19 "sections": {
20 "type": "array",
21 "items": {
22 "type": "object",
23 "oneOf": [
Ed Tanousb07061a2024-09-22 10:33:29 -070024 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070025 "$id": "cper-json-generic-processor-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070026 "type": "object",
27 "required": ["GenericProcessor"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070028 "properties": {
29 "GenericProcessor": {
30 "$ref": "./sections/cper-generic-processor.json"
31 }
Ed Tanousb07061a2024-09-22 10:33:29 -070032 }
33 },
34 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070035 "$id": "cper-json-ia32x64-processor-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070036 "type": "object",
37 "required": ["Ia32x64Processor"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070038 "properties": {
39 "Ia32x64Processor": {
40 "$ref": "./sections/cper-ia32x64-processor.json"
41 }
Ed Tanousb07061a2024-09-22 10:33:29 -070042 }
43 },
44 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070045 "$id": "cper-json-arm-processor-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070046 "type": "object",
47 "required": ["ArmProcessor"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070048 "properties": {
49 "ArmProcessor": {
50 "$ref": "./sections/cper-arm-processor.json"
51 }
Ed Tanousb07061a2024-09-22 10:33:29 -070052 }
53 },
54 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070055 "$id": "cper-json-memory-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070056 "type": "object",
57 "required": ["Memory"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070058 "properties": {
59 "Memory": {
60 "$ref": "./sections/cper-memory.json"
61 }
Ed Tanousb07061a2024-09-22 10:33:29 -070062 }
63 },
64 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070065 "$id": "cper-json-memory2-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070066 "type": "object",
67 "required": ["Memory2"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070068 "properties": {
69 "Memory2": {
70 "$ref": "./sections/cper-memory2.json"
71 }
Ed Tanousb07061a2024-09-22 10:33:29 -070072 }
73 },
74 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070075 "$id": "cper-json-pcie-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070076 "type": "object",
77 "required": ["Pcie"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070078 "properties": {
79 "Pcie": {
80 "$ref": "./sections/cper-pcie.json"
81 }
Ed Tanousb07061a2024-09-22 10:33:29 -070082 }
83 },
84 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070085 "$id": "cper-json-pci-bus-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070086 "type": "object",
87 "required": ["PciBus"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070088 "properties": {
89 "PciBus": {
90 "$ref": "./sections/cper-pci-bus.json"
91 }
Ed Tanousb07061a2024-09-22 10:33:29 -070092 }
93 },
94 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070095 "$id": "cper-json-pci-component-section",
Ed Tanousb07061a2024-09-22 10:33:29 -070096 "type": "object",
97 "required": ["PciComponent"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070098 "properties": {
99 "PciComponent": {
100 "$ref": "./sections/cper-pci-component.json"
101 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700102 }
103 },
104 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700105 "$id": "cper-json-firmware-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700106 "type": "object",
107 "required": ["Firmware"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700108 "properties": {
109 "Firmware": {
110 "$ref": "./sections/cper-firmware.json"
111 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700112 }
113 },
114 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700115 "$id": "cper-json-generic-dmar-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700116 "type": "object",
117 "required": ["GenericDmar"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700118 "properties": {
119 "GenericDmar": {
120 "$ref": "./sections/cper-generic-dmar.json"
121 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700122 }
123 },
124 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700125 "$id": "cper-json-vtd-dmar-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700126 "type": "object",
127 "required": ["VtdDmar"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700128 "properties": {
129 "VtdDmar": {
130 "$ref": "./sections/cper-vtd-dmar.json"
131 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700132 }
133 },
134 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700135 "$id": "cper-json-iommu-dmar-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700136 "type": "object",
137 "required": ["IommuDmar"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700138 "properties": {
139 "IommuDmar": {
140 "$ref": "./sections/cper-iommu-dmar.json"
141 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700142 }
143 },
144 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700145 "$id": "cper-json-ccix-per-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700146 "type": "object",
147 "required": ["CcixPer"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700148 "properties": {
149 "CcixPer": {
150 "$ref": "./sections/cper-ccix-per.json"
151 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700152 }
153 },
154 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700155 "$id": "cper-json-cxl-protocol-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700156 "type": "object",
157 "required": ["CxlProtocol"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700158 "properties": {
159 "CxlProtocol": {
160 "$ref": "./sections/cper-cxl-protocol.json"
161 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700162 }
163 },
164 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700165 "$id": "cper-json-cxl-component-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700166 "type": "object",
167 "required": ["CxlComponent"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700168 "properties": {
169 "CxlComponent": {
170 "$ref": "./sections/cper-cxl-component.json"
171 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700172 }
173 },
174 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700175 "$id": "cper-json-nvidia-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700176 "type": "object",
177 "required": ["Nvidia"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700178 "properties": {
179 "Nvidia": {
180 "$ref": "./sections/cper-nvidia.json"
181 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700182 }
183 },
184 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700185 "$id": "cper-json-ampere-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700186 "type": "object",
187 "required": ["Ampere"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700188 "properties": {
189 "Nvidia": {
190 "$ref": "./sections/cper-ampere.json"
191 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700192 }
193 },
194 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700195 "$id": "cper-json-unknown-section",
Ed Tanousb07061a2024-09-22 10:33:29 -0700196 "type": "object",
197 "required": ["Unknown"],
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -0700198 "properties": {
199 "Unknown": {
200 "$ref": "./sections/cper-unknown.json"
201 }
Ed Tanousb07061a2024-09-22 10:33:29 -0700202 }
203 }
Lawrence Tang617949e2022-08-08 14:21:42 +0100204 ]
205 }
206 }
207 }
John Chung044afd02024-05-03 19:58:02 +0800208}