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 "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", 23 "required": ["value", "type"], 24 "properties": { 25 "value": { 26 "type": "integer" 27 }, 28 "type": { 29 "type": "string" 30 } 31 } 32 }, 33 "mpidrEl1": { 34 "type": "integer", 35 "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" 36 }, 37 "affinity3": { 38 "type": "integer" 39 }, 40 "midrEl1": { 41 "type": "integer" 42 }, 43 "running": { 44 "type": "boolean" 45 }, 46 "psciState": { 47 "type": "integer" 48 }, 49 "errorInfo": { 50 "type": "array", 51 "items": { 52 "type": "object", 53 "required": ["version", "length", "errorType"], 54 "additionalProperties": false, 55 "properties": { 56 "version": { 57 "type": "integer" 58 }, 59 "length": { 60 "type": "integer" 61 }, 62 "errorType": { 63 "type": "object", 64 "$ref": "./common/cper-json-nvp.json" 65 }, 66 "multipleError": { 67 "type": "object", 68 "required": ["type", "value"], 69 "additionalProperties": false, 70 "properties": { 71 "type": { 72 "type": "string" 73 }, 74 "value": { 75 "type": "integer" 76 } 77 } 78 }, 79 "flags": { 80 "type": "object", 81 "required": [ 82 "firstErrorCaptured", 83 "lastErrorCaptured", 84 "propagated", 85 "overflow" 86 ], 87 "properties": { 88 "firstErrorCaptured": { 89 "type": "boolean" 90 }, 91 "lastErrorCaptured": { 92 "type": "boolean" 93 }, 94 "propagated": { 95 "type": "boolean" 96 }, 97 "overflow": { 98 "type": "boolean" 99 } 100 } 101 }, 102 "errorInformation": { 103 "type": "object", 104 "oneOf": [ 105 { 106 "$id": "cper-json-cacheerror-section", 107 "type": "object", 108 "required": ["cacheError"], 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 } 141 }, 142 { 143 "$id": "cper-json-tlberror-section", 144 "type": "object", 145 "required": ["tlbError"], 146 "properties": { 147 "tlbError": { 148 "type": "object", 149 "required": [], 150 "additionalProperties": false, 151 "properties": { 152 "transactionType": { 153 "type": "object", 154 "$ref": "./common/cper-json-nvp.json" 155 }, 156 "operation": { 157 "type": "object", 158 "$ref": "./common/cper-json-nvp.json" 159 }, 160 "level": { 161 "type": "integer" 162 }, 163 "processorContextCorrupt": { 164 "type": "boolean" 165 }, 166 "corrected": { 167 "type": "boolean" 168 }, 169 "precisePC": { 170 "type": "boolean" 171 }, 172 "restartablePC": { 173 "type": "boolean" 174 } 175 } 176 } 177 } 178 }, 179 { 180 "$id": "cper-json-buserror-section", 181 "type": "object", 182 "required": ["busError"], 183 "properties": { 184 "busError": { 185 "type": "object", 186 "required": [ 187 "timedOut", 188 "participationType", 189 "addressSpace", 190 "memoryAttributes", 191 "accessMode" 192 ], 193 "additionalProperties": false, 194 "properties": { 195 "transactionType": { 196 "type": "object", 197 "$ref": "./common/cper-json-nvp.json" 198 }, 199 "operation": { 200 "type": "object", 201 "$ref": "./common/cper-json-nvp.json" 202 }, 203 "level": { 204 "type": "integer" 205 }, 206 "processorContextCorrupt": { 207 "type": "boolean" 208 }, 209 "corrected": { 210 "type": "boolean" 211 }, 212 "precisePC": { 213 "type": "boolean" 214 }, 215 "restartablePC": { 216 "type": "boolean" 217 }, 218 "timedOut": { 219 "type": "boolean" 220 }, 221 "participationType": { 222 "type": "object", 223 "$ref": "./common/cper-json-nvp.json" 224 }, 225 "addressSpace": { 226 "type": "object", 227 "$ref": "./common/cper-json-nvp.json" 228 }, 229 "accessMode": { 230 "type": "object", 231 "$ref": "./common/cper-json-nvp.json" 232 }, 233 "memoryAttributes": { 234 "type": "integer" 235 } 236 } 237 } 238 } 239 } 240 ] 241 }, 242 "virtualFaultAddress": { 243 "type": "integer" 244 }, 245 "physicalFaultAddress": { 246 "type": "integer" 247 } 248 } 249 } 250 }, 251 "contextInfo": { 252 "type": "array", 253 "items": { 254 "type": "object", 255 "required": [ 256 "version", 257 "registerContextType", 258 "registerArraySize", 259 "registerArray" 260 ], 261 "additionalProperties": false, 262 "properties": { 263 "version": { 264 "type": "integer", 265 "minimum": 0 266 }, 267 "registerContextType": { 268 "type": "object", 269 "$ref": "./common/cper-json-nvp.json" 270 }, 271 "registerArraySize": { 272 "type": "integer" 273 }, 274 "registerArray": { 275 "type": "object", 276 "oneOf": [ 277 { 278 "$id": "cper-json-registerarray0", 279 "type": "object", 280 "required": [ 281 "r1", 282 "r2", 283 "r3", 284 "r4", 285 "r5", 286 "r6", 287 "r7", 288 "r8", 289 "r9", 290 "r10", 291 "r11", 292 "r12", 293 "r13_sp", 294 "r14_lr", 295 "r15_pc" 296 ], 297 "properties": { 298 "r0": { "type": "integer" }, 299 "r1": { "type": "integer" }, 300 "r2": { "type": "integer" }, 301 "r3": { "type": "integer" }, 302 "r4": { "type": "integer" }, 303 "r5": { "type": "integer" }, 304 "r6": { "type": "integer" }, 305 "r7": { "type": "integer" }, 306 "r8": { "type": "integer" }, 307 "r9": { "type": "integer" }, 308 "r10": { "type": "integer" }, 309 "r11": { "type": "integer" }, 310 "r12": { "type": "integer" }, 311 "r13_sp": { "type": "integer" }, 312 "r14_lr": { "type": "integer" }, 313 "r15_pc": { "type": "integer" } 314 } 315 }, 316 { 317 "$id": "cper-json-registerarray1", 318 "type": "object", 319 "required": [ 320 "dfar", 321 "dfsr", 322 "ifar", 323 "isr", 324 "mair0", 325 "mair1", 326 "midr", 327 "mpidr", 328 "nmrr", 329 "prrr", 330 "sctlr_ns", 331 "spsr", 332 "spsr_abt", 333 "spsr_fiq", 334 "spsr_irq", 335 "spsr_svc", 336 "spsr_und", 337 "tpidrprw", 338 "tpidruro", 339 "tpidrurw", 340 "ttbcr", 341 "ttbr0", 342 "ttbr1", 343 "dacr" 344 ], 345 "properties": { 346 "dfar": { "type": "integer" }, 347 "dfsr": { "type": "integer" }, 348 "ifar": { "type": "integer" }, 349 "isr": { "type": "integer" }, 350 "mair0": { "type": "integer" }, 351 "mair1": { "type": "integer" }, 352 "midr": { "type": "integer" }, 353 "mpidr": { "type": "integer" }, 354 "nmrr": { "type": "integer" }, 355 "prrr": { "type": "integer" }, 356 "sctlr_ns": { "type": "integer" }, 357 "spsr": { "type": "integer" }, 358 "spsr_abt": { "type": "integer" }, 359 "spsr_fiq": { "type": "integer" }, 360 "spsr_irq": { "type": "integer" }, 361 "spsr_svc": { "type": "integer" }, 362 "spsr_und": { "type": "integer" }, 363 "tpidrprw": { "type": "integer" }, 364 "tpidruro": { "type": "integer" }, 365 "tpidrurw": { "type": "integer" }, 366 "ttbcr": { "type": "integer" }, 367 "ttbr0": { "type": "integer" }, 368 "ttbr1": { "type": "integer" }, 369 "dacr": { "type": "integer" } 370 } 371 }, 372 { 373 "$id": "cper-json-registerarray2", 374 "type": "object", 375 "required": [ 376 "elr_hyp", 377 "hamair0", 378 "hamair1", 379 "hcr", 380 "hcr2", 381 "hdfar", 382 "hifar", 383 "hpfar", 384 "hsr", 385 "htcr", 386 "htpidr", 387 "httbr", 388 "spsr_hyp", 389 "vtcr", 390 "vttbr", 391 "dacr32_el2" 392 ], 393 "properties": { 394 "elr_hyp": { "type": "integer" }, 395 "hamair0": { "type": "integer" }, 396 "hamair1": { "type": "integer" }, 397 "hcr": { "type": "integer" }, 398 "hcr2": { "type": "integer" }, 399 "hdfar": { "type": "integer" }, 400 "hifar": { "type": "integer" }, 401 "hpfar": { "type": "integer" }, 402 "hsr": { "type": "integer" }, 403 "htcr": { "type": "integer" }, 404 "htpidr": { "type": "integer" }, 405 "httbr": { "type": "integer" }, 406 "spsr_hyp": { "type": "integer" }, 407 "vtcr": { "type": "integer" }, 408 "vttbr": { "type": "integer" }, 409 "dacr32_el2": { "type": "integer" } 410 } 411 }, 412 { 413 "$id": "cper-json-registerarray3", 414 "type": "object", 415 "required": ["sctlr_s", "spsr_mon"], 416 "properties": { 417 "sctlr_s": { "type": "integer" }, 418 "spsr_mon": { "type": "integer" } 419 } 420 }, 421 { 422 "$id": "cper-json-registerarray4", 423 "type": "object", 424 "required": [ 425 "x0", 426 "x1", 427 "x2", 428 "x3", 429 "x4", 430 "x5", 431 "x6", 432 "x7", 433 "x8", 434 "x9", 435 "x10", 436 "x11", 437 "x12", 438 "x13", 439 "x14", 440 "x15", 441 "x16", 442 "x17", 443 "x18", 444 "x19", 445 "x20", 446 "x21", 447 "x22", 448 "x23", 449 "x24", 450 "x25", 451 "x26", 452 "x27", 453 "x28", 454 "x29", 455 "x30", 456 "sp" 457 ], 458 "properties": { 459 "x0": { "type": "integer" }, 460 "x1": { "type": "integer" }, 461 "x2": { "type": "integer" }, 462 "x3": { "type": "integer" }, 463 "x4": { "type": "integer" }, 464 "x5": { "type": "integer" }, 465 "x6": { "type": "integer" }, 466 "x7": { "type": "integer" }, 467 "x8": { "type": "integer" }, 468 "x9": { "type": "integer" }, 469 "x10": { "type": "integer" }, 470 "x11": { "type": "integer" }, 471 "x12": { "type": "integer" }, 472 "x13": { "type": "integer" }, 473 "x14": { "type": "integer" }, 474 "x15": { "type": "integer" }, 475 "x16": { "type": "integer" }, 476 "x17": { "type": "integer" }, 477 "x18": { "type": "integer" }, 478 "x19": { "type": "integer" }, 479 "x20": { "type": "integer" }, 480 "x21": { "type": "integer" }, 481 "x22": { "type": "integer" }, 482 "x23": { "type": "integer" }, 483 "x24": { "type": "integer" }, 484 "x25": { "type": "integer" }, 485 "x26": { "type": "integer" }, 486 "x27": { "type": "integer" }, 487 "x28": { "type": "integer" }, 488 "x29": { "type": "integer" }, 489 "x30": { "type": "integer" }, 490 "sp": { "type": "integer" } 491 } 492 }, 493 { 494 "$id": "cper-json-registerarray5", 495 "type": "object", 496 "required": [ 497 "elr_el1", 498 "esr_el1", 499 "far_el1", 500 "isr_el1", 501 "mair_el1", 502 "midr_el1", 503 "mpidr_el1", 504 "sctlr_el1", 505 "sp_el0", 506 "sp_el1", 507 "spsr_el1", 508 "tcr_el1", 509 "tpidr_el0", 510 "tpidr_el1", 511 "tpidrro_el0", 512 "ttbr0_el1", 513 "ttbr1_el1" 514 ], 515 "properties": { 516 "elr_el1": { "type": "integer" }, 517 "esr_el1": { "type": "integer" }, 518 "far_el1": { "type": "integer" }, 519 "isr_el1": { "type": "integer" }, 520 "mair_el1": { "type": "integer" }, 521 "midr_el1": { "type": "integer" }, 522 "mpidr_el1": { "type": "integer" }, 523 "sctlr_el1": { "type": "integer" }, 524 "sp_el0": { "type": "integer" }, 525 "sp_el1": { "type": "integer" }, 526 "spsr_el1": { "type": "integer" }, 527 "tcr_el1": { "type": "integer" }, 528 "tpidr_el0": { "type": "integer" }, 529 "tpidr_el1": { "type": "integer" }, 530 "tpidrro_el0": { "type": "integer" }, 531 "ttbr0_el1": { "type": "integer" }, 532 "ttbr1_el1": { "type": "integer" } 533 } 534 }, 535 { 536 "$id": "cper-json-registerarray6", 537 "type": "object", 538 "required": [ 539 "elr_el2", 540 "esr_el2", 541 "far_el2", 542 "hacr_el2", 543 "hcr_el2", 544 "hpfar_el2", 545 "mair_el2", 546 "sctlr_el2", 547 "sp_el2", 548 "spsr_el2", 549 "tcr_el2", 550 "tpidr_el2", 551 "ttbr0_el2", 552 "vtcr_el2", 553 "vttbr_el2" 554 ], 555 "properties": { 556 "elr_el2": { "type": "integer" }, 557 "esr_el2": { "type": "integer" }, 558 "far_el2": { "type": "integer" }, 559 "hacr_el2": { "type": "integer" }, 560 "hcr_el2": { "type": "integer" }, 561 "hpfar_el2": { "type": "integer" }, 562 "mair_el2": { "type": "integer" }, 563 "sctlr_el2": { "type": "integer" }, 564 "sp_el2": { "type": "integer" }, 565 "spsr_el2": { "type": "integer" }, 566 "tcr_el2": { "type": "integer" }, 567 "tpidr_el2": { "type": "integer" }, 568 "ttbr0_el2": { "type": "integer" }, 569 "vtcr_el2": { "type": "integer" }, 570 "vttbr_el2": { "type": "integer" } 571 } 572 }, 573 { 574 "$id": "cper-json-registerarray7", 575 "type": "object", 576 "required": [ 577 "elr_el3", 578 "esr_el3", 579 "far_el3", 580 "mair_el3", 581 "sctlr_el3", 582 "sp_el3", 583 "spsr_el3", 584 "tcr_el3", 585 "tpidr_el3", 586 "ttbr0_el3" 587 ], 588 "properties": { 589 "elr_el3": { "type": "integer" }, 590 "esr_el3": { "type": "integer" }, 591 "far_el3": { "type": "integer" }, 592 "mair_el3": { "type": "integer" }, 593 "sctlr_el3": { "type": "integer" }, 594 "sp_el3": { "type": "integer" }, 595 "spsr_el3": { "type": "integer" }, 596 "tcr_el3": { "type": "integer" }, 597 "tpidr_el3": { "type": "integer" }, 598 "ttbr0_el3": { "type": "integer" } 599 } 600 }, 601 { 602 "$id": "cper-json-registerarray8", 603 "type": "object", 604 "required": ["mrsEncoding", "value"], 605 "additionalProperties": false, 606 "properties": { 607 "mrsEncoding": { 608 "type": "object", 609 "required": [ 610 "op2", 611 "crm", 612 "crn", 613 "op1", 614 "o0" 615 ], 616 "properties": { 617 "op2": { "type": "integer" }, 618 "crm": { "type": "integer" }, 619 "crn": { "type": "integer" }, 620 "op1": { "type": "integer" }, 621 "o0": { "type": "integer" } 622 } 623 }, 624 "value": { 625 "type": "integer" 626 } 627 } 628 }, 629 { 630 "$id": "cper-json-registerarray9", 631 "type": "object", 632 "required": ["data"], 633 "properties": { 634 "data": { 635 "type": "string" 636 } 637 } 638 } 639 ] 640 } 641 } 642 } 643 }, 644 "vendorSpecificInfo": { 645 "type": "object", 646 "required": ["data"], 647 "additionalProperties": false, 648 "properties": { 649 "data": { 650 "type": "string" 651 } 652 } 653 } 654 } 655} 656