xref: /openbmc/libcper/specification/json/sections/cper-arm-processor.json (revision 043d5f4b4f95d9f2a4f8182850ed0e6f2b076b15)
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            "additionalProperties": false,
23            "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",
24            "required": ["value", "type"],
25            "properties": {
26                "value": {
27                    "type": "integer"
28                },
29                "type": {
30                    "type": "string"
31                }
32            }
33        },
34        "mpidrEl1": {
35            "type": "integer",
36            "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"
37        },
38        "affinity3": {
39            "type": "integer"
40        },
41        "midrEl1": {
42            "type": "integer"
43        },
44        "running": {
45            "type": "boolean"
46        },
47        "psciState": {
48            "type": "integer"
49        },
50        "errorInfo": {
51            "type": "array",
52            "items": {
53                "type": ["object", "null"],
54                "required": ["version", "length", "errorType"],
55                "additionalProperties": false,
56                "properties": {
57                    "version": {
58                        "type": "integer"
59                    },
60                    "length": {
61                        "type": "integer"
62                    },
63                    "errorType": {
64                        "type": "object",
65                        "additionalProperties": false,
66                        "required": [
67                            "Cache Error",
68                            "TLB Error",
69                            "Bus Error",
70                            "Micro-Architectural Error"
71                        ],
72                        "properties": {
73                            "Cache Error": {
74                                "type": "boolean"
75                            },
76                            "TLB Error": {
77                                "type": "boolean"
78                            },
79                            "Bus Error": {
80                                "type": "boolean"
81                            },
82                            "Micro-Architectural Error": {
83                                "type": "boolean"
84                            }
85                        }
86                    },
87                    "multipleError": {
88                        "type": "object",
89                        "required": ["type", "value"],
90                        "additionalProperties": false,
91                        "properties": {
92                            "type": {
93                                "type": "string"
94                            },
95                            "value": {
96                                "type": "integer"
97                            }
98                        }
99                    },
100                    "flags": {
101                        "type": "object",
102                        "additionalProperties": false,
103                        "required": [
104                            "firstErrorCaptured",
105                            "lastErrorCaptured",
106                            "propagated",
107                            "overflow"
108                        ],
109                        "properties": {
110                            "firstErrorCaptured": {
111                                "type": "boolean"
112                            },
113                            "lastErrorCaptured": {
114                                "type": "boolean"
115                            },
116                            "propagated": {
117                                "type": "boolean"
118                            },
119                            "overflow": {
120                                "type": "boolean"
121                            }
122                        }
123                    },
124                    "errorInformation": {
125                        "type": "object",
126                        "additionalProperties": false,
127                        "minProperties": 1,
128                        "maxProperties": 1,
129                        "required": [],
130                        "properties": {
131                            "cacheError": {
132                                "type": "object",
133                                "required": [],
134                                "additionalProperties": false,
135                                "properties": {
136                                    "transactionType": {
137                                        "type": "object",
138                                        "$ref": "./common/cper-json-nvp.json"
139                                    },
140                                    "operation": {
141                                        "type": "object",
142                                        "$ref": "./common/cper-json-nvp.json"
143                                    },
144                                    "level": {
145                                        "type": "integer"
146                                    },
147                                    "processorContextCorrupt": {
148                                        "type": "boolean"
149                                    },
150                                    "corrected": {
151                                        "type": "boolean"
152                                    },
153                                    "precisePC": {
154                                        "type": "boolean"
155                                    },
156                                    "restartablePC": {
157                                        "type": "boolean"
158                                    }
159                                }
160                            },
161                            "tlbError": {
162                                "type": "object",
163                                "required": [],
164                                "additionalProperties": false,
165                                "properties": {
166                                    "transactionType": {
167                                        "type": "object",
168                                        "$ref": "./common/cper-json-nvp.json"
169                                    },
170                                    "operation": {
171                                        "type": "object",
172                                        "$ref": "./common/cper-json-nvp.json"
173                                    },
174                                    "level": {
175                                        "type": "integer"
176                                    },
177                                    "processorContextCorrupt": {
178                                        "type": "boolean"
179                                    },
180                                    "corrected": {
181                                        "type": "boolean"
182                                    },
183                                    "precisePC": {
184                                        "type": "boolean"
185                                    },
186                                    "restartablePC": {
187                                        "type": "boolean"
188                                    }
189                                }
190                            },
191                            "busError": {
192                                "type": "object",
193                                "required": [],
194                                "additionalProperties": false,
195                                "properties": {
196                                    "transactionType": {
197                                        "type": "object",
198                                        "$ref": "./common/cper-json-nvp.json"
199                                    },
200                                    "operation": {
201                                        "type": "object",
202                                        "$ref": "./common/cper-json-nvp.json"
203                                    },
204                                    "level": {
205                                        "type": "integer"
206                                    },
207                                    "processorContextCorrupt": {
208                                        "type": "boolean"
209                                    },
210                                    "corrected": {
211                                        "type": "boolean"
212                                    },
213                                    "precisePC": {
214                                        "type": "boolean"
215                                    },
216                                    "restartablePC": {
217                                        "type": "boolean"
218                                    },
219                                    "timedOut": {
220                                        "type": "boolean"
221                                    },
222                                    "participationType": {
223                                        "type": "object",
224                                        "$ref": "./common/cper-json-nvp.json"
225                                    },
226                                    "addressSpace": {
227                                        "type": "object",
228                                        "$ref": "./common/cper-json-nvp.json"
229                                    },
230                                    "accessMode": {
231                                        "type": "object",
232                                        "$ref": "./common/cper-json-nvp.json"
233                                    },
234                                    "memoryAttributes": {
235                                        "type": "integer"
236                                    }
237                                }
238                            }
239                        }
240                    },
241                    "virtualFaultAddress": {
242                        "type": "integer"
243                    },
244                    "physicalFaultAddress": {
245                        "type": "integer"
246                    }
247                }
248            }
249        },
250        "contextInfo": {
251            "type": "array",
252            "items": {
253                "type": "object",
254                "required": [
255                    "version",
256                    "registerContextType",
257                    "registerArraySize",
258                    "registerArray"
259                ],
260                "additionalProperties": false,
261                "properties": {
262                    "version": {
263                        "type": "integer",
264                        "minimum": 0
265                    },
266                    "registerContextType": {
267                        "type": "object",
268                        "$ref": "./common/cper-json-nvp.json"
269                    },
270                    "registerArraySize": {
271                        "type": "integer"
272                    },
273                    "registerArray": {
274                        "type": "object",
275                        "oneOf": [
276                            {
277                                "$id": "cper-json-registerarray0",
278                                "type": "object",
279                                "additionalProperties": false,
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": {
299                                        "type": "integer"
300                                    },
301                                    "r1": {
302                                        "type": "integer"
303                                    },
304                                    "r2": {
305                                        "type": "integer"
306                                    },
307                                    "r3": {
308                                        "type": "integer"
309                                    },
310                                    "r4": {
311                                        "type": "integer"
312                                    },
313                                    "r5": {
314                                        "type": "integer"
315                                    },
316                                    "r6": {
317                                        "type": "integer"
318                                    },
319                                    "r7": {
320                                        "type": "integer"
321                                    },
322                                    "r8": {
323                                        "type": "integer"
324                                    },
325                                    "r9": {
326                                        "type": "integer"
327                                    },
328                                    "r10": {
329                                        "type": "integer"
330                                    },
331                                    "r11": {
332                                        "type": "integer"
333                                    },
334                                    "r12": {
335                                        "type": "integer"
336                                    },
337                                    "r13_sp": {
338                                        "type": "integer"
339                                    },
340                                    "r14_lr": {
341                                        "type": "integer"
342                                    },
343                                    "r15_pc": {
344                                        "type": "integer"
345                                    }
346                                }
347                            },
348                            {
349                                "$id": "cper-json-registerarray1",
350                                "type": "object",
351                                "additionalProperties": false,
352                                "required": [
353                                    "dfar",
354                                    "dfsr",
355                                    "ifar",
356                                    "isr",
357                                    "mair0",
358                                    "mair1",
359                                    "midr",
360                                    "mpidr",
361                                    "nmrr",
362                                    "prrr",
363                                    "sctlr_ns",
364                                    "spsr",
365                                    "spsr_abt",
366                                    "spsr_fiq",
367                                    "spsr_irq",
368                                    "spsr_svc",
369                                    "spsr_und",
370                                    "tpidrprw",
371                                    "tpidruro",
372                                    "tpidrurw",
373                                    "ttbcr",
374                                    "ttbr0",
375                                    "ttbr1",
376                                    "dacr"
377                                ],
378                                "properties": {
379                                    "dfar": {
380                                        "type": "integer"
381                                    },
382                                    "dfsr": {
383                                        "type": "integer"
384                                    },
385                                    "ifar": {
386                                        "type": "integer"
387                                    },
388                                    "isr": {
389                                        "type": "integer"
390                                    },
391                                    "mair0": {
392                                        "type": "integer"
393                                    },
394                                    "mair1": {
395                                        "type": "integer"
396                                    },
397                                    "midr": {
398                                        "type": "integer"
399                                    },
400                                    "mpidr": {
401                                        "type": "integer"
402                                    },
403                                    "nmrr": {
404                                        "type": "integer"
405                                    },
406                                    "prrr": {
407                                        "type": "integer"
408                                    },
409                                    "sctlr_ns": {
410                                        "type": "integer"
411                                    },
412                                    "spsr": {
413                                        "type": "integer"
414                                    },
415                                    "spsr_abt": {
416                                        "type": "integer"
417                                    },
418                                    "spsr_fiq": {
419                                        "type": "integer"
420                                    },
421                                    "spsr_irq": {
422                                        "type": "integer"
423                                    },
424                                    "spsr_svc": {
425                                        "type": "integer"
426                                    },
427                                    "spsr_und": {
428                                        "type": "integer"
429                                    },
430                                    "tpidrprw": {
431                                        "type": "integer"
432                                    },
433                                    "tpidruro": {
434                                        "type": "integer"
435                                    },
436                                    "tpidrurw": {
437                                        "type": "integer"
438                                    },
439                                    "ttbcr": {
440                                        "type": "integer"
441                                    },
442                                    "ttbr0": {
443                                        "type": "integer"
444                                    },
445                                    "ttbr1": {
446                                        "type": "integer"
447                                    },
448                                    "dacr": {
449                                        "type": "integer"
450                                    }
451                                }
452                            },
453                            {
454                                "$id": "cper-json-registerarray2",
455                                "type": "object",
456                                "additionalProperties": false,
457                                "required": [
458                                    "elr_hyp",
459                                    "hamair0",
460                                    "hamair1",
461                                    "hcr",
462                                    "hcr2",
463                                    "hdfar",
464                                    "hifar",
465                                    "hpfar",
466                                    "hsr",
467                                    "htcr",
468                                    "htpidr",
469                                    "httbr",
470                                    "spsr_hyp",
471                                    "vtcr",
472                                    "vttbr",
473                                    "dacr32_el2"
474                                ],
475                                "properties": {
476                                    "elr_hyp": {
477                                        "type": "integer"
478                                    },
479                                    "hamair0": {
480                                        "type": "integer"
481                                    },
482                                    "hamair1": {
483                                        "type": "integer"
484                                    },
485                                    "hcr": {
486                                        "type": "integer"
487                                    },
488                                    "hcr2": {
489                                        "type": "integer"
490                                    },
491                                    "hdfar": {
492                                        "type": "integer"
493                                    },
494                                    "hifar": {
495                                        "type": "integer"
496                                    },
497                                    "hpfar": {
498                                        "type": "integer"
499                                    },
500                                    "hsr": {
501                                        "type": "integer"
502                                    },
503                                    "htcr": {
504                                        "type": "integer"
505                                    },
506                                    "htpidr": {
507                                        "type": "integer"
508                                    },
509                                    "httbr": {
510                                        "type": "integer"
511                                    },
512                                    "spsr_hyp": {
513                                        "type": "integer"
514                                    },
515                                    "vtcr": {
516                                        "type": "integer"
517                                    },
518                                    "vttbr": {
519                                        "type": "integer"
520                                    },
521                                    "dacr32_el2": {
522                                        "type": "integer"
523                                    }
524                                }
525                            },
526                            {
527                                "$id": "cper-json-registerarray3",
528                                "type": "object",
529                                "additionalProperties": false,
530                                "required": ["sctlr_s", "spsr_mon"],
531                                "properties": {
532                                    "sctlr_s": {
533                                        "type": "integer"
534                                    },
535                                    "spsr_mon": {
536                                        "type": "integer"
537                                    }
538                                }
539                            },
540                            {
541                                "$id": "cper-json-registerarray4",
542                                "type": "object",
543                                "additionalProperties": false,
544                                "required": [
545                                    "x0",
546                                    "x1",
547                                    "x2",
548                                    "x3",
549                                    "x4",
550                                    "x5",
551                                    "x6",
552                                    "x7",
553                                    "x8",
554                                    "x9",
555                                    "x10",
556                                    "x11",
557                                    "x12",
558                                    "x13",
559                                    "x14",
560                                    "x15",
561                                    "x16",
562                                    "x17",
563                                    "x18",
564                                    "x19",
565                                    "x20",
566                                    "x21",
567                                    "x22",
568                                    "x23",
569                                    "x24",
570                                    "x25",
571                                    "x26",
572                                    "x27",
573                                    "x28",
574                                    "x29",
575                                    "x30",
576                                    "sp"
577                                ],
578                                "properties": {
579                                    "x0": {
580                                        "type": "integer"
581                                    },
582                                    "x1": {
583                                        "type": "integer"
584                                    },
585                                    "x2": {
586                                        "type": "integer"
587                                    },
588                                    "x3": {
589                                        "type": "integer"
590                                    },
591                                    "x4": {
592                                        "type": "integer"
593                                    },
594                                    "x5": {
595                                        "type": "integer"
596                                    },
597                                    "x6": {
598                                        "type": "integer"
599                                    },
600                                    "x7": {
601                                        "type": "integer"
602                                    },
603                                    "x8": {
604                                        "type": "integer"
605                                    },
606                                    "x9": {
607                                        "type": "integer"
608                                    },
609                                    "x10": {
610                                        "type": "integer"
611                                    },
612                                    "x11": {
613                                        "type": "integer"
614                                    },
615                                    "x12": {
616                                        "type": "integer"
617                                    },
618                                    "x13": {
619                                        "type": "integer"
620                                    },
621                                    "x14": {
622                                        "type": "integer"
623                                    },
624                                    "x15": {
625                                        "type": "integer"
626                                    },
627                                    "x16": {
628                                        "type": "integer"
629                                    },
630                                    "x17": {
631                                        "type": "integer"
632                                    },
633                                    "x18": {
634                                        "type": "integer"
635                                    },
636                                    "x19": {
637                                        "type": "integer"
638                                    },
639                                    "x20": {
640                                        "type": "integer"
641                                    },
642                                    "x21": {
643                                        "type": "integer"
644                                    },
645                                    "x22": {
646                                        "type": "integer"
647                                    },
648                                    "x23": {
649                                        "type": "integer"
650                                    },
651                                    "x24": {
652                                        "type": "integer"
653                                    },
654                                    "x25": {
655                                        "type": "integer"
656                                    },
657                                    "x26": {
658                                        "type": "integer"
659                                    },
660                                    "x27": {
661                                        "type": "integer"
662                                    },
663                                    "x28": {
664                                        "type": "integer"
665                                    },
666                                    "x29": {
667                                        "type": "integer"
668                                    },
669                                    "x30": {
670                                        "type": "integer"
671                                    },
672                                    "sp": {
673                                        "type": "integer"
674                                    }
675                                }
676                            },
677                            {
678                                "$id": "cper-json-registerarray5",
679                                "type": "object",
680                                "additionalProperties": false,
681                                "required": [
682                                    "elr_el1",
683                                    "esr_el1",
684                                    "far_el1",
685                                    "isr_el1",
686                                    "mair_el1",
687                                    "midr_el1",
688                                    "mpidr_el1",
689                                    "sctlr_el1",
690                                    "sp_el0",
691                                    "sp_el1",
692                                    "spsr_el1",
693                                    "tcr_el1",
694                                    "tpidr_el0",
695                                    "tpidr_el1",
696                                    "tpidrro_el0",
697                                    "ttbr0_el1",
698                                    "ttbr1_el1"
699                                ],
700                                "properties": {
701                                    "elr_el1": {
702                                        "type": "integer"
703                                    },
704                                    "esr_el1": {
705                                        "type": "integer"
706                                    },
707                                    "far_el1": {
708                                        "type": "integer"
709                                    },
710                                    "isr_el1": {
711                                        "type": "integer"
712                                    },
713                                    "mair_el1": {
714                                        "type": "integer"
715                                    },
716                                    "midr_el1": {
717                                        "type": "integer"
718                                    },
719                                    "mpidr_el1": {
720                                        "type": "integer"
721                                    },
722                                    "sctlr_el1": {
723                                        "type": "integer"
724                                    },
725                                    "sp_el0": {
726                                        "type": "integer"
727                                    },
728                                    "sp_el1": {
729                                        "type": "integer"
730                                    },
731                                    "spsr_el1": {
732                                        "type": "integer"
733                                    },
734                                    "tcr_el1": {
735                                        "type": "integer"
736                                    },
737                                    "tpidr_el0": {
738                                        "type": "integer"
739                                    },
740                                    "tpidr_el1": {
741                                        "type": "integer"
742                                    },
743                                    "tpidrro_el0": {
744                                        "type": "integer"
745                                    },
746                                    "ttbr0_el1": {
747                                        "type": "integer"
748                                    },
749                                    "ttbr1_el1": {
750                                        "type": "integer"
751                                    }
752                                }
753                            },
754                            {
755                                "$id": "cper-json-registerarray6",
756                                "type": "object",
757                                "additionalProperties": false,
758                                "required": [
759                                    "elr_el2",
760                                    "esr_el2",
761                                    "far_el2",
762                                    "hacr_el2",
763                                    "hcr_el2",
764                                    "hpfar_el2",
765                                    "mair_el2",
766                                    "sctlr_el2",
767                                    "sp_el2",
768                                    "spsr_el2",
769                                    "tcr_el2",
770                                    "tpidr_el2",
771                                    "ttbr0_el2",
772                                    "vtcr_el2",
773                                    "vttbr_el2"
774                                ],
775                                "properties": {
776                                    "elr_el2": {
777                                        "type": "integer"
778                                    },
779                                    "esr_el2": {
780                                        "type": "integer"
781                                    },
782                                    "far_el2": {
783                                        "type": "integer"
784                                    },
785                                    "hacr_el2": {
786                                        "type": "integer"
787                                    },
788                                    "hcr_el2": {
789                                        "type": "integer"
790                                    },
791                                    "hpfar_el2": {
792                                        "type": "integer"
793                                    },
794                                    "mair_el2": {
795                                        "type": "integer"
796                                    },
797                                    "sctlr_el2": {
798                                        "type": "integer"
799                                    },
800                                    "sp_el2": {
801                                        "type": "integer"
802                                    },
803                                    "spsr_el2": {
804                                        "type": "integer"
805                                    },
806                                    "tcr_el2": {
807                                        "type": "integer"
808                                    },
809                                    "tpidr_el2": {
810                                        "type": "integer"
811                                    },
812                                    "ttbr0_el2": {
813                                        "type": "integer"
814                                    },
815                                    "vtcr_el2": {
816                                        "type": "integer"
817                                    },
818                                    "vttbr_el2": {
819                                        "type": "integer"
820                                    }
821                                }
822                            },
823                            {
824                                "$id": "cper-json-registerarray7",
825                                "type": "object",
826                                "additionalProperties": false,
827                                "required": [
828                                    "elr_el3",
829                                    "esr_el3",
830                                    "far_el3",
831                                    "mair_el3",
832                                    "sctlr_el3",
833                                    "sp_el3",
834                                    "spsr_el3",
835                                    "tcr_el3",
836                                    "tpidr_el3",
837                                    "ttbr0_el3"
838                                ],
839                                "properties": {
840                                    "elr_el3": {
841                                        "type": "integer"
842                                    },
843                                    "esr_el3": {
844                                        "type": "integer"
845                                    },
846                                    "far_el3": {
847                                        "type": "integer"
848                                    },
849                                    "mair_el3": {
850                                        "type": "integer"
851                                    },
852                                    "sctlr_el3": {
853                                        "type": "integer"
854                                    },
855                                    "sp_el3": {
856                                        "type": "integer"
857                                    },
858                                    "spsr_el3": {
859                                        "type": "integer"
860                                    },
861                                    "tcr_el3": {
862                                        "type": "integer"
863                                    },
864                                    "tpidr_el3": {
865                                        "type": "integer"
866                                    },
867                                    "ttbr0_el3": {
868                                        "type": "integer"
869                                    }
870                                }
871                            },
872                            {
873                                "$id": "cper-json-registerarray8",
874                                "type": "object",
875                                "required": ["mrsEncoding", "value"],
876                                "additionalProperties": false,
877                                "properties": {
878                                    "mrsEncoding": {
879                                        "type": "object",
880                                        "required": [
881                                            "op2",
882                                            "crm",
883                                            "crn",
884                                            "op1",
885                                            "o0"
886                                        ],
887                                        "properties": {
888                                            "op2": {
889                                                "type": "integer"
890                                            },
891                                            "crm": {
892                                                "type": "integer"
893                                            },
894                                            "crn": {
895                                                "type": "integer"
896                                            },
897                                            "op1": {
898                                                "type": "integer"
899                                            },
900                                            "o0": {
901                                                "type": "integer"
902                                            }
903                                        }
904                                    },
905                                    "value": {
906                                        "type": "integer"
907                                    }
908                                }
909                            },
910                            {
911                                "$id": "cper-json-registerarray9",
912                                "type": "object",
913                                "additionalProperties": false,
914                                "required": ["data"],
915                                "properties": {
916                                    "data": {
917                                        "type": "string"
918                                    }
919                                }
920                            }
921                        ]
922                    }
923                }
924            }
925        },
926        "vendorSpecificInfo": {
927            "type": "object",
928            "required": ["data"],
929            "additionalProperties": false,
930            "properties": {
931                "data": {
932                    "type": "string"
933                }
934            }
935        }
936    }
937}
938