blob: 021d590cc542e879f7a62bf4bf2634da581f13c5 [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",
5 "required": ["validationBits", "portType", "version", "commandStatus", "deviceID", "deviceSerialNumber", "bridgeControlStatus", "capabilityStructure", "aerInfo"],
6 "additionalProperties": false,
7 "properties": {
8 "validationBits": {
9 "type": "object",
10 "required": ["portTypeValid", "versionValid", "commandStatusValid", "deviceIDValid", "deviceSerialNumberValid", "bridgeControlStatusValid", "capabilityStructureStatusValid", "aerInfoValid"],
11 "properties": {
12 "portTypeValid": {
13 "type": "boolean"
14 },
15 "versionValid": {
16 "type": "boolean"
17 },
18 "commandStatusValid": {
19 "type": "boolean"
20 },
21 "deviceIDValid": {
22 "type": "boolean"
23 },
24 "deviceSerialNumberValid": {
25 "type": "boolean"
26 },
27 "bridgeControlStatusValid": {
28 "type": "boolean"
29 },
30 "capabilityStructureStatusValid": {
31 "type": "boolean"
32 },
33 "aerInfoValid": {
34 "type": "boolean"
35 }
36 }
37 },
38 "portType": {
39 "type": "object",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010040 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010041 },
42 "version": {
43 "type": "object",
44 "required": ["major", "minor"],
45 "properties": {
46 "major": {
47 "type": "integer"
48 },
49 "minor": {
50 "type": "integer"
51 }
52 }
53 },
54 "commandStatus": {
55 "type": "object",
56 "required": ["commandRegister", "statusRegister"],
57 "properties": {
58 "commandRegister": {
59 "type" : "integer"
60 },
61 "statusRegister": {
62 "type": "integer"
63 }
64 }
65 },
66 "deviceID": {
67 "type": "object",
68 "required": ["vendorID", "deviceID", "classCode", "functionNumber", "deviceNumber", "segmentNumber", "primaryOrDeviceBusNumber", "secondaryBusNumber", "slotNumber"],
69 "properties": {
70 "vendorID": {
71 "type": "integer"
72 },
73 "deviceID": {
74 "type": "integer"
75 },
76 "classCode": {
77 "type": "integer"
78 },
79 "functionNumber": {
80 "type": "integer"
81 },
82 "deviceNumber": {
83 "type": "integer"
84 },
85 "segmentNumber": {
86 "type": "integer"
87 },
88 "primaryOrDeviceBusNumber": {
89 "type": "integer"
90 },
91 "secondaryBusNumber": {
92 "type": "integer"
93 },
94 "slotNumber": {
95 "type": "integer"
96 }
97 }
98 },
99 "deviceSerialNumber": {
100 "type": "integer"
101 },
102 "bridgeControlStatus": {
103 "type": "object",
104 "required": ["secondaryStatusRegister", "controlRegister"],
105 "properties": {
106 "secondaryStatusRegister": {
107 "type": "integer"
108 },
109 "controlRegister": {
110 "type": "integer"
111 }
112 }
113 },
114 "capabilityStructure": {
115 "type": "object",
116 "required": ["data"],
117 "properties": {
118 "data": {
119 "type": "string"
120 }
121 }
122 },
123 "aerInfo": {
124 "type": "object",
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100125 "required": ["data"],
Lawrence Tang079d5812022-07-12 14:15:32 +0100126 "properties": {
Lawrence Tang3ab351f2022-07-20 16:09:34 +0100127 "data": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100128 "type": "string"
Lawrence Tang079d5812022-07-12 14:15:32 +0100129 }
130 }
131 }
132 }
133}