xref: /openbmc/libcper/specification/json/sections/cper-arm-processor.json (revision ae8f6d9aaeaf37332e8924dd2c0b6f320335548c)
1{
2    "$schema": "https://json-schema.org/draft/2020-12/schema",
3    "type": "object",
4    "description": "ARM Processor Error Section",
5    "required": ["errorInfoNum", "contextInfoNum", "sectionLength", "midrEl1"],
6    "additionalProperties": false,
7    "properties": {
8        "errorInfoNum": {
9            "type": "integer",
10            "description": "The number of Processor Error Information Structures"
11        },
12        "contextInfoNum": {
13            "type": "integer",
14            "description": "The number of Context Information Structures"
15        },
16        "sectionLength": {
17            "type": "integer",
18            "description": "This describes the total size of the ARM processor error section"
19        },
20        "errorAffinity": {
21            "type": "object",
22            "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",
23            "required": ["value", "type"],
24            "properties": {
25                "value": {
26                    "type": "integer"
27                },
28                "type": {
29                    "type": "string"
30                }
31            }
32        },
33        "mpidrEl1": {
34            "type": "integer",
35            "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"
36        },
37        "affinity3": {
38            "type": "integer"
39        },
40        "midrEl1": {
41            "type": "integer"
42        },
43        "running": {
44            "type": "boolean"
45        },
46        "psciState": {
47            "type": "integer"
48        },
49        "errorInfo": {
50            "type": "array",
51            "items": {
52                "type": "object",
53                "required": ["version", "length", "errorType"],
54                "additionalProperties": false,
55                "properties": {
56                    "version": {
57                        "type": "integer"
58                    },
59                    "length": {
60                        "type": "integer"
61                    },
62                    "errorType": {
63                        "type": "object",
64                        "$ref": "./common/cper-json-nvp.json"
65                    },
66                    "multipleError": {
67                        "type": "object",
68                        "required": ["type", "value"],
69                        "additionalProperties": false,
70                        "properties": {
71                            "type": {
72                                "type": "string"
73                            },
74                            "value": {
75                                "type": "integer"
76                            }
77                        }
78                    },
79                    "flags": {
80                        "type": "object",
81                        "required": [
82                            "firstErrorCaptured",
83                            "lastErrorCaptured",
84                            "propagated",
85                            "overflow"
86                        ],
87                        "properties": {
88                            "firstErrorCaptured": {
89                                "type": "boolean"
90                            },
91                            "lastErrorCaptured": {
92                                "type": "boolean"
93                            },
94                            "propagated": {
95                                "type": "boolean"
96                            },
97                            "overflow": {
98                                "type": "boolean"
99                            }
100                        }
101                    },
102                    "errorInformation": {
103                        "type": "object",
104                        "oneOf": [
105                            {
106                                "$id": "cper-json-cacheerror-section",
107                                "type": "object",
108                                "required": ["cacheError"],
109                                "properties": {
110                                    "cacheError": {
111                                        "type": "object",
112                                        "required": [],
113                                        "additionalProperties": false,
114                                        "properties": {
115                                            "transactionType": {
116                                                "type": "object",
117                                                "$ref": "./common/cper-json-nvp.json"
118                                            },
119                                            "operation": {
120                                                "type": "object",
121                                                "$ref": "./common/cper-json-nvp.json"
122                                            },
123                                            "level": {
124                                                "type": "integer"
125                                            },
126                                            "processorContextCorrupt": {
127                                                "type": "boolean"
128                                            },
129                                            "corrected": {
130                                                "type": "boolean"
131                                            },
132                                            "precisePC": {
133                                                "type": "boolean"
134                                            },
135                                            "restartablePC": {
136                                                "type": "boolean"
137                                            }
138                                        }
139                                    }
140                                }
141                            },
142                            {
143                                "$id": "cper-json-tlberror-section",
144                                "type": "object",
145                                "required": ["tlbError"],
146                                "properties": {
147                                    "tlbError": {
148                                        "type": "object",
149                                        "required": [],
150                                        "additionalProperties": false,
151                                        "properties": {
152                                            "transactionType": {
153                                                "type": "object",
154                                                "$ref": "./common/cper-json-nvp.json"
155                                            },
156                                            "operation": {
157                                                "type": "object",
158                                                "$ref": "./common/cper-json-nvp.json"
159                                            },
160                                            "level": {
161                                                "type": "integer"
162                                            },
163                                            "processorContextCorrupt": {
164                                                "type": "boolean"
165                                            },
166                                            "corrected": {
167                                                "type": "boolean"
168                                            },
169                                            "precisePC": {
170                                                "type": "boolean"
171                                            },
172                                            "restartablePC": {
173                                                "type": "boolean"
174                                            }
175                                        }
176                                    }
177                                }
178                            },
179                            {
180                                "$id": "cper-json-buserror-section",
181                                "type": "object",
182                                "required": ["busError"],
183                                "properties": {
184                                    "busError": {
185                                        "type": "object",
186                                        "required": [
187                                            "timedOut",
188                                            "participationType",
189                                            "addressSpace",
190                                            "memoryAttributes",
191                                            "accessMode"
192                                        ],
193                                        "additionalProperties": false,
194                                        "properties": {
195                                            "transactionType": {
196                                                "type": "object",
197                                                "$ref": "./common/cper-json-nvp.json"
198                                            },
199                                            "operation": {
200                                                "type": "object",
201                                                "$ref": "./common/cper-json-nvp.json"
202                                            },
203                                            "level": {
204                                                "type": "integer"
205                                            },
206                                            "processorContextCorrupt": {
207                                                "type": "boolean"
208                                            },
209                                            "corrected": {
210                                                "type": "boolean"
211                                            },
212                                            "precisePC": {
213                                                "type": "boolean"
214                                            },
215                                            "restartablePC": {
216                                                "type": "boolean"
217                                            },
218                                            "timedOut": {
219                                                "type": "boolean"
220                                            },
221                                            "participationType": {
222                                                "type": "object",
223                                                "$ref": "./common/cper-json-nvp.json"
224                                            },
225                                            "addressSpace": {
226                                                "type": "object",
227                                                "$ref": "./common/cper-json-nvp.json"
228                                            },
229                                            "accessMode": {
230                                                "type": "object",
231                                                "$ref": "./common/cper-json-nvp.json"
232                                            },
233                                            "memoryAttributes": {
234                                                "type": "integer"
235                                            }
236                                        }
237                                    }
238                                }
239                            }
240                        ]
241                    },
242                    "virtualFaultAddress": {
243                        "type": "integer"
244                    },
245                    "physicalFaultAddress": {
246                        "type": "integer"
247                    }
248                }
249            }
250        },
251        "contextInfo": {
252            "type": "array",
253            "items": {
254                "type": "object",
255                "required": [
256                    "version",
257                    "registerContextType",
258                    "registerArraySize",
259                    "registerArray"
260                ],
261                "additionalProperties": false,
262                "properties": {
263                    "version": {
264                        "type": "integer",
265                        "minimum": 0
266                    },
267                    "registerContextType": {
268                        "type": "object",
269                        "$ref": "./common/cper-json-nvp.json"
270                    },
271                    "registerArraySize": {
272                        "type": "integer"
273                    },
274                    "registerArray": {
275                        "type": "object",
276                        "oneOf": [
277                            {
278                                "$id": "cper-json-registerarray0",
279                                "type": "object",
280                                "required": [
281                                    "r1",
282                                    "r2",
283                                    "r3",
284                                    "r4",
285                                    "r5",
286                                    "r6",
287                                    "r7",
288                                    "r8",
289                                    "r9",
290                                    "r10",
291                                    "r11",
292                                    "r12",
293                                    "r13_sp",
294                                    "r14_lr",
295                                    "r15_pc"
296                                ],
297                                "properties": {
298                                    "r0": { "type": "integer" },
299                                    "r1": { "type": "integer" },
300                                    "r2": { "type": "integer" },
301                                    "r3": { "type": "integer" },
302                                    "r4": { "type": "integer" },
303                                    "r5": { "type": "integer" },
304                                    "r6": { "type": "integer" },
305                                    "r7": { "type": "integer" },
306                                    "r8": { "type": "integer" },
307                                    "r9": { "type": "integer" },
308                                    "r10": { "type": "integer" },
309                                    "r11": { "type": "integer" },
310                                    "r12": { "type": "integer" },
311                                    "r13_sp": { "type": "integer" },
312                                    "r14_lr": { "type": "integer" },
313                                    "r15_pc": { "type": "integer" }
314                                }
315                            },
316                            {
317                                "$id": "cper-json-registerarray1",
318                                "type": "object",
319                                "required": [
320                                    "dfar",
321                                    "dfsr",
322                                    "ifar",
323                                    "isr",
324                                    "mair0",
325                                    "mair1",
326                                    "midr",
327                                    "mpidr",
328                                    "nmrr",
329                                    "prrr",
330                                    "sctlr_ns",
331                                    "spsr",
332                                    "spsr_abt",
333                                    "spsr_fiq",
334                                    "spsr_irq",
335                                    "spsr_svc",
336                                    "spsr_und",
337                                    "tpidrprw",
338                                    "tpidruro",
339                                    "tpidrurw",
340                                    "ttbcr",
341                                    "ttbr0",
342                                    "ttbr1",
343                                    "dacr"
344                                ],
345                                "properties": {
346                                    "dfar": { "type": "integer" },
347                                    "dfsr": { "type": "integer" },
348                                    "ifar": { "type": "integer" },
349                                    "isr": { "type": "integer" },
350                                    "mair0": { "type": "integer" },
351                                    "mair1": { "type": "integer" },
352                                    "midr": { "type": "integer" },
353                                    "mpidr": { "type": "integer" },
354                                    "nmrr": { "type": "integer" },
355                                    "prrr": { "type": "integer" },
356                                    "sctlr_ns": { "type": "integer" },
357                                    "spsr": { "type": "integer" },
358                                    "spsr_abt": { "type": "integer" },
359                                    "spsr_fiq": { "type": "integer" },
360                                    "spsr_irq": { "type": "integer" },
361                                    "spsr_svc": { "type": "integer" },
362                                    "spsr_und": { "type": "integer" },
363                                    "tpidrprw": { "type": "integer" },
364                                    "tpidruro": { "type": "integer" },
365                                    "tpidrurw": { "type": "integer" },
366                                    "ttbcr": { "type": "integer" },
367                                    "ttbr0": { "type": "integer" },
368                                    "ttbr1": { "type": "integer" },
369                                    "dacr": { "type": "integer" }
370                                }
371                            },
372                            {
373                                "$id": "cper-json-registerarray2",
374                                "type": "object",
375                                "required": [
376                                    "elr_hyp",
377                                    "hamair0",
378                                    "hamair1",
379                                    "hcr",
380                                    "hcr2",
381                                    "hdfar",
382                                    "hifar",
383                                    "hpfar",
384                                    "hsr",
385                                    "htcr",
386                                    "htpidr",
387                                    "httbr",
388                                    "spsr_hyp",
389                                    "vtcr",
390                                    "vttbr",
391                                    "dacr32_el2"
392                                ],
393                                "properties": {
394                                    "elr_hyp": { "type": "integer" },
395                                    "hamair0": { "type": "integer" },
396                                    "hamair1": { "type": "integer" },
397                                    "hcr": { "type": "integer" },
398                                    "hcr2": { "type": "integer" },
399                                    "hdfar": { "type": "integer" },
400                                    "hifar": { "type": "integer" },
401                                    "hpfar": { "type": "integer" },
402                                    "hsr": { "type": "integer" },
403                                    "htcr": { "type": "integer" },
404                                    "htpidr": { "type": "integer" },
405                                    "httbr": { "type": "integer" },
406                                    "spsr_hyp": { "type": "integer" },
407                                    "vtcr": { "type": "integer" },
408                                    "vttbr": { "type": "integer" },
409                                    "dacr32_el2": { "type": "integer" }
410                                }
411                            },
412                            {
413                                "$id": "cper-json-registerarray3",
414                                "type": "object",
415                                "required": ["sctlr_s", "spsr_mon"],
416                                "properties": {
417                                    "sctlr_s": { "type": "integer" },
418                                    "spsr_mon": { "type": "integer" }
419                                }
420                            },
421                            {
422                                "$id": "cper-json-registerarray4",
423                                "type": "object",
424                                "required": [
425                                    "x0",
426                                    "x1",
427                                    "x2",
428                                    "x3",
429                                    "x4",
430                                    "x5",
431                                    "x6",
432                                    "x7",
433                                    "x8",
434                                    "x9",
435                                    "x10",
436                                    "x11",
437                                    "x12",
438                                    "x13",
439                                    "x14",
440                                    "x15",
441                                    "x16",
442                                    "x17",
443                                    "x18",
444                                    "x19",
445                                    "x20",
446                                    "x21",
447                                    "x22",
448                                    "x23",
449                                    "x24",
450                                    "x25",
451                                    "x26",
452                                    "x27",
453                                    "x28",
454                                    "x29",
455                                    "x30",
456                                    "sp"
457                                ],
458                                "properties": {
459                                    "x0": { "type": "integer" },
460                                    "x1": { "type": "integer" },
461                                    "x2": { "type": "integer" },
462                                    "x3": { "type": "integer" },
463                                    "x4": { "type": "integer" },
464                                    "x5": { "type": "integer" },
465                                    "x6": { "type": "integer" },
466                                    "x7": { "type": "integer" },
467                                    "x8": { "type": "integer" },
468                                    "x9": { "type": "integer" },
469                                    "x10": { "type": "integer" },
470                                    "x11": { "type": "integer" },
471                                    "x12": { "type": "integer" },
472                                    "x13": { "type": "integer" },
473                                    "x14": { "type": "integer" },
474                                    "x15": { "type": "integer" },
475                                    "x16": { "type": "integer" },
476                                    "x17": { "type": "integer" },
477                                    "x18": { "type": "integer" },
478                                    "x19": { "type": "integer" },
479                                    "x20": { "type": "integer" },
480                                    "x21": { "type": "integer" },
481                                    "x22": { "type": "integer" },
482                                    "x23": { "type": "integer" },
483                                    "x24": { "type": "integer" },
484                                    "x25": { "type": "integer" },
485                                    "x26": { "type": "integer" },
486                                    "x27": { "type": "integer" },
487                                    "x28": { "type": "integer" },
488                                    "x29": { "type": "integer" },
489                                    "x30": { "type": "integer" },
490                                    "sp": { "type": "integer" }
491                                }
492                            },
493                            {
494                                "$id": "cper-json-registerarray5",
495                                "type": "object",
496                                "required": [
497                                    "elr_el1",
498                                    "esr_el1",
499                                    "far_el1",
500                                    "isr_el1",
501                                    "mair_el1",
502                                    "midr_el1",
503                                    "mpidr_el1",
504                                    "sctlr_el1",
505                                    "sp_el0",
506                                    "sp_el1",
507                                    "spsr_el1",
508                                    "tcr_el1",
509                                    "tpidr_el0",
510                                    "tpidr_el1",
511                                    "tpidrro_el0",
512                                    "ttbr0_el1",
513                                    "ttbr1_el1"
514                                ],
515                                "properties": {
516                                    "elr_el1": { "type": "integer" },
517                                    "esr_el1": { "type": "integer" },
518                                    "far_el1": { "type": "integer" },
519                                    "isr_el1": { "type": "integer" },
520                                    "mair_el1": { "type": "integer" },
521                                    "midr_el1": { "type": "integer" },
522                                    "mpidr_el1": { "type": "integer" },
523                                    "sctlr_el1": { "type": "integer" },
524                                    "sp_el0": { "type": "integer" },
525                                    "sp_el1": { "type": "integer" },
526                                    "spsr_el1": { "type": "integer" },
527                                    "tcr_el1": { "type": "integer" },
528                                    "tpidr_el0": { "type": "integer" },
529                                    "tpidr_el1": { "type": "integer" },
530                                    "tpidrro_el0": { "type": "integer" },
531                                    "ttbr0_el1": { "type": "integer" },
532                                    "ttbr1_el1": { "type": "integer" }
533                                }
534                            },
535                            {
536                                "$id": "cper-json-registerarray6",
537                                "type": "object",
538                                "required": [
539                                    "elr_el2",
540                                    "esr_el2",
541                                    "far_el2",
542                                    "hacr_el2",
543                                    "hcr_el2",
544                                    "hpfar_el2",
545                                    "mair_el2",
546                                    "sctlr_el2",
547                                    "sp_el2",
548                                    "spsr_el2",
549                                    "tcr_el2",
550                                    "tpidr_el2",
551                                    "ttbr0_el2",
552                                    "vtcr_el2",
553                                    "vttbr_el2"
554                                ],
555                                "properties": {
556                                    "elr_el2": { "type": "integer" },
557                                    "esr_el2": { "type": "integer" },
558                                    "far_el2": { "type": "integer" },
559                                    "hacr_el2": { "type": "integer" },
560                                    "hcr_el2": { "type": "integer" },
561                                    "hpfar_el2": { "type": "integer" },
562                                    "mair_el2": { "type": "integer" },
563                                    "sctlr_el2": { "type": "integer" },
564                                    "sp_el2": { "type": "integer" },
565                                    "spsr_el2": { "type": "integer" },
566                                    "tcr_el2": { "type": "integer" },
567                                    "tpidr_el2": { "type": "integer" },
568                                    "ttbr0_el2": { "type": "integer" },
569                                    "vtcr_el2": { "type": "integer" },
570                                    "vttbr_el2": { "type": "integer" }
571                                }
572                            },
573                            {
574                                "$id": "cper-json-registerarray7",
575                                "type": "object",
576                                "required": [
577                                    "elr_el3",
578                                    "esr_el3",
579                                    "far_el3",
580                                    "mair_el3",
581                                    "sctlr_el3",
582                                    "sp_el3",
583                                    "spsr_el3",
584                                    "tcr_el3",
585                                    "tpidr_el3",
586                                    "ttbr0_el3"
587                                ],
588                                "properties": {
589                                    "elr_el3": { "type": "integer" },
590                                    "esr_el3": { "type": "integer" },
591                                    "far_el3": { "type": "integer" },
592                                    "mair_el3": { "type": "integer" },
593                                    "sctlr_el3": { "type": "integer" },
594                                    "sp_el3": { "type": "integer" },
595                                    "spsr_el3": { "type": "integer" },
596                                    "tcr_el3": { "type": "integer" },
597                                    "tpidr_el3": { "type": "integer" },
598                                    "ttbr0_el3": { "type": "integer" }
599                                }
600                            },
601                            {
602                                "$id": "cper-json-registerarray8",
603                                "type": "object",
604                                "required": ["mrsEncoding", "value"],
605                                "additionalProperties": false,
606                                "properties": {
607                                    "mrsEncoding": {
608                                        "type": "object",
609                                        "required": [
610                                            "op2",
611                                            "crm",
612                                            "crn",
613                                            "op1",
614                                            "o0"
615                                        ],
616                                        "properties": {
617                                            "op2": { "type": "integer" },
618                                            "crm": { "type": "integer" },
619                                            "crn": { "type": "integer" },
620                                            "op1": { "type": "integer" },
621                                            "o0": { "type": "integer" }
622                                        }
623                                    },
624                                    "value": {
625                                        "type": "integer"
626                                    }
627                                }
628                            },
629                            {
630                                "$id": "cper-json-registerarray9",
631                                "type": "object",
632                                "required": ["data"],
633                                "properties": {
634                                    "data": {
635                                        "type": "string"
636                                    }
637                                }
638                            }
639                        ]
640                    }
641                }
642            }
643        },
644        "vendorSpecificInfo": {
645            "type": "object",
646            "required": ["data"],
647            "additionalProperties": false,
648            "properties": {
649                "data": {
650                    "type": "string"
651                }
652            }
653        }
654    }
655}
656