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