blob: 43ca251dda3ee40c900e7b5dbeedcb42f3359c18 [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",
5 "required": ["validationBits", "agentType", "agentAddress", "deviceID", "deviceSerial", "capabilityStructure", "dvsecLength", "errorLogLength", "cxlDVSEC", "cxlErrorLog"],
6 "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",
37 "$ref": "../common/cper-json-nvp.json"
38 },
39 "agentAddress": {
40 "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 },
71 "deviceSerial": {
72 "type": "integer"
73 },
74 "capabilityStructure": {
75 "type": "string"
76 },
77 "dvsecLength": {
78 "type": "integer"
79 },
80 "errorLogLength": {
81 "type": "integer"
82 },
83 "cxlDVSEC": {
84 "type": "string"
85 },
86 "cxlErrorLog": {
87 "type": "string"
88 }
89 }
90}