blob: 6c6e0c2a72fcf36419a8cf2c22a292e2fc2087f7 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
Lawrence Tang079d5812022-07-12 14:15:32 +01002 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -08004 "description": "Generic Processor Error Section",
John Chung044afd02024-05-03 19:58:02 +08005 "required": [
John Chung044afd02024-05-03 19:58:02 +08006 "processorType",
7 "processorISA",
8 "errorType",
9 "operation",
10 "flags",
11 "level",
12 "cpuVersionInfo",
13 "cpuBrandString",
14 "processorID",
15 "targetAddress",
16 "requestorID",
17 "responderID",
18 "instructionIP"
19 ],
Lawrence Tang079d5812022-07-12 14:15:32 +010020 "additionalProperties": false,
21 "properties": {
Lawrence Tang079d5812022-07-12 14:15:32 +010022 "processorType": {
23 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080024 "description": "Identifies the type of the processor architecture.",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010025 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010026 },
27 "processorISA": {
28 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080029 "description": "Identifies the type of the instruction set executing when the error occurred",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010030 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010031 },
32 "errorType": {
33 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080034 "description": "Indicates the type of error that occurred",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010035 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010036 },
37 "operation": {
38 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080039 "description": "Indicates the type of operation",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010040 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010041 },
42 "flags": {
43 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080044 "description": "Indicates additional information about the error",
Lawrence Tangd34f2b12022-07-19 15:36:31 +010045 "required": ["restartable", "preciseIP", "overflow", "corrected"],
Lawrence Tang079d5812022-07-12 14:15:32 +010046 "properties": {
Lawrence Tangd34f2b12022-07-19 15:36:31 +010047 "restartable": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080048 "type": "boolean",
49 "description": "program execution can be restarted reliably after the error"
Lawrence Tang079d5812022-07-12 14:15:32 +010050 },
51 "preciseIP": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080052 "type": "boolean",
53 "description": "the instruction IP captured is directly associated with the error"
Lawrence Tang079d5812022-07-12 14:15:32 +010054 },
55 "overflow": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080056 "type": "boolean",
57 "description": "a machine check overflow occurred (a second error occurred while the results of a previous error were still in the error reporting resources)"
Lawrence Tang079d5812022-07-12 14:15:32 +010058 },
59 "corrected": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080060 "type": "boolean",
61 "description": "the error was corrected by hardware and/or firmware"
Lawrence Tang079d5812022-07-12 14:15:32 +010062 }
63 }
64 },
65 "level": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080066 "type": "integer",
67 "description": "Level of the structure where the error occurred, with 0 being the lowest level of cache."
Lawrence Tang079d5812022-07-12 14:15:32 +010068 },
69 "cpuVersionInfo": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080070 "type": "integer",
71 "description": "This field represents the CPU Version Information and returns Family, Model, and stepping information"
Lawrence Tang079d5812022-07-12 14:15:32 +010072 },
73 "cpuBrandString": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080074 "type": "string",
75 "description": "This field represents the null-terminated ASCII Processor Brand String"
Lawrence Tang079d5812022-07-12 14:15:32 +010076 },
77 "processorID": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080078 "type": "integer",
79 "description": "This value uniquely identifies the logical processor"
Lawrence Tang079d5812022-07-12 14:15:32 +010080 },
81 "targetAddress": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080082 "type": "integer",
83 "description": "Identifies the target address associated with the error"
Lawrence Tang079d5812022-07-12 14:15:32 +010084 },
85 "requestorID": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080086 "type": "integer",
87 "description": "Identifies the requestor associated with the error"
Lawrence Tang079d5812022-07-12 14:15:32 +010088 },
89 "responderID": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080090 "type": "integer",
91 "description": "Identifies the responder associated with the error"
Lawrence Tang079d5812022-07-12 14:15:32 +010092 },
93 "instructionIP": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080094 "type": "integer",
95 "description": "Identifies the instruction pointer when the error occurred"
Lawrence Tang079d5812022-07-12 14:15:32 +010096 }
97 }
John Chung044afd02024-05-03 19:58:02 +080098}