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