1{ 2 "$id": "cper-json-cxl-protocol-section", 3 "$schema": "https://json-schema.org/draft/2020-12/schema", 4 "type": "object", 5 "required": ["validationBits", "agentType", "cxlAgentAddress", "deviceID", "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 "cxlAgentAddress": { 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 "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 }, 95 "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}