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