blob: 3f415646127887c461d5bb0f11654c922ba8db21 [file] [log] [blame]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"validationBits",
"localAPICID",
"cpuidInfo",
"processorErrorInfo",
"processorContextInfo"
],
"additionalProperties": false,
"properties": {
"validationBits": {
"type": "object",
"description": "Indicates which fields are valid in the section.",
"required": [
"localAPICIDValid",
"cpuIDInfoValid",
"processorErrorInfoNum",
"processorContextInfoNum"
],
"properties": {
"localAPICIDValid": {
"type": "boolean"
},
"cpuIDInfoValid": {
"type": "boolean"
},
"processorErrorInfoNum": {
"type": "integer",
"minimum": 0
},
"processorContextInfoNum": {
"type": "integer",
"minimum": 0
}
}
},
"localAPICID": {
"type": "integer",
"description": "This is the processor APIC ID programmed into the APIC ID registers."
},
"cpuidInfo": {
"type": "object",
"description": "This field represents the CPU ID structure of 48 bytes and returns Model, Family, and stepping information as provided by the CPUID instruction with EAX=1 input and output values from EAX, EBX, ECX, and EDX null extended to 64-bits.",
"required": ["eax", "ebx", "ecx", "edx"],
"properties": {
"eax": {
"type": "integer"
},
"ebx": {
"type": "integer"
},
"ecx": {
"type": "integer"
},
"edx": {
"type": "integer"
}
}
},
"processorErrorInfo": {
"type": "array",
"description": "Array of processor error information structure.",
"items": {
"type": "object",
"required": [
"type",
"validationBits",
"checkInfo",
"targetAddressID",
"requestorID",
"responderID",
"instructionPointer"
],
"additionalProperties": false,
"properties": {
"type": {
"type": "object",
"required": ["guid", "name"],
"properties": {
"guid": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"validationBits": {
"type": "object",
"required": [
"checkInfoValid",
"targetAddressIDValid",
"requestorIDValid",
"responderIDValid",
"instructionPointerValid"
],
"additionalProperties": false,
"properties": {
"checkInfoValid": {
"type": "boolean"
},
"targetAddressIDValid": {
"type": "boolean"
},
"requestorIDValid": {
"type": "boolean"
},
"responderIDValid": {
"type": "boolean"
},
"instructionPointerValid": {
"type": "boolean"
}
}
},
"checkInfo": {
"type": "object",
"oneOf": [
{
"$id": "cper-json-checkinfo0",
"type": "object",
"required": [
"validationBits",
"transactionType",
"operation",
"level",
"processorContextCorrupt",
"uncorrected",
"preciseIP",
"restartableIP",
"overflow"
],
"additionalProperties": false,
"properties": {
"validationBits": {
"type": "object",
"required": [
"transactionTypeValid",
"operationValid",
"levelValid",
"processorContextCorruptValid",
"uncorrectedValid",
"preciseIPValid",
"restartableIPValid",
"overflowValid"
],
"properties": {
"transactionTypeValid": {
"type": "boolean"
},
"operationValid": {
"type": "boolean"
},
"levelValid": {
"type": "boolean"
},
"processorContextCorruptValid": {
"type": "boolean"
},
"uncorrectedValid": {
"type": "boolean"
},
"preciseIPValid": {
"type": "boolean"
},
"restartableIPValid": {
"type": "boolean"
},
"overflowValid": {
"type": "boolean"
}
}
},
"transactionType": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"operation": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"level": {
"type": "integer",
"minimum": 0
},
"processorContextCorrupt": {
"type": "boolean"
},
"uncorrected": {
"type": "boolean"
},
"preciseIP": {
"type": "boolean"
},
"restartableIP": {
"type": "boolean"
},
"overflow": {
"type": "boolean"
}
}
},
{
"$id": "cper-json-checkinfo1",
"type": "object",
"required": [
"validationBits",
"transactionType",
"operation",
"level",
"processorContextCorrupt",
"uncorrected",
"preciseIP",
"restartableIP",
"overflow",
"participationType",
"timedOut",
"addressSpace"
],
"additionalProperties": false,
"properties": {
"validationBits": {
"type": "object",
"required": [
"transactionTypeValid",
"operationValid",
"levelValid",
"processorContextCorruptValid",
"uncorrectedValid",
"preciseIPValid",
"restartableIPValid",
"overflowValid",
"participationTypeValid",
"timedOutValid",
"addressSpaceValid"
],
"properties": {
"transactionTypeValid": {
"type": "boolean"
},
"operationValid": {
"type": "boolean"
},
"levelValid": {
"type": "boolean"
},
"processorContextCorruptValid": {
"type": "boolean"
},
"uncorrectedValid": {
"type": "boolean"
},
"preciseIPValid": {
"type": "boolean"
},
"restartableIPValid": {
"type": "boolean"
},
"overflowValid": {
"type": "boolean"
},
"participationTypeValid": {
"type": "boolean"
},
"timedOutValid": {
"type": "boolean"
},
"addressSpaceValid": {
"type": "boolean"
}
}
},
"transactionType": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"operation": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"level": {
"type": "integer",
"minimum": 0
},
"processorContextCorrupt": {
"type": "boolean"
},
"uncorrected": {
"type": "boolean"
},
"preciseIP": {
"type": "boolean"
},
"restartableIP": {
"type": "boolean"
},
"overflow": {
"type": "boolean"
},
"participationType": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"addressSpace": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"timedOut": {
"type": "boolean"
}
}
},
{
"$id": "cper-json-checkinfo2",
"type": "object",
"required": [],
"additionalProperties": false,
"properties": {
"validationBits": {
"type": "object",
"required": [
"errorTypeValid",
"processorContextCorruptValid",
"uncorrectedValid",
"preciseIPValid",
"restartableIPValid",
"overflowValid"
],
"properties": {
"errorTypeValid": {
"type": "boolean"
},
"processorContextCorruptValid": {
"type": "boolean"
},
"uncorrectedValid": {
"type": "boolean"
},
"preciseIPValid": {
"type": "boolean"
},
"restartableIPValid": {
"type": "boolean"
},
"overflowValid": {
"type": "boolean"
}
}
},
"errorType": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"processorContextCorrupt": {
"type": "boolean"
},
"uncorrected": {
"type": "boolean"
},
"preciseIP": {
"type": "boolean"
},
"restartableIP": {
"type": "boolean"
},
"overflow": {
"type": "boolean"
}
}
}
]
},
"targetAddressID": {
"type": "integer"
},
"requestorID": {
"type": "integer"
},
"responderID": {
"type": "integer"
},
"instructionPointer": {
"type": "integer"
}
}
}
},
"processorContextInfo": {
"type": "array",
"description": "This is a variable size field providing the information for the processor context state such as MC Bank MSRs and general registers.",
"items": {
"type": "object",
"required": [
"registerContextType",
"registerArraySize",
"msrAddress",
"mmRegisterAddress"
],
"additionalProperties": false,
"properties": {
"registerContextType": {
"type": "object",
"$ref": "./common/cper-json-nvp.json"
},
"registerArraySize": {
"type": "integer"
},
"msrAddress": {
"type": "integer"
},
"mmRegisterAddress": {
"type": "integer"
},
"registerArray": {
"type": "object",
"oneOf": [
{
"$id": "cper-json-registerarray0",
"type": "object",
"required": [
"eax",
"ebx",
"ecx",
"edx",
"esi",
"edi",
"ebp",
"esp",
"cs",
"ds",
"ss",
"es",
"fs",
"gs",
"eflags",
"eip",
"cr0",
"cr1",
"cr2",
"cr3",
"cr4",
"gdtr",
"idtr",
"ldtr",
"tr"
],
"additionalProperties": false,
"properties": {
"eax": { "type": "integer" },
"ebx": { "type": "integer" },
"ecx": { "type": "integer" },
"edx": { "type": "integer" },
"esi": { "type": "integer" },
"edi": { "type": "integer" },
"ebp": { "type": "integer" },
"esp": { "type": "integer" },
"cs": { "type": "integer" },
"ds": { "type": "integer" },
"ss": { "type": "integer" },
"es": { "type": "integer" },
"fs": { "type": "integer" },
"gs": { "type": "integer" },
"eflags": { "type": "integer" },
"eip": { "type": "integer" },
"cr0": { "type": "integer" },
"cr1": { "type": "integer" },
"cr2": { "type": "integer" },
"cr3": { "type": "integer" },
"cr4": { "type": "integer" },
"gdtr": { "type": "integer" },
"idtr": { "type": "integer" },
"ldtr": { "type": "integer" },
"tr": { "type": "integer" }
}
},
{
"$id": "cper-json-registerarray1",
"type": "object",
"required": [
"rax",
"rbx",
"rcx",
"rdx",
"rsi",
"rdi",
"rbp",
"rsp",
"r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
"cs",
"ds",
"es",
"fs",
"gs",
"rflags",
"eip",
"cr0",
"cr1",
"cr2",
"cr3",
"cr4",
"cr8",
"gdtr_0",
"gdtr_1",
"idtr_0",
"idtr_1",
"ldtr",
"tr"
],
"additionalProperties": false,
"properties": {
"rax": { "type": "integer" },
"rbx": { "type": "integer" },
"rcx": { "type": "integer" },
"rdx": { "type": "integer" },
"rsi": { "type": "integer" },
"rdi": { "type": "integer" },
"rbp": { "type": "integer" },
"rsp": { "type": "integer" },
"r8": { "type": "integer" },
"r9": { "type": "integer" },
"r10": { "type": "integer" },
"r11": { "type": "integer" },
"r12": { "type": "integer" },
"r13": { "type": "integer" },
"r14": { "type": "integer" },
"r15": { "type": "integer" },
"cs": { "type": "integer" },
"ds": { "type": "integer" },
"ss": { "type": "integer" },
"es": { "type": "integer" },
"fs": { "type": "integer" },
"gs": { "type": "integer" },
"rflags": { "type": "integer" },
"eip": { "type": "integer" },
"cr0": { "type": "integer" },
"cr1": { "type": "integer" },
"cr2": { "type": "integer" },
"cr3": { "type": "integer" },
"cr4": { "type": "integer" },
"cr8": { "type": "integer" },
"gdtr_0": { "type": "integer" },
"gdtr_1": { "type": "integer" },
"idtr_0": { "type": "integer" },
"idtr_1": { "type": "integer" },
"ldtr": { "type": "integer" },
"tr": { "type": "integer" }
}
},
{
"$id": "cper-json-registerarray2",
"type": "object",
"required": ["data"],
"additionalProperties": false,
"properties": {
"data": {
"type": "string"
}
}
}
]
}
}
}
}
}
}