blob: 83cef639a60fb25eb21fe3420e90d5d70869370a [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
2 "$id": "cper-json-cxl-protocol-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 "agentType",
8 "cxlAgentAddress",
9 "deviceID",
10 "dvsecLength",
11 "errorLogLength",
12 "cxlDVSEC",
13 "cxlErrorLog"
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 "cxlAgentTypeValid",
21 "cxlAgentAddressValid",
22 "deviceIDValid",
23 "deviceSerialValid",
24 "capabilityStructureValid",
25 "cxlDVSECValid",
26 "cxlErrorLogValid"
27 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010028 "properties": {
29 "cxlAgentTypeValid": {
30 "type": "boolean"
31 },
32 "cxlAgentAddressValid": {
33 "type": "boolean"
34 },
35 "deviceIDValid": {
36 "type": "boolean"
37 },
38 "deviceSerialValid": {
39 "type": "boolean"
40 },
41 "capabilityStructureValid": {
42 "type": "boolean"
43 },
44 "cxlDVSECValid": {
45 "type": "boolean"
46 },
47 "cxlErrorLogValid": {
48 "type": "boolean"
49 }
50 }
51 },
52 "agentType": {
53 "type": "object",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010054 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010055 },
Lawrence Tang42375842022-07-19 16:25:47 +010056 "cxlAgentAddress": {
Lawrence Tang079d5812022-07-12 14:15:32 +010057 "type": "object",
58 "oneOf": [
59 {
60 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080061 "required": [
62 "functionNumber",
63 "deviceNumber",
64 "busNumber",
65 "segmentNumber"
66 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010067 "properties": {
John Chung044afd02024-05-03 19:58:02 +080068 "functionNumber": {
Lawrence Tang079d5812022-07-12 14:15:32 +010069 "type": "integer"
70 },
John Chung044afd02024-05-03 19:58:02 +080071 "deviceNumber": {
Lawrence Tang079d5812022-07-12 14:15:32 +010072 "type": "integer"
73 },
John Chung044afd02024-05-03 19:58:02 +080074 "busNumber": {
Lawrence Tang079d5812022-07-12 14:15:32 +010075 "type": "integer"
76 },
John Chung044afd02024-05-03 19:58:02 +080077 "segmentNumber": {
Lawrence Tang079d5812022-07-12 14:15:32 +010078 "type": "integer"
79 }
80 }
81 },
82 {
83 "type": "object",
84 "required": ["value"],
85 "properties": {
86 "value": {
87 "type": "integer"
88 }
89 }
90 }
91 ]
92 },
Lawrence Tang42375842022-07-19 16:25:47 +010093 "deviceID": {
94 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080095 "required": [
96 "vendorID",
97 "deviceID",
98 "subsystemVendorID",
99 "subsystemDeviceID",
100 "classCode",
101 "slotNumber"
102 ],
Lawrence Tang42375842022-07-19 16:25:47 +0100103 "properties": {
John Chung044afd02024-05-03 19:58:02 +0800104 "vendorID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100105 "type": "integer"
106 },
John Chung044afd02024-05-03 19:58:02 +0800107 "deviceID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100108 "type": "integer"
109 },
John Chung044afd02024-05-03 19:58:02 +0800110 "subsystemVendorID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100111 "type": "integer"
112 },
John Chung044afd02024-05-03 19:58:02 +0800113 "subsystemDeviceID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100114 "type": "integer"
115 },
John Chung044afd02024-05-03 19:58:02 +0800116 "classCode": {
Lawrence Tang42375842022-07-19 16:25:47 +0100117 "type": "integer"
118 },
John Chung044afd02024-05-03 19:58:02 +0800119 "slotNumber": {
Lawrence Tang42375842022-07-19 16:25:47 +0100120 "type": "integer"
121 }
122 }
123 },
John Chung044afd02024-05-03 19:58:02 +0800124 "deviceSerial": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100125 "type": "integer"
126 },
127 "capabilityStructure": {
128 "type": "string"
129 },
John Chung044afd02024-05-03 19:58:02 +0800130 "dvsecLength": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100131 "type": "integer"
132 },
John Chung044afd02024-05-03 19:58:02 +0800133 "errorLogLength": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100134 "type": "integer"
135 },
John Chung044afd02024-05-03 19:58:02 +0800136 "cxlDVSEC": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100137 "type": "string"
138 },
John Chung044afd02024-05-03 19:58:02 +0800139 "cxlErrorLog": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100140 "type": "string"
141 }
142 }
John Chung044afd02024-05-03 19:58:02 +0800143}