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 "required": ["cacheError"], 170 "cacheError": { 171 "type": "object", 172 "required": [ 173 "validationBits", 174 "transactionType", 175 "operation", 176 "level", 177 "processorContextCorrupt", 178 "corrected", 179 "precisePC", 180 "restartablePC" 181 ], 182 "additionalProperties": false, 183 "properties": { 184 "validationBits": { 185 "type": "object", 186 "required": [ 187 "transactionTypeValid", 188 "operationValid", 189 "levelValid", 190 "processorContextCorruptValid", 191 "correctedValid", 192 "precisePCValid", 193 "restartablePCValid" 194 ], 195 "properties": { 196 "transactionTypeValid": { 197 "type": "boolean" 198 }, 199 "operationValid": { 200 "type": "boolean" 201 }, 202 "levelValid": { 203 "type": "boolean" 204 }, 205 "processorContextCorruptValid": { 206 "type": "boolean" 207 }, 208 "correctedValid": { 209 "type": "boolean" 210 }, 211 "precisePCValid": { 212 "type": "boolean" 213 }, 214 "restartablePCValid": { 215 "type": "boolean" 216 } 217 } 218 }, 219 "transactionType": { 220 "type": "object", 221 "$ref": "./common/cper-json-nvp.json" 222 }, 223 "operation": { 224 "type": "object", 225 "$ref": "./common/cper-json-nvp.json" 226 }, 227 "level": { 228 "type": "integer" 229 }, 230 "processorContextCorrupt": { 231 "type": "boolean" 232 }, 233 "corrected": { 234 "type": "boolean" 235 }, 236 "precisePC": { 237 "type": "boolean" 238 }, 239 "restartablePC": { 240 "type": "boolean" 241 } 242 } 243 } 244 }, 245 { 246 "required": ["tlbError"], 247 "tlbError": { 248 "type": "object", 249 "required": [ 250 "validationBits", 251 "transactionType", 252 "operation", 253 "level", 254 "processorContextCorrupt", 255 "corrected", 256 "precisePC", 257 "restartablePC", 258 "timedOut", 259 "participationType", 260 "addressSpace", 261 "memoryAttributes", 262 "accessMode" 263 ], 264 "additionalProperties": false, 265 "properties": { 266 "validationBits": { 267 "type": "object", 268 "required": [ 269 "transactionTypeValid", 270 "operationValid", 271 "levelValid", 272 "processorContextCorruptValid", 273 "correctedValid", 274 "precisePCValid", 275 "restartablePCValid", 276 "participationTypeValid", 277 "timedOutValid", 278 "addressSpaceValid", 279 "memoryAttributesValid", 280 "accessModeValid" 281 ], 282 "properties": { 283 "transactionTypeValid": { 284 "type": "boolean" 285 }, 286 "operationValid": { 287 "type": "boolean" 288 }, 289 "levelValid": { 290 "type": "boolean" 291 }, 292 "processorContextCorruptValid": { 293 "type": "boolean" 294 }, 295 "correctedValid": { 296 "type": "boolean" 297 }, 298 "precisePCValid": { 299 "type": "boolean" 300 }, 301 "restartablePCValid": { 302 "type": "boolean" 303 }, 304 "participationTypeValid": { 305 "type": "boolean" 306 }, 307 "timedOutValid": { 308 "type": "boolean" 309 }, 310 "addressSpaceValid": { 311 "type": "boolean" 312 }, 313 "memoryAttributesValid": { 314 "type": "boolean" 315 }, 316 "accessModeValid": { 317 "type": "boolean" 318 } 319 } 320 }, 321 "transactionType": { 322 "type": "object", 323 "$ref": "./common/cper-json-nvp.json" 324 }, 325 "operation": { 326 "type": "object", 327 "$ref": "./common/cper-json-nvp.json" 328 }, 329 "level": { 330 "type": "integer" 331 }, 332 "processorContextCorrupt": { 333 "type": "boolean" 334 }, 335 "corrected": { 336 "type": "boolean" 337 }, 338 "precisePC": { 339 "type": "boolean" 340 }, 341 "restartablePC": { 342 "type": "boolean" 343 }, 344 "timedOut": { 345 "type": "boolean" 346 }, 347 "participationType": { 348 "type": "object", 349 "$ref": "./common/cper-json-nvp.json" 350 }, 351 "addressSpace": { 352 "type": "object", 353 "$ref": "./common/cper-json-nvp.json" 354 }, 355 "accessMode": { 356 "type": "object", 357 "$ref": "./common/cper-json-nvp.json" 358 }, 359 "memoryAttributes": { 360 "type": "integer" 361 } 362 } 363 } 364 } 365 ] 366 }, 367 "virtualFaultAddress": { 368 "type": "integer" 369 }, 370 "physicalFaultAddress": { 371 "type": "integer" 372 } 373 } 374 } 375 }, 376 "contextInfo": { 377 "type": "array", 378 "items": { 379 "type": "object", 380 "required": [ 381 "version", 382 "registerContextType", 383 "registerArraySize", 384 "registerArray" 385 ], 386 "additionalProperties": false, 387 "properties": { 388 "version": { 389 "type": "integer", 390 "minimum": 0 391 }, 392 "registerContextType": { 393 "type": "object", 394 "$ref": "./common/cper-json-nvp.json" 395 }, 396 "registerArraySize": { 397 "type": "integer" 398 }, 399 "registerArray": { 400 "type": "object", 401 "oneOf": [ 402 { 403 "type": "object", 404 "required": [ 405 "r1", 406 "r2", 407 "r3", 408 "r4", 409 "r5", 410 "r6", 411 "r7", 412 "r8", 413 "r9", 414 "r10", 415 "r11", 416 "r12", 417 "r13_sp", 418 "r14_lr", 419 "r15_pc" 420 ], 421 "properties": { 422 "r0": { "type": "integer" }, 423 "r1": { "type": "integer" }, 424 "r2": { "type": "integer" }, 425 "r3": { "type": "integer" }, 426 "r4": { "type": "integer" }, 427 "r5": { "type": "integer" }, 428 "r6": { "type": "integer" }, 429 "r7": { "type": "integer" }, 430 "r8": { "type": "integer" }, 431 "r9": { "type": "integer" }, 432 "r10": { "type": "integer" }, 433 "r11": { "type": "integer" }, 434 "r12": { "type": "integer" }, 435 "r13_sp": { "type": "integer" }, 436 "r14_lr": { "type": "integer" }, 437 "r15_pc": { "type": "integer" } 438 } 439 }, 440 { 441 "type": "object", 442 "required": [ 443 "dfar", 444 "dfsr", 445 "ifar", 446 "isr", 447 "mair0", 448 "mair1", 449 "midr", 450 "mpidr", 451 "nmrr", 452 "prrr", 453 "sctlr_ns", 454 "spsr", 455 "spsr_abt", 456 "spsr_fiq", 457 "spsr_irq", 458 "spsr_svc", 459 "spsr_und", 460 "tpidrprw", 461 "tpidruro", 462 "tpidrurw", 463 "ttbcr", 464 "ttbr0", 465 "ttbr1", 466 "dacr" 467 ], 468 "properties": { 469 "dfar": { "type": "integer" }, 470 "dfsr": { "type": "integer" }, 471 "ifar": { "type": "integer" }, 472 "isr": { "type": "integer" }, 473 "mair0": { "type": "integer" }, 474 "mair1": { "type": "integer" }, 475 "midr": { "type": "integer" }, 476 "mpidr": { "type": "integer" }, 477 "nmrr": { "type": "integer" }, 478 "prrr": { "type": "integer" }, 479 "sctlr_ns": { "type": "integer" }, 480 "spsr": { "type": "integer" }, 481 "spsr_abt": { "type": "integer" }, 482 "spsr_fiq": { "type": "integer" }, 483 "spsr_irq": { "type": "integer" }, 484 "spsr_svc": { "type": "integer" }, 485 "spsr_und": { "type": "integer" }, 486 "tpidrprw": { "type": "integer" }, 487 "tpidruro": { "type": "integer" }, 488 "tpidrurw": { "type": "integer" }, 489 "ttbcr": { "type": "integer" }, 490 "ttbr0": { "type": "integer" }, 491 "ttbr1": { "type": "integer" }, 492 "dacr": { "type": "integer" } 493 } 494 }, 495 { 496 "type": "object", 497 "required": [ 498 "elr_hyp", 499 "hamair0", 500 "hamair1", 501 "hcr", 502 "hcr2", 503 "hdfar", 504 "hifar", 505 "hpfar", 506 "hsr", 507 "htcr", 508 "htpidr", 509 "httbr", 510 "spsr_hyp", 511 "vtcr", 512 "vttbr", 513 "dacr32_el2" 514 ], 515 "properties": { 516 "elr_hyp": { "type": "integer" }, 517 "hamair0": { "type": "integer" }, 518 "hamair1": { "type": "integer" }, 519 "hcr": { "type": "integer" }, 520 "hcr2": { "type": "integer" }, 521 "hdfar": { "type": "integer" }, 522 "hifar": { "type": "integer" }, 523 "hpfar": { "type": "integer" }, 524 "hsr": { "type": "integer" }, 525 "htcr": { "type": "integer" }, 526 "htpidr": { "type": "integer" }, 527 "httbr": { "type": "integer" }, 528 "spsr_hyp": { "type": "integer" }, 529 "vtcr": { "type": "integer" }, 530 "vttbr": { "type": "integer" }, 531 "dacr32_el2": { "type": "integer" } 532 } 533 }, 534 { 535 "type": "object", 536 "required": ["sctlr_s", "spsr_mon"], 537 "properties": { 538 "sctlr_s": { "type": "integer" }, 539 "spsr_mon": { "type": "integer" } 540 } 541 }, 542 { 543 "type": "object", 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": { "type": "integer" }, 580 "x1": { "type": "integer" }, 581 "x2": { "type": "integer" }, 582 "x3": { "type": "integer" }, 583 "x4": { "type": "integer" }, 584 "x5": { "type": "integer" }, 585 "x6": { "type": "integer" }, 586 "x7": { "type": "integer" }, 587 "x8": { "type": "integer" }, 588 "x9": { "type": "integer" }, 589 "x10": { "type": "integer" }, 590 "x11": { "type": "integer" }, 591 "x12": { "type": "integer" }, 592 "x13": { "type": "integer" }, 593 "x14": { "type": "integer" }, 594 "x15": { "type": "integer" }, 595 "x16": { "type": "integer" }, 596 "x17": { "type": "integer" }, 597 "x18": { "type": "integer" }, 598 "x19": { "type": "integer" }, 599 "x20": { "type": "integer" }, 600 "x21": { "type": "integer" }, 601 "x22": { "type": "integer" }, 602 "x23": { "type": "integer" }, 603 "x24": { "type": "integer" }, 604 "x25": { "type": "integer" }, 605 "x26": { "type": "integer" }, 606 "x27": { "type": "integer" }, 607 "x28": { "type": "integer" }, 608 "x29": { "type": "integer" }, 609 "x30": { "type": "integer" }, 610 "sp": { "type": "integer" } 611 } 612 }, 613 { 614 "type": "object", 615 "required": [ 616 "elr_el1", 617 "esr_el1", 618 "far_el1", 619 "isr_el1", 620 "mair_el1", 621 "midr_el1", 622 "mpidr_el1", 623 "sctlr_el1", 624 "sp_el0", 625 "sp_el1", 626 "spsr_el1", 627 "tcr_el1", 628 "tpidr_el0", 629 "tpidr_el1", 630 "tpidrro_el0", 631 "ttbr0_el1", 632 "ttbr1_el1" 633 ], 634 "properties": { 635 "elr_el1": { "type": "integer" }, 636 "esr_el1": { "type": "integer" }, 637 "far_el1": { "type": "integer" }, 638 "isr_el1": { "type": "integer" }, 639 "mair_el1": { "type": "integer" }, 640 "midr_el1": { "type": "integer" }, 641 "mpidr_el1": { "type": "integer" }, 642 "sctlr_el1": { "type": "integer" }, 643 "sp_el0": { "type": "integer" }, 644 "sp_el1": { "type": "integer" }, 645 "spsr_el1": { "type": "integer" }, 646 "tcr_el1": { "type": "integer" }, 647 "tpidr_el0": { "type": "integer" }, 648 "tpidr_el1": { "type": "integer" }, 649 "tpidrro_el0": { "type": "integer" }, 650 "ttbr0_el1": { "type": "integer" }, 651 "ttbr1_el1": { "type": "integer" } 652 } 653 }, 654 { 655 "type": "object", 656 "required": [ 657 "elr_el2", 658 "esr_el2", 659 "far_el2", 660 "hacr_el2", 661 "hcr_el2", 662 "hpfar_el2", 663 "mair_el2", 664 "sctlr_el2", 665 "sp_el2", 666 "spsr_el2", 667 "tcr_el2", 668 "tpidr_el2", 669 "ttbr0_el2", 670 "vtcr_el2", 671 "vttbr_el2" 672 ], 673 "properties": { 674 "elr_el2": { "type": "integer" }, 675 "esr_el2": { "type": "integer" }, 676 "far_el2": { "type": "integer" }, 677 "hacr_el2": { "type": "integer" }, 678 "hcr_el2": { "type": "integer" }, 679 "hpfar_el2": { "type": "integer" }, 680 "mair_el2": { "type": "integer" }, 681 "sctlr_el2": { "type": "integer" }, 682 "sp_el2": { "type": "integer" }, 683 "spsr_el2": { "type": "integer" }, 684 "tcr_el2": { "type": "integer" }, 685 "tpidr_el2": { "type": "integer" }, 686 "ttbr0_el2": { "type": "integer" }, 687 "vtcr_el2": { "type": "integer" }, 688 "vttbr_el2": { "type": "integer" } 689 } 690 }, 691 { 692 "type": "object", 693 "required": [ 694 "elr_el3", 695 "esr_el3", 696 "far_el3", 697 "mair_el3", 698 "sctlr_el3", 699 "sp_el3", 700 "spsr_el3", 701 "tcr_el3", 702 "tpidr_el3", 703 "ttbr0_el3" 704 ], 705 "properties": { 706 "elr_el3": { "type": "integer" }, 707 "esr_el3": { "type": "integer" }, 708 "far_el3": { "type": "integer" }, 709 "mair_el3": { "type": "integer" }, 710 "sctlr_el3": { "type": "integer" }, 711 "sp_el3": { "type": "integer" }, 712 "spsr_el3": { "type": "integer" }, 713 "tcr_el3": { "type": "integer" }, 714 "tpidr_el3": { "type": "integer" }, 715 "ttbr0_el3": { "type": "integer" } 716 } 717 }, 718 { 719 "type": "object", 720 "required": ["mrsEncoding", "value"], 721 "additionalProperties": false, 722 "properties": { 723 "mrsEncoding": { 724 "type": "object", 725 "required": [ 726 "op2", 727 "crm", 728 "crn", 729 "op1", 730 "o0" 731 ], 732 "properties": { 733 "op2": { "type": "integer" }, 734 "crm": { "type": "integer" }, 735 "crn": { "type": "integer" }, 736 "op1": { "type": "integer" }, 737 "o0": { "type": "integer" } 738 } 739 }, 740 "value": { 741 "type": "integer" 742 } 743 } 744 }, 745 { 746 "type": "object", 747 "required": ["data"], 748 "properties": { 749 "data": { 750 "type": "string" 751 } 752 } 753 } 754 ] 755 } 756 } 757 } 758 }, 759 "vendorSpecificInfo": { 760 "type": "object", 761 "required": ["data"], 762 "additionalProperties": false, 763 "properties": { 764 "data": { 765 "type": "string" 766 } 767 } 768 } 769 } 770} 771