1*079d581eSLawrence Tang{
2*079d581eSLawrence Tang    "$id": "cper-json",
3*079d581eSLawrence Tang    "$schema": "https://json-schema.org/draft/2020-12/schema",
4*079d581eSLawrence Tang    "description": "JSON Schema for the CPER-JSON format, as described in the CPER-JSON specification document.",
5*079d581eSLawrence Tang    "type": "object",
6*079d581eSLawrence Tang    "required": ["header", "sectionDescriptors", "sections"],
7*079d581eSLawrence Tang    "additionalProperties": false,
8*079d581eSLawrence Tang    "properties": {
9*079d581eSLawrence Tang        "header": {
10*079d581eSLawrence Tang            "$ref": "./cper-json-header.json"
11*079d581eSLawrence Tang        },
12*079d581eSLawrence Tang        "sectionDescriptors": {
13*079d581eSLawrence Tang            "type": "array",
14*079d581eSLawrence Tang            "items": {
15*079d581eSLawrence Tang                "type": "object",
16*079d581eSLawrence Tang                "$ref": "./cper-json-section-descriptor.json"
17*079d581eSLawrence Tang            }
18*079d581eSLawrence Tang        },
19*079d581eSLawrence Tang        "sections": {
20*079d581eSLawrence Tang            "type": "array",
21*079d581eSLawrence Tang            "items": {
22*079d581eSLawrence Tang                "type": "object",
23*079d581eSLawrence Tang                "oneOf": [
24*079d581eSLawrence Tang                    { "$ref": "./sections/cper-generic-processor.json" },
25*079d581eSLawrence Tang                    { "$ref": "./sections/cper-ia32x64-processor.json" },
26*079d581eSLawrence Tang                    { "$ref": "./sections/cper-arm-processor.json" },
27*079d581eSLawrence Tang                    { "$ref": "./sections/cper-memory.json" },
28*079d581eSLawrence Tang                    { "$ref": "./sections/cper-memory2.json" },
29*079d581eSLawrence Tang                    { "$ref": "./sections/cper-pcie.json" },
30*079d581eSLawrence Tang                    { "$ref": "./sections/cper-pci-bus.json" },
31*079d581eSLawrence Tang                    { "$ref": "./sections/cper-pci-component.json" },
32*079d581eSLawrence Tang                    { "$ref": "./sections/cper-firmware.json" },
33*079d581eSLawrence Tang                    { "$ref": "./sections/cper-generic-dmar.json" },
34*079d581eSLawrence Tang                    { "$ref": "./sections/cper-vtd-dmar.json" },
35*079d581eSLawrence Tang                    { "$ref": "./sections/cper-iommu-dmar.json" },
36*079d581eSLawrence Tang                    { "$ref": "./sections/cper-ccix-per.json" },
37*079d581eSLawrence Tang                    { "$ref": "./sections/cper-cxl-protocol.json" },
38*079d581eSLawrence Tang                    { "$ref": "./sections/cper-cxl-component.json" }
39*079d581eSLawrence Tang                ]
40*079d581eSLawrence Tang            }
41*079d581eSLawrence Tang        }
42*079d581eSLawrence Tang    }
43*079d581eSLawrence Tang}