1{
2    "type": "object",
3    "required": ["sectionDescriptor", "section"],
4    "additionalProperties": false,
5    "properties": {
6        "header": {
7            "$ref": "./cper-json-header.json"
8        },
9        "sectionDescriptor": {
10            "$ref": "./cper-json-section-descriptor.json"
11        },
12        "section": {
13            "type": "object",
14            "oneOf": [
15                {
16                    "type": "object",
17                    "required": ["GenericProcessor"],
18                    "GenericProcessor": {
19                        "$ref": "./sections/cper-generic-processor.json"
20                    }
21                },
22                {
23                    "type": "object",
24                    "required": ["Ia32x64Processor"],
25                    "Ia32x64Processor": {
26                        "$ref": "./sections/cper-ia32x64-processor.json"
27                    }
28                },
29                {
30                    "type": "object",
31                    "required": ["ArmProcessor"],
32                    "ArmProcessor": {
33                        "$ref": "./sections/cper-arm-processor.json"
34                    }
35                },
36                {
37                    "type": "object",
38                    "required": ["Memory"],
39                    "Memory": {
40                        "$ref": "./sections/cper-memory.json"
41                    }
42                },
43                {
44                    "type": "object",
45                    "required": ["Memory2"],
46                    "Memory2": {
47                        "$ref": "./sections/cper-memory2.json"
48                    }
49                },
50                {
51                    "type": "object",
52                    "required": ["Pcie"],
53                    "Pcie": {
54                        "$ref": "./sections/cper-pcie.json"
55                    }
56                },
57                {
58                    "type": "object",
59                    "required": ["PciBus"],
60                    "PciBus": {
61                        "$ref": "./sections/cper-pci-bus.json"
62                    }
63                },
64                {
65                    "type": "object",
66                    "required": ["PciComponent"],
67                    "PciComponent": {
68                        "$ref": "./sections/cper-pci-component.json"
69                    }
70                },
71                {
72                    "type": "object",
73                    "required": ["Firmware"],
74                    "Firmware": {
75                        "$ref": "./sections/cper-firmware.json"
76                    }
77                },
78                {
79                    "type": "object",
80                    "required": ["GenericDmar"],
81                    "GenericDmar": {
82                        "$ref": "./sections/cper-generic-dmar.json"
83                    }
84                },
85                {
86                    "type": "object",
87                    "required": ["VtdDmar"],
88                    "VtdDmar": {
89                        "$ref": "./sections/cper-vtd-dmar.json"
90                    }
91                },
92                {
93                    "type": "object",
94                    "required": ["IommuDmar"],
95                    "IommuDmar": {
96                        "$ref": "./sections/cper-iommu-dmar.json"
97                    }
98                },
99                {
100                    "type": "object",
101                    "required": ["CcixPer"],
102                    "CcixPer": {
103                        "$ref": "./sections/cper-ccix-per.json"
104                    }
105                },
106                {
107                    "type": "object",
108                    "required": ["CxlProtocol"],
109                    "CxlProtocol": {
110                        "$ref": "./sections/cper-cxl-protocol.json"
111                    }
112                },
113                {
114                    "type": "object",
115                    "required": ["CxlComponent"],
116                    "CxlComponent": {
117                        "$ref": "./sections/cper-cxl-component.json"
118                    }
119                },
120                {
121                    "type": "object",
122                    "required": ["Nvidia"],
123                    "Nvidia": {
124                        "$ref": "./sections/cper-nvidia.json"
125                    }
126                },
127                {
128                    "type": "object",
129                    "required": ["Ampere"],
130                    "Nvidia": {
131                        "$ref": "./sections/cper-ampere.json"
132                    }
133                },
134                {
135                    "type": "object",
136                    "required": ["Unknown"],
137                    "Unknown": {
138                        "$ref": "./sections/cper-unknown.json"
139                    }
140                }
141            ]
142        }
143    }
144}
145