1{
2    "$schema": "https://json-schema.org/draft/2020-12/schema",
3    "type": "object",
4    "description": "PCI Express Error Section",
5    "required": [
6        "validationBits",
7        "portType",
8        "version",
9        "commandStatus",
10        "deviceID",
11        "deviceSerialNumber",
12        "bridgeControlStatus",
13        "capabilityStructure",
14        "aerInfo"
15    ],
16    "additionalProperties": false,
17    "properties": {
18        "validationBits": {
19            "type": "object",
20            "description": "Indicates validity of other fields in this section.",
21            "required": [
22                "portTypeValid",
23                "versionValid",
24                "commandStatusValid",
25                "deviceIDValid",
26                "deviceSerialNumberValid",
27                "bridgeControlStatusValid",
28                "capabilityStructureStatusValid",
29                "aerInfoValid"
30            ],
31            "properties": {
32                "portTypeValid": {
33                    "type": "boolean"
34                },
35                "versionValid": {
36                    "type": "boolean"
37                },
38                "commandStatusValid": {
39                    "type": "boolean"
40                },
41                "deviceIDValid": {
42                    "type": "boolean"
43                },
44                "deviceSerialNumberValid": {
45                    "type": "boolean"
46                },
47                "bridgeControlStatusValid": {
48                    "type": "boolean"
49                },
50                "capabilityStructureStatusValid": {
51                    "type": "boolean"
52                },
53                "aerInfoValid": {
54                    "type": "boolean"
55                }
56            }
57        },
58        "portType": {
59            "type": "object",
60            "description": "PCIe Device/Port Type as defined in the PCI Express capabilities register.",
61            "$ref": "./common/cper-json-nvp.json"
62        },
63        "version": {
64            "type": "object",
65            "description": "PCIe Spec. version supported by the platform",
66            "required": ["major", "minor"],
67            "properties": {
68                "major": {
69                    "type": "integer"
70                },
71                "minor": {
72                    "type": "integer"
73                }
74            }
75        },
76        "commandStatus": {
77            "type": "object",
78            "required": ["commandRegister", "statusRegister"],
79            "properties": {
80                "commandRegister": {
81                    "type": "integer",
82                    "description": "PCI Command Register"
83                },
84                "statusRegister": {
85                    "type": "integer",
86                    "description": "PCI Status Register"
87                }
88            }
89        },
90        "deviceID": {
91            "type": "object",
92            "description": "PCIe Root Port PCI/bridge PCI compatible device number and bus number information to uniquely identify the root port or bridge.",
93            "required": [
94                "vendorID",
95                "deviceID",
96                "classCode",
97                "functionNumber",
98                "deviceNumber",
99                "segmentNumber",
100                "primaryOrDeviceBusNumber",
101                "secondaryBusNumber",
102                "slotNumber"
103            ],
104            "properties": {
105                "vendorID": {
106                    "type": "integer"
107                },
108                "deviceID": {
109                    "type": "integer"
110                },
111                "classCode": {
112                    "type": "integer"
113                },
114                "functionNumber": {
115                    "type": "integer"
116                },
117                "deviceNumber": {
118                    "type": "integer"
119                },
120                "segmentNumber": {
121                    "type": "integer"
122                },
123                "primaryOrDeviceBusNumber": {
124                    "type": "integer"
125                },
126                "secondaryBusNumber": {
127                    "type": "integer"
128                },
129                "slotNumber": {
130                    "type": "integer"
131                }
132            }
133        },
134        "deviceSerialNumber": {
135            "type": "integer",
136            "description": "PCIe Device Serial Number"
137        },
138        "bridgeControlStatus": {
139            "type": "object",
140            "required": ["secondaryStatusRegister", "controlRegister"],
141            "properties": {
142                "secondaryStatusRegister": {
143                    "type": "integer",
144                    "description": "Bridge Secondary Status Register"
145                },
146                "controlRegister": {
147                    "type": "integer",
148                    "description": "Bridge Control Register"
149                }
150            }
151        },
152        "capabilityStructure": {
153            "type": "object",
154            "description": "This feild reports either the PCIe 2.0 Capability structure",
155            "required": ["data"],
156            "properties": {
157                "data": {
158                    "type": "string"
159                }
160            }
161        },
162        "aerInfo": {
163            "type": "object",
164            "description": "PCIe Advanced Error Reporting Extended Capability Structure.",
165            "required": ["data"],
166            "properties": {
167                "data": {
168                    "type": "string"
169                },
170                "capability_header": {
171                    "type": "integer"
172                },
173                "uncorrectable_error_status": {
174                    "type": "integer"
175                },
176                "uncorrectable_error_mask": {
177                    "type": "integer"
178                },
179                "uncorrectable_error_severity": {
180                    "type": "integer"
181                },
182                "correctable_error_status": {
183                    "type": "integer"
184                },
185                "correctable_error_mask": {
186                    "type": "integer"
187                },
188                "capabilites_control": {
189                    "type": "integer"
190                },
191                "tlp_header_0": {
192                    "type": "integer"
193                },
194                "tlp_header_1": {
195                    "type": "integer"
196                },
197                "tlp_header_2": {
198                    "type": "integer"
199                },
200                "tlp_header_3": {
201                    "type": "integer"
202                }
203            }
204        }
205    }
206}
207