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