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                    "$id": "cper-json-generic-processor-section",
17                    "type": "object",
18                    "required": ["GenericProcessor"],
19                    "properties": {
20                        "GenericProcessor": {
21                            "$ref": "./sections/cper-generic-processor.json"
22                        }
23                    }
24                },
25                {
26                    "$id": "cper-json-ia32x64-processor-section",
27                    "type": "object",
28                    "required": ["Ia32x64Processor"],
29                    "properties": {
30                        "Ia32x64Processor": {
31                            "$ref": "./sections/cper-ia32x64-processor.json"
32                        }
33                    }
34                },
35                {
36                    "$id": "cper-json-arm-processor-section",
37                    "type": "object",
38                    "required": ["ArmProcessor"],
39                    "properties": {
40                        "ArmProcessor": {
41                            "$ref": "./sections/cper-arm-processor.json"
42                        }
43                    }
44                },
45                {
46                    "$id": "cper-json-memory-section",
47                    "type": "object",
48                    "required": ["Memory"],
49                    "properties": {
50                        "Memory": {
51                            "$ref": "./sections/cper-memory.json"
52                        }
53                    }
54                },
55                {
56                    "$id": "cper-json-memory2-section",
57                    "type": "object",
58                    "required": ["Memory2"],
59                    "properties": {
60                        "Memory2": {
61                            "$ref": "./sections/cper-memory2.json"
62                        }
63                    }
64                },
65                {
66                    "$id": "cper-json-pcie-section",
67                    "type": "object",
68                    "required": ["Pcie"],
69                    "properties": {
70                        "Pcie": {
71                            "$ref": "./sections/cper-pcie.json"
72                        }
73                    }
74                },
75                {
76                    "$id": "cper-json-pci-bus-section",
77                    "type": "object",
78                    "required": ["PciBus"],
79                    "properties": {
80                        "PciBus": {
81                            "$ref": "./sections/cper-pci-bus.json"
82                        }
83                    }
84                },
85                {
86                    "$id": "cper-json-pci-component-section",
87                    "type": "object",
88                    "required": ["PciComponent"],
89                    "properties": {
90                        "PciComponent": {
91                            "$ref": "./sections/cper-pci-component.json"
92                        }
93                    }
94                },
95                {
96                    "$id": "cper-json-firmware-section",
97                    "type": "object",
98                    "required": ["Firmware"],
99                    "properties": {
100                        "Firmware": {
101                            "$ref": "./sections/cper-firmware.json"
102                        }
103                    }
104                },
105                {
106                    "$id": "cper-json-generic-dmar-section",
107                    "type": "object",
108                    "required": ["GenericDmar"],
109                    "properties": {
110                        "GenericDmar": {
111                            "$ref": "./sections/cper-generic-dmar.json"
112                        }
113                    }
114                },
115                {
116                    "$id": "cper-json-vtd-dmar-section",
117                    "type": "object",
118                    "required": ["VtdDmar"],
119                    "properties": {
120                        "VtdDmar": {
121                            "$ref": "./sections/cper-vtd-dmar.json"
122                        }
123                    }
124                },
125                {
126                    "$id": "cper-json-iommu-dmar-section",
127                    "type": "object",
128                    "required": ["IommuDmar"],
129                    "properties": {
130                        "IommuDmar": {
131                            "$ref": "./sections/cper-iommu-dmar.json"
132                        }
133                    }
134                },
135                {
136                    "$id": "cper-json-ccix-per-section",
137                    "type": "object",
138                    "required": ["CcixPer"],
139                    "properties": {
140                        "CcixPer": {
141                            "$ref": "./sections/cper-ccix-per.json"
142                        }
143                    }
144                },
145                {
146                    "$id": "cper-json-cxl-protocol-section",
147                    "type": "object",
148                    "required": ["CxlProtocol"],
149                    "properties": {
150                        "CxlProtocol": {
151                            "$ref": "./sections/cper-cxl-protocol.json"
152                        }
153                    }
154                },
155                {
156                    "$id": "cper-json-cxl-component-section",
157                    "type": "object",
158                    "required": ["CxlComponent"],
159                    "properties": {
160                        "CxlComponent": {
161                            "$ref": "./sections/cper-cxl-component.json"
162                        }
163                    }
164                },
165                {
166                    "$id": "cper-json-nvidia-section",
167                    "type": "object",
168                    "required": ["Nvidia"],
169                    "properties": {
170                        "Nvidia": {
171                            "$ref": "./sections/cper-nvidia.json"
172                        }
173                    }
174                },
175                {
176                    "$id": "cper-json-ampere-section",
177                    "type": "object",
178                    "required": ["Ampere"],
179                    "properties": {
180                        "Nvidia": {
181                            "$ref": "./sections/cper-ampere.json"
182                        }
183                    }
184                },
185                {
186                    "$id": "cper-json-unknown-section",
187                    "type": "object",
188                    "required": ["Unknown"],
189                    "properties": {
190                        "Unknown": {
191                            "$ref": "./sections/cper-unknown.json"
192                        }
193                    }
194                }
195            ]
196        }
197    }
198}
199