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