| { |
| "$id": "cper-json-arm-processor-section", |
| "$schema": "https://json-schema.org/draft/2020-12/schema", |
| "type": "object", |
| "required": ["validationBits", "errorInfoNum", "contextInfoNum", "sectionLength", "errorAffinity", "mpidrEl1", "midrEl1", "running", "errorInfo", "contextInfo"], |
| "additionalProperties": false, |
| "properties": { |
| "validationBits": { |
| "type": "object", |
| "required": ["mpidrValid", "errorAffinityLevelValid", "runningStateValid", "vendorSpecificInfoValid"], |
| "properties": { |
| "mpidrValid": { |
| "type": "boolean" |
| }, |
| "errorAffinityLevelValid": { |
| "type": "boolean" |
| }, |
| "runningStateValid": { |
| "type": "boolean" |
| }, |
| "vendorSpecificInfoValid": { |
| "type": "boolean" |
| } |
| } |
| }, |
| "errorInfoNum": { |
| "type": "integer" |
| }, |
| "contextInfoNum": { |
| "type": "integer" |
| }, |
| "sectionLength": { |
| "type": "integer" |
| }, |
| "errorAffinity": { |
| "type": "object", |
| "required": ["value", "type"], |
| "properties": { |
| "value": { |
| "type": "integer" |
| }, |
| "type": { |
| "type": "string" |
| } |
| } |
| }, |
| "mpidrEl1": { |
| "type": "integer" |
| }, |
| "midrEl1": { |
| "type": "integer" |
| }, |
| "running": { |
| "type": "boolean" |
| }, |
| "psciState": { |
| "type": "integer" |
| }, |
| "errorInfo": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "required": ["version", "length", "validationBits", "errorType", "multipleError", "flags", "errorInformation", "virtualFaultAddress", "physicalFaultAddress"], |
| "additionalProperties": false, |
| "properties": { |
| "version": { |
| "type": "integer" |
| }, |
| "length": { |
| "type": "integer" |
| }, |
| "validationBits": { |
| "type": "object", |
| "required": ["multipleErrorValid", "flagsValid", "errorInformationValid", "virtualFaultAddressValid", "physicalFaultAddressValid"], |
| "properties": { |
| "multipleErrorValid": { |
| "type": "boolean" |
| }, |
| "flagsValid": { |
| "type": "boolean" |
| }, |
| "errorInformationValid": { |
| "type": "boolean" |
| }, |
| "virtualFaultAddressValid": { |
| "type": "boolean" |
| }, |
| "physicalFaultAddressValid": { |
| "type": "boolean" |
| } |
| } |
| }, |
| "errorType": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "multipleError": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "flags": { |
| "type": "object", |
| "required": ["firstErrorCaptured", "lastErrorCaptured", "propagated", "overflow"], |
| "properties": { |
| "firstErrorCaptured": { |
| "type": "boolean" |
| }, |
| "lastErrorCaptured": { |
| "type": "boolean" |
| }, |
| "propagated": { |
| "type": "boolean" |
| }, |
| "overflow": { |
| "type": "boolean" |
| } |
| } |
| }, |
| "errorInformation": { |
| "type": "object", |
| "oneOf": [ |
| { |
| "type": "object", |
| "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC"], |
| "additionalProperties": false, |
| "properties": { |
| "validationBits": { |
| "type": "object", |
| "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid"], |
| "properties": { |
| "transactionTypeValid": { |
| "type": "boolean" |
| }, |
| "operationValid": { |
| "type": "boolean" |
| }, |
| "levelValid": { |
| "type": "boolean" |
| }, |
| "processorContextCorruptValid": { |
| "type": "boolean" |
| }, |
| "correctedValid": { |
| "type": "boolean" |
| }, |
| "precisePCValid": { |
| "type": "boolean" |
| }, |
| "restartablePCValid": { |
| "type": "boolean" |
| } |
| } |
| }, |
| "transactionType": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "operation": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "level": { |
| "type": "integer" |
| }, |
| "processorContextCorrupt": { |
| "type": "boolean" |
| }, |
| "corrected": { |
| "type": "boolean" |
| }, |
| "precisePC": { |
| "type": "boolean" |
| }, |
| "restartablePC": { |
| "type": "boolean" |
| } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC", "timedOut", "participationType", "addressSpace", "memoryAttributes", "accessMode"], |
| "additionalProperties": false, |
| "properties": { |
| "validationBits": { |
| "type": "object", |
| "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid", "participationTypeValid", "timedOutValid", "addressSpaceValid", "memoryAttributesValid", "accessModeValid"], |
| "properties": { |
| "transactionTypeValid": { |
| "type": "boolean" |
| }, |
| "operationValid": { |
| "type": "boolean" |
| }, |
| "levelValid": { |
| "type": "boolean" |
| }, |
| "processorContextCorruptValid": { |
| "type": "boolean" |
| }, |
| "correctedValid": { |
| "type": "boolean" |
| }, |
| "precisePCValid": { |
| "type": "boolean" |
| }, |
| "restartablePCValid": { |
| "type": "boolean" |
| }, |
| "participationTypeValid": { |
| "type": "boolean" |
| }, |
| "timedOutValid": { |
| "type": "boolean" |
| }, |
| "addressSpaceValid": { |
| "type": "boolean" |
| }, |
| "memoryAttributesValid": { |
| "type": "boolean" |
| }, |
| "accessModeValid": { |
| "type": "boolean" |
| } |
| } |
| }, |
| "transactionType": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "operation": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "level": { |
| "type": "integer" |
| }, |
| "processorContextCorrupt": { |
| "type": "boolean" |
| }, |
| "corrected": { |
| "type": "boolean" |
| }, |
| "precisePC": { |
| "type": "boolean" |
| }, |
| "restartablePC": { |
| "type": "boolean" |
| }, |
| "timedOut": { |
| "type": "boolean" |
| }, |
| "participationType": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "addressSpace": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "accessMode": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "memoryAttributes": { |
| "type": "integer" |
| } |
| } |
| } |
| ] |
| }, |
| "virtualFaultAddress": { |
| "type": "integer" |
| }, |
| "physicalFaultAddress": { |
| "type": "integer" |
| } |
| } |
| } |
| }, |
| "contextInfo": { |
| "type": "array", |
| "items": { |
| "type": "object", |
| "required": ["registerContextType", "registerArraySize", "registerArray"], |
| "additionalProperties": false, |
| "properties": { |
| "registerContextType": { |
| "type": "object", |
| "$ref": "../common/cper-json-nvp.json" |
| }, |
| "registerArraySize": { |
| "type": "integer" |
| }, |
| "registerArray": { |
| "type": "object", |
| "oneOf": [ |
| { |
| "type": "object", |
| "required": ["r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13_sp", "r14_lr", "r15_pc"], |
| "properties": { |
| "r0": { "type": "integer" }, |
| "r1": { "type": "integer" }, |
| "r2": { "type": "integer" }, |
| "r3": { "type": "integer" }, |
| "r4": { "type": "integer" }, |
| "r5": { "type": "integer" }, |
| "r6": { "type": "integer" }, |
| "r7": { "type": "integer" }, |
| "r8": { "type": "integer" }, |
| "r9": { "type": "integer" }, |
| "r10": { "type": "integer" }, |
| "r11": { "type": "integer" }, |
| "r12": { "type": "integer" }, |
| "r13_sp": { "type": "integer" }, |
| "r14_lr": { "type": "integer" }, |
| "r15_pc": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["dfar", "dfsr", "ifar", "isr", "mair0", "mair1", "midr", "mpidr", "nmrr", "prrr", "sctlr_ns", "spsr", "spsr_abt", "spsr_fiq", "spsr_irq", "spsr_svc", "spsr_und", "tpidrprw", "tpidruro", "tpidrurw", "ttbcr", "ttbr0", "ttbr1", "dacr"], |
| "properties": { |
| "dfar": { "type": "integer" }, |
| "dfsr": { "type": "integer" }, |
| "ifar": { "type": "integer" }, |
| "isr": { "type": "integer" }, |
| "mair0": { "type": "integer" }, |
| "mair1": { "type": "integer" }, |
| "midr": { "type": "integer" }, |
| "mpidr": { "type": "integer" }, |
| "nmrr": { "type": "integer" }, |
| "prrr": { "type": "integer" }, |
| "sctlr_ns": { "type": "integer" }, |
| "spsr": { "type": "integer" }, |
| "spsr_abt": { "type": "integer" }, |
| "spsr_fiq": { "type": "integer" }, |
| "spsr_irq": { "type": "integer" }, |
| "spsr_svc": { "type": "integer" }, |
| "spsr_und": { "type": "integer" }, |
| "tpidrprw": { "type": "integer" }, |
| "tpidruro": { "type": "integer" }, |
| "tpidrurw": { "type": "integer" }, |
| "ttbcr": { "type": "integer" }, |
| "ttbr0": { "type": "integer" }, |
| "ttbr1": { "type": "integer" }, |
| "dacr": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["elr_hyp", "hamair0", "hamair1", "hcr", "hcr2", "hdfar", "hifar", "hpfar", "hsr", "htcr", "htpidr", "httbr", "spsr_hyp", "vtcr", "vttbr", "dacr32_el2"], |
| "properties": { |
| "elr_hyp": { "type": "integer" }, |
| "hamair0": { "type": "integer" }, |
| "hamair1": { "type": "integer" }, |
| "hcr": { "type": "integer" }, |
| "hcr2": { "type": "integer" }, |
| "hdfar": { "type": "integer" }, |
| "hifar": { "type": "integer" }, |
| "hpfar": { "type": "integer" }, |
| "hsr": { "type": "integer" }, |
| "htcr": { "type": "integer" }, |
| "htpidr": { "type": "integer" }, |
| "httbr": { "type": "integer" }, |
| "spsr_hyp": { "type": "integer" }, |
| "vtcr": { "type": "integer" }, |
| "vttbr": { "type": "integer" }, |
| "dacr32_el2": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["sctlr_s", "spsr_mon"], |
| "properties": { |
| "sctlr_s": { "type": "integer" }, |
| "spsr_mon": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "x29", "x30", "sp"], |
| "properties": { |
| "x0": { "type": "integer" }, |
| "x1": { "type": "integer" }, |
| "x2": { "type": "integer" }, |
| "x3": { "type": "integer" }, |
| "x4": { "type": "integer" }, |
| "x5": { "type": "integer" }, |
| "x6": { "type": "integer" }, |
| "x7": { "type": "integer" }, |
| "x8": { "type": "integer" }, |
| "x9": { "type": "integer" }, |
| "x10": { "type": "integer" }, |
| "x11": { "type": "integer" }, |
| "x12": { "type": "integer" }, |
| "x13": { "type": "integer" }, |
| "x14": { "type": "integer" }, |
| "x15": { "type": "integer" }, |
| "x16": { "type": "integer" }, |
| "x17": { "type": "integer" }, |
| "x18": { "type": "integer" }, |
| "x19": { "type": "integer" }, |
| "x20": { "type": "integer" }, |
| "x21": { "type": "integer" }, |
| "x22": { "type": "integer" }, |
| "x23": { "type": "integer" }, |
| "x24": { "type": "integer" }, |
| "x25": { "type": "integer" }, |
| "x26": { "type": "integer" }, |
| "x27": { "type": "integer" }, |
| "x28": { "type": "integer" }, |
| "x29": { "type": "integer" }, |
| "x30": { "type": "integer" }, |
| "sp": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["elr_el1", "esr_el1", "far_el1", "isr_el1", "mair_el1", "midr_el1", "mpidr_el1", "sctlr_el1", "sp_el0", "sp_el1", "spsr_el1", "tcr_el1", "tpidr_el0", "tpidr_el1", "tpidrro_el0", "ttbr0_el1", "ttbr1_el1"], |
| "properties": { |
| "elr_el1": { "type": "integer" }, |
| "esr_el1": { "type": "integer" }, |
| "far_el1": { "type": "integer" }, |
| "isr_el1": { "type": "integer" }, |
| "mair_el1": { "type": "integer" }, |
| "midr_el1": { "type": "integer" }, |
| "mpidr_el1": { "type": "integer" }, |
| "sctlr_el1": { "type": "integer" }, |
| "sp_el0": { "type": "integer" }, |
| "sp_el1": { "type": "integer" }, |
| "spsr_el1": { "type": "integer" }, |
| "tcr_el1": { "type": "integer" }, |
| "tpidr_el0": { "type": "integer" }, |
| "tpidr_el1": { "type": "integer" }, |
| "tpidrro_el0": { "type": "integer" }, |
| "ttbr0_el1": { "type": "integer" }, |
| "ttbr1_el1": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["elr_el2", "esr_el2", "far_el2", "hacr_el2", "hcr_el2", "hpfar_el2", "mair_el2", "sctlr_el2", "sp_el2", "spsr_el2", "tcr_el2", "tpidr_el2", "ttbr0_el2", "vtcr_el2", "vttbr_el2"], |
| "properties": { |
| "elr_el2": { "type": "integer" }, |
| "esr_el2": { "type": "integer" }, |
| "far_el2": { "type": "integer" }, |
| "hacr_el2": { "type": "integer" }, |
| "hcr_el2": { "type": "integer" }, |
| "hpfar_el2": { "type": "integer" }, |
| "mair_el2": { "type": "integer" }, |
| "sctlr_el2": { "type": "integer" }, |
| "sp_el2": { "type": "integer" }, |
| "spsr_el2": { "type": "integer" }, |
| "tcr_el2": { "type": "integer" }, |
| "tpidr_el2": { "type": "integer" }, |
| "ttbr0_el2": { "type": "integer" }, |
| "vtcr_el2": { "type": "integer" }, |
| "vttbr_el2": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["elr_el3", "esr_el3", "far_el3", "mair_el3", "sctlr_el3", "sp_el3", "spsr_el3", "tcr_el3", "tpidr_el3", "ttbr0_el3"], |
| "properties": { |
| "elr_el3": { "type": "integer" }, |
| "esr_el3": { "type": "integer" }, |
| "far_el3": { "type": "integer" }, |
| "mair_el3": { "type": "integer" }, |
| "sctlr_el3": { "type": "integer" }, |
| "sp_el3": { "type": "integer" }, |
| "spsr_el3": { "type": "integer" }, |
| "tcr_el3": { "type": "integer" }, |
| "tpidr_el3": { "type": "integer" }, |
| "ttbr0_el3": { "type": "integer" } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["mrsEncoding", "value"], |
| "additionalProperties": false, |
| "properties": { |
| "mrsEncoding": { |
| "type": "object", |
| "required": ["op2", "crm", "crn", "op1", "o0"], |
| "properties": { |
| "op2": { "type": "integer" }, |
| "crm": { "type": "integer" }, |
| "crn": { "type": "integer" }, |
| "op1": { "type": "integer" }, |
| "o0": { "type": "integer" } |
| } |
| }, |
| "value": { |
| "type": "integer" |
| } |
| } |
| }, |
| { |
| "type": "object", |
| "required": ["data"], |
| "properties": { |
| "data": { |
| "type": "string" |
| } |
| } |
| } |
| ] |
| } |
| } |
| } |
| }, |
| "vendorSpecificInfo": { |
| "type": "object", |
| "required": ["data"], |
| "additionalProperties": false, |
| "properties": { |
| "data": { |
| "type": "string" |
| } |
| } |
| } |
| } |
| } |