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