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