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