blob: 9c3fd1fbf7a6744bb4023c2ba54be7e2eb8653a6 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
Lawrence Tang079d5812022-07-12 14:15:32 +01002 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "type": "object",
John Chung044afd02024-05-03 19:58:02 +08004 "required": [
5 "validationBits",
6 "portType",
7 "version",
8 "commandStatus",
9 "deviceID",
10 "deviceSerialNumber",
11 "bridgeControlStatus",
12 "capabilityStructure",
13 "aerInfo"
14 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010015 "additionalProperties": false,
16 "properties": {
17 "validationBits": {
18 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080019 "required": [
20 "portTypeValid",
21 "versionValid",
22 "commandStatusValid",
23 "deviceIDValid",
24 "deviceSerialNumberValid",
25 "bridgeControlStatusValid",
26 "capabilityStructureStatusValid",
27 "aerInfoValid"
28 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010029 "properties": {
30 "portTypeValid": {
31 "type": "boolean"
32 },
33 "versionValid": {
34 "type": "boolean"
35 },
36 "commandStatusValid": {
37 "type": "boolean"
38 },
39 "deviceIDValid": {
40 "type": "boolean"
41 },
42 "deviceSerialNumberValid": {
43 "type": "boolean"
44 },
45 "bridgeControlStatusValid": {
46 "type": "boolean"
47 },
48 "capabilityStructureStatusValid": {
49 "type": "boolean"
50 },
51 "aerInfoValid": {
52 "type": "boolean"
53 }
54 }
55 },
56 "portType": {
57 "type": "object",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010058 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010059 },
60 "version": {
61 "type": "object",
62 "required": ["major", "minor"],
63 "properties": {
64 "major": {
65 "type": "integer"
66 },
67 "minor": {
68 "type": "integer"
69 }
70 }
71 },
72 "commandStatus": {
73 "type": "object",
74 "required": ["commandRegister", "statusRegister"],
75 "properties": {
76 "commandRegister": {
John Chung044afd02024-05-03 19:58:02 +080077 "type": "integer"
Lawrence Tang079d5812022-07-12 14:15:32 +010078 },
79 "statusRegister": {
80 "type": "integer"
81 }
82 }
83 },
84 "deviceID": {
85 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080086 "required": [
87 "vendorID",
88 "deviceID",
89 "classCode",
90 "functionNumber",
91 "deviceNumber",
92 "segmentNumber",
93 "primaryOrDeviceBusNumber",
94 "secondaryBusNumber",
95 "slotNumber"
96 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010097 "properties": {
98 "vendorID": {
99 "type": "integer"
100 },
101 "deviceID": {
102 "type": "integer"
103 },
104 "classCode": {
105 "type": "integer"
106 },
107 "functionNumber": {
108 "type": "integer"
109 },
110 "deviceNumber": {
111 "type": "integer"
112 },
113 "segmentNumber": {
114 "type": "integer"
115 },
116 "primaryOrDeviceBusNumber": {
117 "type": "integer"
118 },
119 "secondaryBusNumber": {
120 "type": "integer"
121 },
122 "slotNumber": {
123 "type": "integer"
124 }
125 }
126 },
127 "deviceSerialNumber": {
128 "type": "integer"
129 },
130 "bridgeControlStatus": {
131 "type": "object",
132 "required": ["secondaryStatusRegister", "controlRegister"],
133 "properties": {
134 "secondaryStatusRegister": {
135 "type": "integer"
136 },
137 "controlRegister": {
138 "type": "integer"
139 }
140 }
141 },
142 "capabilityStructure": {
143 "type": "object",
144 "required": ["data"],
145 "properties": {
146 "data": {
147 "type": "string"
148 }
149 }
150 },
151 "aerInfo": {
152 "type": "object",
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100153 "required": ["data"],
Lawrence Tang079d5812022-07-12 14:15:32 +0100154 "properties": {
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100155 "data": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100156 "type": "string"
Andrew Adriance3cebfc22024-11-20 12:57:04 -0800157 },
158 "capability_header": {
159 "type": "integer"
160 },
161 "uncorrectable_error_status": {
162 "type": "integer"
163 },
164 "uncorrectable_error_mask": {
165 "type": "integer"
166 },
167 "uncorrectable_error_severity": {
168 "type": "integer"
169 },
170 "correctable_error_status": {
171 "type": "integer"
172 },
173 "correctable_error_mask": {
174 "type": "integer"
175 },
176 "capabilites_control": {
177 "type": "integer"
178 },
179 "tlp_header_0": {
180 "type": "integer"
181 },
182 "tlp_header_1": {
183 "type": "integer"
184 },
185 "tlp_header_2": {
186 "type": "integer"
187 },
188 "tlp_header_3": {
189 "type": "integer"
Lawrence Tang079d5812022-07-12 14:15:32 +0100190 }
191 }
192 }
193 }
John Chung044afd02024-05-03 19:58:02 +0800194}