blob: bc22453f7c9d2952810dbeb57e21bfbac9520382 [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",
Lawrence Tang42375842022-07-19 16:25:47 +01005 "required": ["validationBits", "agentType", "cxlAgentAddress", "deviceID", "dvsecLength", "errorLogLength", "cxlDVSEC", "cxlErrorLog"],
Lawrence Tang079d5812022-07-12 14:15:32 +01006 "additionalProperties": false,
7 "properties": {
8 "validationBits": {
9 "type": "object",
10 "required": ["cxlAgentTypeValid", "cxlAgentAddressValid", "deviceIDValid", "deviceSerialValid", "capabilityStructureValid", "cxlDVSECValid", "cxlErrorLogValid"],
11 "properties": {
12 "cxlAgentTypeValid": {
13 "type": "boolean"
14 },
15 "cxlAgentAddressValid": {
16 "type": "boolean"
17 },
18 "deviceIDValid": {
19 "type": "boolean"
20 },
21 "deviceSerialValid": {
22 "type": "boolean"
23 },
24 "capabilityStructureValid": {
25 "type": "boolean"
26 },
27 "cxlDVSECValid": {
28 "type": "boolean"
29 },
30 "cxlErrorLogValid": {
31 "type": "boolean"
32 }
33 }
34 },
35 "agentType": {
36 "type": "object",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010037 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010038 },
Lawrence Tang42375842022-07-19 16:25:47 +010039 "cxlAgentAddress": {
Lawrence Tang079d5812022-07-12 14:15:32 +010040 "type": "object",
41 "oneOf": [
42 {
43 "type": "object",
44 "required": ["functionNumber", "deviceNumber", "busNumber", "segmentNumber"],
45 "properties": {
46 "functionNumber": {
47 "type": "integer"
48 },
49 "deviceNumber": {
50 "type": "integer"
51 },
52 "busNumber": {
53 "type": "integer"
54 },
55 "segmentNumber": {
56 "type": "integer"
57 }
58 }
59 },
60 {
61 "type": "object",
62 "required": ["value"],
63 "properties": {
64 "value": {
65 "type": "integer"
66 }
67 }
68 }
69 ]
70 },
Lawrence Tang42375842022-07-19 16:25:47 +010071 "deviceID": {
72 "type": "object",
73 "required": ["vendorID", "deviceID", "subsystemVendorID", "subsystemDeviceID", "classCode", "slotNumber"],
74 "properties": {
75 "vendorID": {
76 "type": "integer"
77 },
78 "deviceID": {
79 "type": "integer"
80 },
81 "subsystemVendorID": {
82 "type": "integer"
83 },
84 "subsystemDeviceID": {
85 "type": "integer"
86 },
87 "classCode": {
88 "type": "integer"
89 },
90 "slotNumber": {
91 "type": "integer"
92 }
93 }
94 },
Lawrence Tang079d5812022-07-12 14:15:32 +010095 "deviceSerial": {
96 "type": "integer"
97 },
98 "capabilityStructure": {
99 "type": "string"
100 },
101 "dvsecLength": {
102 "type": "integer"
103 },
104 "errorLogLength": {
105 "type": "integer"
106 },
107 "cxlDVSEC": {
108 "type": "string"
109 },
110 "cxlErrorLog": {
111 "type": "string"
112 }
113 }
114}