1079d581eSLawrence Tang{
2079d581eSLawrence Tang    "$id": "cper-json-pcie-section",
3079d581eSLawrence Tang    "$schema": "https://json-schema.org/draft/2020-12/schema",
4079d581eSLawrence Tang    "type": "object",
5*044afd01SJohn Chung    "required": [
6*044afd01SJohn Chung        "validationBits",
7*044afd01SJohn Chung        "portType",
8*044afd01SJohn Chung        "version",
9*044afd01SJohn Chung        "commandStatus",
10*044afd01SJohn Chung        "deviceID",
11*044afd01SJohn Chung        "deviceSerialNumber",
12*044afd01SJohn Chung        "bridgeControlStatus",
13*044afd01SJohn Chung        "capabilityStructure",
14*044afd01SJohn Chung        "aerInfo"
15*044afd01SJohn Chung    ],
16079d581eSLawrence Tang    "additionalProperties": false,
17079d581eSLawrence Tang    "properties": {
18079d581eSLawrence Tang        "validationBits": {
19079d581eSLawrence Tang            "type": "object",
20*044afd01SJohn Chung            "required": [
21*044afd01SJohn Chung                "portTypeValid",
22*044afd01SJohn Chung                "versionValid",
23*044afd01SJohn Chung                "commandStatusValid",
24*044afd01SJohn Chung                "deviceIDValid",
25*044afd01SJohn Chung                "deviceSerialNumberValid",
26*044afd01SJohn Chung                "bridgeControlStatusValid",
27*044afd01SJohn Chung                "capabilityStructureStatusValid",
28*044afd01SJohn Chung                "aerInfoValid"
29*044afd01SJohn Chung            ],
30079d581eSLawrence Tang            "properties": {
31079d581eSLawrence Tang                "portTypeValid": {
32079d581eSLawrence Tang                    "type": "boolean"
33079d581eSLawrence Tang                },
34079d581eSLawrence Tang                "versionValid": {
35079d581eSLawrence Tang                    "type": "boolean"
36079d581eSLawrence Tang                },
37079d581eSLawrence Tang                "commandStatusValid": {
38079d581eSLawrence Tang                    "type": "boolean"
39079d581eSLawrence Tang                },
40079d581eSLawrence Tang                "deviceIDValid": {
41079d581eSLawrence Tang                    "type": "boolean"
42079d581eSLawrence Tang                },
43079d581eSLawrence Tang                "deviceSerialNumberValid": {
44079d581eSLawrence Tang                    "type": "boolean"
45079d581eSLawrence Tang                },
46079d581eSLawrence Tang                "bridgeControlStatusValid": {
47079d581eSLawrence Tang                    "type": "boolean"
48079d581eSLawrence Tang                },
49079d581eSLawrence Tang                "capabilityStructureStatusValid": {
50079d581eSLawrence Tang                    "type": "boolean"
51079d581eSLawrence Tang                },
52079d581eSLawrence Tang                "aerInfoValid": {
53079d581eSLawrence Tang                    "type": "boolean"
54079d581eSLawrence Tang                }
55079d581eSLawrence Tang            }
56079d581eSLawrence Tang        },
57079d581eSLawrence Tang        "portType": {
58079d581eSLawrence Tang            "type": "object",
598a2d737cSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
60079d581eSLawrence Tang        },
61079d581eSLawrence Tang        "version": {
62079d581eSLawrence Tang            "type": "object",
63079d581eSLawrence Tang            "required": ["major", "minor"],
64079d581eSLawrence Tang            "properties": {
65079d581eSLawrence Tang                "major": {
66079d581eSLawrence Tang                    "type": "integer"
67079d581eSLawrence Tang                },
68079d581eSLawrence Tang                "minor": {
69079d581eSLawrence Tang                    "type": "integer"
70079d581eSLawrence Tang                }
71079d581eSLawrence Tang            }
72079d581eSLawrence Tang        },
73079d581eSLawrence Tang        "commandStatus": {
74079d581eSLawrence Tang            "type": "object",
75079d581eSLawrence Tang            "required": ["commandRegister", "statusRegister"],
76079d581eSLawrence Tang            "properties": {
77079d581eSLawrence Tang                "commandRegister": {
78079d581eSLawrence Tang                    "type": "integer"
79079d581eSLawrence Tang                },
80079d581eSLawrence Tang                "statusRegister": {
81079d581eSLawrence Tang                    "type": "integer"
82079d581eSLawrence Tang                }
83079d581eSLawrence Tang            }
84079d581eSLawrence Tang        },
85079d581eSLawrence Tang        "deviceID": {
86079d581eSLawrence Tang            "type": "object",
87*044afd01SJohn Chung            "required": [
88*044afd01SJohn Chung                "vendorID",
89*044afd01SJohn Chung                "deviceID",
90*044afd01SJohn Chung                "classCode",
91*044afd01SJohn Chung                "functionNumber",
92*044afd01SJohn Chung                "deviceNumber",
93*044afd01SJohn Chung                "segmentNumber",
94*044afd01SJohn Chung                "primaryOrDeviceBusNumber",
95*044afd01SJohn Chung                "secondaryBusNumber",
96*044afd01SJohn Chung                "slotNumber"
97*044afd01SJohn Chung            ],
98079d581eSLawrence Tang            "properties": {
99079d581eSLawrence Tang                "vendorID": {
100079d581eSLawrence Tang                    "type": "integer"
101079d581eSLawrence Tang                },
102079d581eSLawrence Tang                "deviceID": {
103079d581eSLawrence Tang                    "type": "integer"
104079d581eSLawrence Tang                },
105079d581eSLawrence Tang                "classCode": {
106079d581eSLawrence Tang                    "type": "integer"
107079d581eSLawrence Tang                },
108079d581eSLawrence Tang                "functionNumber": {
109079d581eSLawrence Tang                    "type": "integer"
110079d581eSLawrence Tang                },
111079d581eSLawrence Tang                "deviceNumber": {
112079d581eSLawrence Tang                    "type": "integer"
113079d581eSLawrence Tang                },
114079d581eSLawrence Tang                "segmentNumber": {
115079d581eSLawrence Tang                    "type": "integer"
116079d581eSLawrence Tang                },
117079d581eSLawrence Tang                "primaryOrDeviceBusNumber": {
118079d581eSLawrence Tang                    "type": "integer"
119079d581eSLawrence Tang                },
120079d581eSLawrence Tang                "secondaryBusNumber": {
121079d581eSLawrence Tang                    "type": "integer"
122079d581eSLawrence Tang                },
123079d581eSLawrence Tang                "slotNumber": {
124079d581eSLawrence Tang                    "type": "integer"
125079d581eSLawrence Tang                }
126079d581eSLawrence Tang            }
127079d581eSLawrence Tang        },
128079d581eSLawrence Tang        "deviceSerialNumber": {
129079d581eSLawrence Tang            "type": "integer"
130079d581eSLawrence Tang        },
131079d581eSLawrence Tang        "bridgeControlStatus": {
132079d581eSLawrence Tang            "type": "object",
133079d581eSLawrence Tang            "required": ["secondaryStatusRegister", "controlRegister"],
134079d581eSLawrence Tang            "properties": {
135079d581eSLawrence Tang                "secondaryStatusRegister": {
136079d581eSLawrence Tang                    "type": "integer"
137079d581eSLawrence Tang                },
138079d581eSLawrence Tang                "controlRegister": {
139079d581eSLawrence Tang                    "type": "integer"
140079d581eSLawrence Tang                }
141079d581eSLawrence Tang            }
142079d581eSLawrence Tang        },
143079d581eSLawrence Tang        "capabilityStructure": {
144079d581eSLawrence Tang            "type": "object",
145079d581eSLawrence Tang            "required": ["data"],
146079d581eSLawrence Tang            "properties": {
147079d581eSLawrence Tang                "data": {
148079d581eSLawrence Tang                    "type": "string"
149079d581eSLawrence Tang                }
150079d581eSLawrence Tang            }
151079d581eSLawrence Tang        },
152079d581eSLawrence Tang        "aerInfo": {
153079d581eSLawrence Tang            "type": "object",
1543ab351feSLawrence Tang            "required": ["data"],
155079d581eSLawrence Tang            "properties": {
1563ab351feSLawrence Tang                "data": {
157079d581eSLawrence Tang                    "type": "string"
158079d581eSLawrence Tang                }
159079d581eSLawrence Tang            }
160079d581eSLawrence Tang        }
161079d581eSLawrence Tang    }
162079d581eSLawrence Tang}
163