1{ 2 "$schema": "https://json-schema.org/draft/2020-12/schema", 3 "type": "object", 4 "description": "Compute Express Link (CXL) Protocol Error Section", 5 "required": [ 6 "validationBits", 7 "agentType", 8 "cxlAgentAddress", 9 "deviceID", 10 "dvsecLength", 11 "errorLogLength", 12 "cxlDVSEC", 13 "cxlErrorLog" 14 ], 15 "additionalProperties": false, 16 "properties": { 17 "validationBits": { 18 "type": "object", 19 "description": "Indiciates what fields in the section are valid", 20 "required": [ 21 "cxlAgentTypeValid", 22 "cxlAgentAddressValid", 23 "deviceIDValid", 24 "deviceSerialValid", 25 "capabilityStructureValid", 26 "cxlDVSECValid", 27 "cxlErrorLogValid" 28 ], 29 "properties": { 30 "cxlAgentTypeValid": { 31 "type": "boolean" 32 }, 33 "cxlAgentAddressValid": { 34 "type": "boolean" 35 }, 36 "deviceIDValid": { 37 "type": "boolean" 38 }, 39 "deviceSerialValid": { 40 "type": "boolean" 41 }, 42 "capabilityStructureValid": { 43 "type": "boolean" 44 }, 45 "cxlDVSECValid": { 46 "type": "boolean" 47 }, 48 "cxlErrorLogValid": { 49 "type": "boolean" 50 } 51 } 52 }, 53 "agentType": { 54 "type": "object", 55 "description": "CXL Agent Type", 56 "$ref": "./common/cper-json-nvp.json" 57 }, 58 "cxlAgentAddress": { 59 "type": "object", 60 "description": "CXL Agent depedent address to uniquely identify the component", 61 "oneOf": [ 62 { 63 "$id": "cper-json-cxlagentaddress0", 64 "type": "object", 65 "required": [ 66 "functionNumber", 67 "deviceNumber", 68 "busNumber", 69 "segmentNumber" 70 ], 71 "properties": { 72 "functionNumber": { 73 "type": "integer" 74 }, 75 "deviceNumber": { 76 "type": "integer" 77 }, 78 "busNumber": { 79 "type": "integer" 80 }, 81 "segmentNumber": { 82 "type": "integer" 83 } 84 } 85 }, 86 { 87 "$id": "cper-json-cxlagentaddress1", 88 "type": "object", 89 "required": ["value"], 90 "properties": { 91 "value": { 92 "type": "integer" 93 } 94 } 95 } 96 ] 97 }, 98 "deviceID": { 99 "type": "object", 100 "description": "Provides devices specific identifies.", 101 "required": [ 102 "vendorID", 103 "deviceID", 104 "subsystemVendorID", 105 "subsystemDeviceID", 106 "classCode", 107 "slotNumber" 108 ], 109 "properties": { 110 "vendorID": { 111 "type": "integer" 112 }, 113 "deviceID": { 114 "type": "integer" 115 }, 116 "subsystemVendorID": { 117 "type": "integer" 118 }, 119 "subsystemDeviceID": { 120 "type": "integer" 121 }, 122 "classCode": { 123 "type": "integer" 124 }, 125 "slotNumber": { 126 "type": "integer" 127 } 128 } 129 }, 130 "deviceSerial": { 131 "type": "integer", 132 "description": "CXL Agent device serial number" 133 }, 134 "capabilityStructure": { 135 "type": "string", 136 "description": "The PCIe Capability Structure of the agent" 137 }, 138 "dvsecLength": { 139 "type": "integer", 140 "description": "The length in bytes of the CXL DVSEC field" 141 }, 142 "errorLogLength": { 143 "type": "integer", 144 "description": "The length in bytes of the CXL Error Log field" 145 }, 146 "cxlDVSEC": { 147 "type": "string", 148 "description": "Contains the DVSEC structure as defined in the CXL specification" 149 }, 150 "cxlErrorLog": { 151 "type": "string", 152 "description": "This field contains a copy of the “CXL RAS Capability Structure”, as defined in the CXL Specification." 153 } 154 } 155} 156