blob: 302adc92e2d32691af386c28782bcb183867b180 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
2 "$id": "cper-json",
3 "$schema": "https://json-schema.org/draft/2020-12/schema",
4 "description": "JSON Schema for the CPER-JSON format, as described in the CPER-JSON specification document.",
5 "type": "object",
6 "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": [
24 { "$ref": "./sections/cper-generic-processor.json" },
25 { "$ref": "./sections/cper-ia32x64-processor.json" },
26 { "$ref": "./sections/cper-arm-processor.json" },
27 { "$ref": "./sections/cper-memory.json" },
28 { "$ref": "./sections/cper-memory2.json" },
29 { "$ref": "./sections/cper-pcie.json" },
30 { "$ref": "./sections/cper-pci-bus.json" },
31 { "$ref": "./sections/cper-pci-component.json" },
32 { "$ref": "./sections/cper-firmware.json" },
33 { "$ref": "./sections/cper-generic-dmar.json" },
34 { "$ref": "./sections/cper-vtd-dmar.json" },
35 { "$ref": "./sections/cper-iommu-dmar.json" },
36 { "$ref": "./sections/cper-ccix-per.json" },
37 { "$ref": "./sections/cper-cxl-protocol.json" },
Lawrence Tang8f793ac2022-07-13 10:17:09 +010038 { "$ref": "./sections/cper-cxl-component.json" },
39 { "$ref": "./sections/cper-unknown.json" }
Lawrence Tang079d5812022-07-12 14:15:32 +010040 ]
41 }
42 }
43 }
44}