blob: bc462459d010ffa26c5e738b146df91aa3d46bb2 [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 "agentType",
7 "cxlAgentAddress",
8 "deviceID",
9 "dvsecLength",
10 "errorLogLength",
11 "cxlDVSEC",
12 "cxlErrorLog"
13 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010014 "additionalProperties": false,
15 "properties": {
16 "validationBits": {
17 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080018 "required": [
19 "cxlAgentTypeValid",
20 "cxlAgentAddressValid",
21 "deviceIDValid",
22 "deviceSerialValid",
23 "capabilityStructureValid",
24 "cxlDVSECValid",
25 "cxlErrorLogValid"
26 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010027 "properties": {
28 "cxlAgentTypeValid": {
29 "type": "boolean"
30 },
31 "cxlAgentAddressValid": {
32 "type": "boolean"
33 },
34 "deviceIDValid": {
35 "type": "boolean"
36 },
37 "deviceSerialValid": {
38 "type": "boolean"
39 },
40 "capabilityStructureValid": {
41 "type": "boolean"
42 },
43 "cxlDVSECValid": {
44 "type": "boolean"
45 },
46 "cxlErrorLogValid": {
47 "type": "boolean"
48 }
49 }
50 },
51 "agentType": {
52 "type": "object",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010053 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010054 },
Lawrence Tang42375842022-07-19 16:25:47 +010055 "cxlAgentAddress": {
Lawrence Tang079d5812022-07-12 14:15:32 +010056 "type": "object",
57 "oneOf": [
58 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070059 "$id": "cper-json-cxlagentaddress0",
Lawrence Tang079d5812022-07-12 14:15:32 +010060 "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 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070083 "$id": "cper-json-cxlagentaddress1",
Lawrence Tang079d5812022-07-12 14:15:32 +010084 "type": "object",
85 "required": ["value"],
86 "properties": {
87 "value": {
88 "type": "integer"
89 }
90 }
91 }
92 ]
93 },
Lawrence Tang42375842022-07-19 16:25:47 +010094 "deviceID": {
95 "type": "object",
John Chung044afd02024-05-03 19:58:02 +080096 "required": [
97 "vendorID",
98 "deviceID",
99 "subsystemVendorID",
100 "subsystemDeviceID",
101 "classCode",
102 "slotNumber"
103 ],
Lawrence Tang42375842022-07-19 16:25:47 +0100104 "properties": {
John Chung044afd02024-05-03 19:58:02 +0800105 "vendorID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100106 "type": "integer"
107 },
John Chung044afd02024-05-03 19:58:02 +0800108 "deviceID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100109 "type": "integer"
110 },
John Chung044afd02024-05-03 19:58:02 +0800111 "subsystemVendorID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100112 "type": "integer"
113 },
John Chung044afd02024-05-03 19:58:02 +0800114 "subsystemDeviceID": {
Lawrence Tang42375842022-07-19 16:25:47 +0100115 "type": "integer"
116 },
John Chung044afd02024-05-03 19:58:02 +0800117 "classCode": {
Lawrence Tang42375842022-07-19 16:25:47 +0100118 "type": "integer"
119 },
John Chung044afd02024-05-03 19:58:02 +0800120 "slotNumber": {
Lawrence Tang42375842022-07-19 16:25:47 +0100121 "type": "integer"
122 }
123 }
124 },
John Chung044afd02024-05-03 19:58:02 +0800125 "deviceSerial": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100126 "type": "integer"
127 },
128 "capabilityStructure": {
129 "type": "string"
130 },
John Chung044afd02024-05-03 19:58:02 +0800131 "dvsecLength": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100132 "type": "integer"
133 },
John Chung044afd02024-05-03 19:58:02 +0800134 "errorLogLength": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100135 "type": "integer"
136 },
John Chung044afd02024-05-03 19:58:02 +0800137 "cxlDVSEC": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100138 "type": "string"
139 },
John Chung044afd02024-05-03 19:58:02 +0800140 "cxlErrorLog": {
Lawrence Tang079d5812022-07-12 14:15:32 +0100141 "type": "string"
142 }
143 }
John Chung044afd02024-05-03 19:58:02 +0800144}