blob: bcfaee33d5cd639e5d49d2f792fb983e9ca7d41b [file] [log] [blame]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"description": "ARM Processor Error Section",
"required": [
"validationBits",
"errorInfoNum",
"contextInfoNum",
"sectionLength",
"errorAffinity",
"mpidrEl1",
"affinity3",
"midrEl1",
"running",
"errorInfo",
"contextInfo"
],
"additionalProperties": false,
"properties": {
"validationBits": {
"type": "object",
"description": "Indiciates what fields in the section are valid",
"required": [
"mpidrValid",
"errorAffinityLevelValid",
"runningStateValid",
"vendorSpecificInfoValid"
],
"properties": {
"mpidrValid": {
"type": "boolean"
},
"errorAffinityLevelValid": {
"type": "boolean"
},
"runningStateValid": {
"type": "boolean"
},
"vendorSpecificInfoValid": {
"type": "boolean"
}
}
},
"errorInfoNum": {
"type": "integer",
"description": "The number of Processor Error Information Structures"
},
"contextInfoNum": {
"type": "integer",
"description": "The number of Context Information Structures"
},
"sectionLength": {
"type": "integer",
"description": "This describes the total size of the ARM processor error section"
},
"errorAffinity": {
"type": "object",
"description": "For errors that can be attributed to a specific affinity level, this field defines the affinity level at which the error was produced, detected, and/or consumed",
"required": ["value", "type"],
"properties": {
"value": {
"type": "integer"
},
"type": {
"type": "string"
}
}
},
"mpidrEl1": {
"type": "integer",
"description": "This field is valid for “attributable errors” that can be attributed to a specific CPU, cache, or cluster. This is the processor’s unique ID in the system"
},
"affinity3": {
"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",
"required": ["type", "value"],
"additionalProperties": false,
"properties": {
"type": {
"type": "string"
},
"value": {
"type": "integer"
}
}
},
"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": [
{
"$id": "cper-json-cacheerror-section",
"type": "object",
"required": ["cacheError"],
"properties": {
"cacheError": {
"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"
}
}
}
}
},
{
"$id": "cper-json-tlberror-section",
"type": "object",
"required": ["tlbError"],
"properties": {
"tlbError": {
"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": [
"version",
"registerContextType",
"registerArraySize",
"registerArray"
],
"additionalProperties": false,
"properties": {
"version": {
"type": "integer",
"minimum": 0
},
"registerContextType": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"registerArraySize": {
"type": "integer"
},
"registerArray": {
"type": "object",
"oneOf": [
{
"$id": "cper-json-registerarray0",
"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" }
}
},
{
"$id": "cper-json-registerarray1",
"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" }
}
},
{
"$id": "cper-json-registerarray2",
"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" }
}
},
{
"$id": "cper-json-registerarray3",
"type": "object",
"required": ["sctlr_s", "spsr_mon"],
"properties": {
"sctlr_s": { "type": "integer" },
"spsr_mon": { "type": "integer" }
}
},
{
"$id": "cper-json-registerarray4",
"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" }
}
},
{
"$id": "cper-json-registerarray5",
"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" }
}
},
{
"$id": "cper-json-registerarray6",
"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" }
}
},
{
"$id": "cper-json-registerarray7",
"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" }
}
},
{
"$id": "cper-json-registerarray8",
"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"
}
}
},
{
"$id": "cper-json-registerarray9",
"type": "object",
"required": ["data"],
"properties": {
"data": {
"type": "string"
}
}
}
]
}
}
}
},
"vendorSpecificInfo": {
"type": "object",
"required": ["data"],
"additionalProperties": false,
"properties": {
"data": {
"type": "string"
}
}
}
}
}