xref: /openbmc/libcper/specification/json/sections/cper-pci-component.json (revision 7a531ff443c5ab48e5a6dfbdfd28f41a18dcb308)
1{
2    "$schema": "https://json-schema.org/draft/2020-12/schema",
3    "type": "object",
4    "description": "PCI Component Error Section",
5    "required": [],
6    "additionalProperties": false,
7    "properties": {
8        "errorStatus": {
9            "type": "object",
10            "description": "PCI Component Error Status.",
11            "$ref": "./common/cper-json-error-status.json"
12        },
13        "idInfo": {
14            "type": "object",
15            "description": "Identification Information",
16            "additionalProperties": false,
17            "required": [
18                "vendorID",
19                "deviceID",
20                "classCode",
21                "functionNumber",
22                "deviceNumber",
23                "busNumber",
24                "segmentNumber"
25            ],
26            "properties": {
27                "vendorID": {
28                    "type": "integer"
29                },
30                "deviceID": {
31                    "type": "integer"
32                },
33                "classCode": {
34                    "type": "integer"
35                },
36                "functionNumber": {
37                    "type": "integer"
38                },
39                "deviceNumber": {
40                    "type": "integer"
41                },
42                "busNumber": {
43                    "type": "integer"
44                },
45                "segmentNumber": {
46                    "type": "integer"
47                }
48            }
49        },
50        "memoryNumber": {
51            "type": "integer",
52            "description": "Number of PCI Component Memory Mapped register address/data pair values present in this structure."
53        },
54        "ioNumber": {
55            "type": "integer",
56            "description": "Number of PCI Component Programmed IO register address/data pair values present in this structure."
57        },
58        "registerDataPairs": {
59            "type": "array",
60            "description": "An array of address/data pair values.",
61            "items": {
62                "type": "object",
63                "required": ["firstHalf", "secondHalf"],
64                "properties": {
65                    "firstHalf": {
66                        "type": "integer"
67                    },
68                    "secondHalf": {
69                        "type": "integer"
70                    }
71                }
72            }
73        }
74    }
75}
76