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