blob: 55b1dbc8e3f4ae847ff90ad147faea71355ba8f6 [file] [log] [blame]
{
"$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"
}
}
}
}
}