| { |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "type": "object", |
| "description": "Compute Express Link (CXL) Protocol Error Section", |
| "required": [ |
| "validationBits", |
| "agentType", |
| "cxlAgentAddress", |
| "deviceID", |
| "dvsecLength", |
| "errorLogLength", |
| "cxlDVSEC", |
| "cxlErrorLog" |
| ], |
| "additionalProperties": false, |
| "properties": { |
| "validationBits": { |
| "type": "object", |
| "description": "Indiciates what fields in the section are valid", |
| "required": [ |
| "cxlAgentTypeValid", |
| "cxlAgentAddressValid", |
| "deviceIDValid", |
| "deviceSerialValid", |
| "capabilityStructureValid", |
| "cxlDVSECValid", |
| "cxlErrorLogValid" |
| ], |
| "properties": { |
| "cxlAgentTypeValid": { |
| "type": "boolean" |
| }, |
| "cxlAgentAddressValid": { |
| "type": "boolean" |
| }, |
| "deviceIDValid": { |
| "type": "boolean" |
| }, |
| "deviceSerialValid": { |
| "type": "boolean" |
| }, |
| "capabilityStructureValid": { |
| "type": "boolean" |
| }, |
| "cxlDVSECValid": { |
| "type": "boolean" |
| }, |
| "cxlErrorLogValid": { |
| "type": "boolean" |
| } |
| } |
| }, |
| "agentType": { |
| "type": "object", |
| "description": "CXL Agent Type", |
| "$ref": "./common/cper-json-nvp.json" |
| }, |
| "cxlAgentAddress": { |
| "type": "object", |
| "description": "CXL Agent depedent address to uniquely identify the component", |
| "oneOf": [ |
| { |
| "$id": "cper-json-cxlagentaddress0", |
| "type": "object", |
| "required": [ |
| "functionNumber", |
| "deviceNumber", |
| "busNumber", |
| "segmentNumber" |
| ], |
| "properties": { |
| "functionNumber": { |
| "type": "integer" |
| }, |
| "deviceNumber": { |
| "type": "integer" |
| }, |
| "busNumber": { |
| "type": "integer" |
| }, |
| "segmentNumber": { |
| "type": "integer" |
| } |
| } |
| }, |
| { |
| "$id": "cper-json-cxlagentaddress1", |
| "type": "object", |
| "required": ["value"], |
| "properties": { |
| "value": { |
| "type": "integer" |
| } |
| } |
| } |
| ] |
| }, |
| "deviceID": { |
| "type": "object", |
| "description": "Provides devices specific identifies.", |
| "required": [ |
| "vendorID", |
| "deviceID", |
| "subsystemVendorID", |
| "subsystemDeviceID", |
| "classCode", |
| "slotNumber" |
| ], |
| "properties": { |
| "vendorID": { |
| "type": "integer" |
| }, |
| "deviceID": { |
| "type": "integer" |
| }, |
| "subsystemVendorID": { |
| "type": "integer" |
| }, |
| "subsystemDeviceID": { |
| "type": "integer" |
| }, |
| "classCode": { |
| "type": "integer" |
| }, |
| "slotNumber": { |
| "type": "integer" |
| } |
| } |
| }, |
| "deviceSerial": { |
| "type": "integer", |
| "description": "CXL Agent device serial number" |
| }, |
| "capabilityStructure": { |
| "type": "string", |
| "description": "The PCIe Capability Structure of the agent" |
| }, |
| "dvsecLength": { |
| "type": "integer", |
| "description": "The length in bytes of the CXL DVSEC field" |
| }, |
| "errorLogLength": { |
| "type": "integer", |
| "description": "The length in bytes of the CXL Error Log field" |
| }, |
| "cxlDVSEC": { |
| "type": "string", |
| "description": "Contains the DVSEC structure as defined in the CXL specification" |
| }, |
| "cxlErrorLog": { |
| "type": "string", |
| "description": "This field contains a copy of the “CXL RAS Capability Structure”, as defined in the CXL Specification." |
| } |
| } |
| } |