blob: c220d75432da51d2c00312530eb71c8e27d3f502 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
2 "$id": "cper-json-pcie-section",
3 "$schema": "https://json-schema.org/draft/2020-12/schema",
4 "type": "object",
John Chung044afd02024-05-03 19:58:02 +08005 "required": [
6 "validationBits",
7 "portType",
8 "version",
9 "commandStatus",
10 "deviceID",
11 "deviceSerialNumber",
12 "bridgeControlStatus",
13 "capabilityStructure",
14 "aerInfo"
15 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010016 "additionalProperties": false,
17 "properties": {
18 "validationBits": {
19 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080020 "required": [
21 "portTypeValid",
22 "versionValid",
23 "commandStatusValid",
24 "deviceIDValid",
25 "deviceSerialNumberValid",
26 "bridgeControlStatusValid",
27 "capabilityStructureStatusValid",
28 "aerInfoValid"
29 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010030 "properties": {
31 "portTypeValid": {
32 "type": "boolean"
33 },
34 "versionValid": {
35 "type": "boolean"
36 },
37 "commandStatusValid": {
38 "type": "boolean"
39 },
40 "deviceIDValid": {
41 "type": "boolean"
42 },
43 "deviceSerialNumberValid": {
44 "type": "boolean"
45 },
46 "bridgeControlStatusValid": {
47 "type": "boolean"
48 },
49 "capabilityStructureStatusValid": {
50 "type": "boolean"
51 },
52 "aerInfoValid": {
53 "type": "boolean"
54 }
55 }
56 },
57 "portType": {
58 "type": "object",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010059 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010060 },
61 "version": {
62 "type": "object",
63 "required": ["major", "minor"],
64 "properties": {
65 "major": {
66 "type": "integer"
67 },
68 "minor": {
69 "type": "integer"
70 }
71 }
72 },
73 "commandStatus": {
74 "type": "object",
75 "required": ["commandRegister", "statusRegister"],
76 "properties": {
77 "commandRegister": {
John Chung044afd02024-05-03 19:58:02 +080078 "type": "integer"
Lawrence Tang079d5812022-07-12 14:15:32 +010079 },
80 "statusRegister": {
81 "type": "integer"
82 }
83 }
84 },
85 "deviceID": {
86 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080087 "required": [
88 "vendorID",
89 "deviceID",
90 "classCode",
91 "functionNumber",
92 "deviceNumber",
93 "segmentNumber",
94 "primaryOrDeviceBusNumber",
95 "secondaryBusNumber",
96 "slotNumber"
97 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010098 "properties": {
99 "vendorID": {
100 "type": "integer"
101 },
102 "deviceID": {
103 "type": "integer"
104 },
105 "classCode": {
106 "type": "integer"
107 },
108 "functionNumber": {
109 "type": "integer"
110 },
111 "deviceNumber": {
112 "type": "integer"
113 },
114 "segmentNumber": {
115 "type": "integer"
116 },
117 "primaryOrDeviceBusNumber": {
118 "type": "integer"
119 },
120 "secondaryBusNumber": {
121 "type": "integer"
122 },
123 "slotNumber": {
124 "type": "integer"
125 }
126 }
127 },
128 "deviceSerialNumber": {
129 "type": "integer"
130 },
131 "bridgeControlStatus": {
132 "type": "object",
133 "required": ["secondaryStatusRegister", "controlRegister"],
134 "properties": {
135 "secondaryStatusRegister": {
136 "type": "integer"
137 },
138 "controlRegister": {
139 "type": "integer"
140 }
141 }
142 },
143 "capabilityStructure": {
144 "type": "object",
145 "required": ["data"],
146 "properties": {
147 "data": {
148 "type": "string"
149 }
150 }
151 },
152 "aerInfo": {
153 "type": "object",
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100154 "required": ["data"],
Lawrence Tang079d5812022-07-12 14:15:32 +0100155 "properties": {
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100156 "data": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100157 "type": "string"
Lawrence Tang079d5812022-07-12 14:15:32 +0100158 }
159 }
160 }
161 }
John Chung044afd02024-05-03 19:58:02 +0800162}