1{ 2 "$id": "cper-json-arm-processor-section", 3 "$schema": "https://json-schema.org/draft/2020-12/schema", 4 "type": "object", 5 "required": ["validationBits", "errorInfoNum", "contextInfoNum", "sectionLength", "errorAffinity", "mpidrEl1", "midrEl1", "running", "errorInfo", "contextInfo"], 6 "additionalProperties": false, 7 "properties": { 8 "validationBits": { 9 "type": "object", 10 "required": ["mpidrValid", "errorAffinityLevelValid", "runningStateValid", "vendorSpecificInfoValid"], 11 "properties": { 12 "mpidrValid": { 13 "type": "boolean" 14 }, 15 "errorAffinityLevelValid": { 16 "type": "boolean" 17 }, 18 "runningStateValid": { 19 "type": "boolean" 20 }, 21 "vendorSpecificInfoValid": { 22 "type": "boolean" 23 } 24 } 25 }, 26 "errorInfoNum": { 27 "type": "integer" 28 }, 29 "contextInfoNum": { 30 "type": "integer" 31 }, 32 "sectionLength": { 33 "type": "integer" 34 }, 35 "errorAffinity": { 36 "type": "object", 37 "required": ["value", "type"], 38 "properties": { 39 "value": { 40 "type": "integer" 41 }, 42 "type": { 43 "type": "string" 44 } 45 } 46 }, 47 "mpidrEl1": { 48 "type": "integer" 49 }, 50 "midrEl1": { 51 "type": "integer" 52 }, 53 "running": { 54 "type": "boolean" 55 }, 56 "psciState": { 57 "type": "integer" 58 }, 59 "errorInfo": { 60 "type": "array", 61 "items": { 62 "type": "object", 63 "required": ["version", "length", "validationBits", "errorType", "multipleError", "flags", "errorInformation", "virtualFaultAddress", "physicalFaultAddress"], 64 "additionalProperties": false, 65 "properties": { 66 "version": { 67 "type": "integer" 68 }, 69 "length": { 70 "type": "integer" 71 }, 72 "validationBits": { 73 "type": "object", 74 "required": ["multipleErrorValid", "flagsValid", "errorInformationValid", "virtualFaultAddressValid", "physicalFaultAddressValid"], 75 "properties": { 76 "multipleErrorValid": { 77 "type": "boolean" 78 }, 79 "flagsValid": { 80 "type": "boolean" 81 }, 82 "errorInformationValid": { 83 "type": "boolean" 84 }, 85 "virtualFaultAddressValid": { 86 "type": "boolean" 87 }, 88 "physicalFaultAddressValid": { 89 "type": "boolean" 90 } 91 } 92 }, 93 "errorType": { 94 "type": "object", 95 "$ref": "./common/cper-json-nvp.json" 96 }, 97 "multipleError": { 98 "type": "object", 99 "required": ["type", "value"], 100 "additionalProperties": false, 101 "properties": { 102 "type": { 103 "type": "string" 104 }, 105 "value": { 106 "type": "integer" 107 } 108 } 109 }, 110 "flags": { 111 "type": "object", 112 "required": ["firstErrorCaptured", "lastErrorCaptured", "propagated", "overflow"], 113 "properties": { 114 "firstErrorCaptured": { 115 "type": "boolean" 116 }, 117 "lastErrorCaptured": { 118 "type": "boolean" 119 }, 120 "propagated": { 121 "type": "boolean" 122 }, 123 "overflow": { 124 "type": "boolean" 125 } 126 } 127 }, 128 "errorInformation": { 129 "type": "object", 130 "oneOf": [ 131 { 132 "type": "object", 133 "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC"], 134 "additionalProperties": false, 135 "properties": { 136 "validationBits": { 137 "type": "object", 138 "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid"], 139 "properties": { 140 "transactionTypeValid": { 141 "type": "boolean" 142 }, 143 "operationValid": { 144 "type": "boolean" 145 }, 146 "levelValid": { 147 "type": "boolean" 148 }, 149 "processorContextCorruptValid": { 150 "type": "boolean" 151 }, 152 "correctedValid": { 153 "type": "boolean" 154 }, 155 "precisePCValid": { 156 "type": "boolean" 157 }, 158 "restartablePCValid": { 159 "type": "boolean" 160 } 161 } 162 }, 163 "transactionType": { 164 "type": "object", 165 "$ref": "./common/cper-json-nvp.json" 166 }, 167 "operation": { 168 "type": "object", 169 "$ref": "./common/cper-json-nvp.json" 170 }, 171 "level": { 172 "type": "integer" 173 }, 174 "processorContextCorrupt": { 175 "type": "boolean" 176 }, 177 "corrected": { 178 "type": "boolean" 179 }, 180 "precisePC": { 181 "type": "boolean" 182 }, 183 "restartablePC": { 184 "type": "boolean" 185 } 186 } 187 }, 188 { 189 "type": "object", 190 "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC", "timedOut", "participationType", "addressSpace", "memoryAttributes", "accessMode"], 191 "additionalProperties": false, 192 "properties": { 193 "validationBits": { 194 "type": "object", 195 "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid", "participationTypeValid", "timedOutValid", "addressSpaceValid", "memoryAttributesValid", "accessModeValid"], 196 "properties": { 197 "transactionTypeValid": { 198 "type": "boolean" 199 }, 200 "operationValid": { 201 "type": "boolean" 202 }, 203 "levelValid": { 204 "type": "boolean" 205 }, 206 "processorContextCorruptValid": { 207 "type": "boolean" 208 }, 209 "correctedValid": { 210 "type": "boolean" 211 }, 212 "precisePCValid": { 213 "type": "boolean" 214 }, 215 "restartablePCValid": { 216 "type": "boolean" 217 }, 218 "participationTypeValid": { 219 "type": "boolean" 220 }, 221 "timedOutValid": { 222 "type": "boolean" 223 }, 224 "addressSpaceValid": { 225 "type": "boolean" 226 }, 227 "memoryAttributesValid": { 228 "type": "boolean" 229 }, 230 "accessModeValid": { 231 "type": "boolean" 232 } 233 } 234 }, 235 "transactionType": { 236 "type": "object", 237 "$ref": "./common/cper-json-nvp.json" 238 }, 239 "operation": { 240 "type": "object", 241 "$ref": "./common/cper-json-nvp.json" 242 }, 243 "level": { 244 "type": "integer" 245 }, 246 "processorContextCorrupt": { 247 "type": "boolean" 248 }, 249 "corrected": { 250 "type": "boolean" 251 }, 252 "precisePC": { 253 "type": "boolean" 254 }, 255 "restartablePC": { 256 "type": "boolean" 257 }, 258 "timedOut": { 259 "type": "boolean" 260 }, 261 "participationType": { 262 "type": "object", 263 "$ref": "./common/cper-json-nvp.json" 264 }, 265 "addressSpace": { 266 "type": "object", 267 "$ref": "./common/cper-json-nvp.json" 268 }, 269 "accessMode": { 270 "type": "object", 271 "$ref": "./common/cper-json-nvp.json" 272 }, 273 "memoryAttributes": { 274 "type": "integer" 275 } 276 } 277 }, 278 { 279 "type": "object", 280 "required": ["data"], 281 "additionalProperties": false, 282 "properties": { 283 "data": { 284 "type": "integer" 285 } 286 } 287 } 288 ] 289 }, 290 "virtualFaultAddress": { 291 "type": "integer" 292 }, 293 "physicalFaultAddress": { 294 "type": "integer" 295 } 296 } 297 } 298 }, 299 "contextInfo": { 300 "type": "array", 301 "items": { 302 "type": "object", 303 "required": ["version", "registerContextType", "registerArraySize", "registerArray"], 304 "additionalProperties": false, 305 "properties": { 306 "version": { 307 "type": "integer", 308 "minimum": 0 309 }, 310 "registerContextType": { 311 "type": "object", 312 "$ref": "./common/cper-json-nvp.json" 313 }, 314 "registerArraySize": { 315 "type": "integer" 316 }, 317 "registerArray": { 318 "type": "object", 319 "oneOf": [ 320 { 321 "type": "object", 322 "required": ["r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13_sp", "r14_lr", "r15_pc"], 323 "properties": { 324 "r0": { "type": "integer" }, 325 "r1": { "type": "integer" }, 326 "r2": { "type": "integer" }, 327 "r3": { "type": "integer" }, 328 "r4": { "type": "integer" }, 329 "r5": { "type": "integer" }, 330 "r6": { "type": "integer" }, 331 "r7": { "type": "integer" }, 332 "r8": { "type": "integer" }, 333 "r9": { "type": "integer" }, 334 "r10": { "type": "integer" }, 335 "r11": { "type": "integer" }, 336 "r12": { "type": "integer" }, 337 "r13_sp": { "type": "integer" }, 338 "r14_lr": { "type": "integer" }, 339 "r15_pc": { "type": "integer" } 340 } 341 }, 342 { 343 "type": "object", 344 "required": ["dfar", "dfsr", "ifar", "isr", "mair0", "mair1", "midr", "mpidr", "nmrr", "prrr", "sctlr_ns", "spsr", "spsr_abt", "spsr_fiq", "spsr_irq", "spsr_svc", "spsr_und", "tpidrprw", "tpidruro", "tpidrurw", "ttbcr", "ttbr0", "ttbr1", "dacr"], 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 "type": "object", 374 "required": ["elr_hyp", "hamair0", "hamair1", "hcr", "hcr2", "hdfar", "hifar", "hpfar", "hsr", "htcr", "htpidr", "httbr", "spsr_hyp", "vtcr", "vttbr", "dacr32_el2"], 375 "properties": { 376 "elr_hyp": { "type": "integer" }, 377 "hamair0": { "type": "integer" }, 378 "hamair1": { "type": "integer" }, 379 "hcr": { "type": "integer" }, 380 "hcr2": { "type": "integer" }, 381 "hdfar": { "type": "integer" }, 382 "hifar": { "type": "integer" }, 383 "hpfar": { "type": "integer" }, 384 "hsr": { "type": "integer" }, 385 "htcr": { "type": "integer" }, 386 "htpidr": { "type": "integer" }, 387 "httbr": { "type": "integer" }, 388 "spsr_hyp": { "type": "integer" }, 389 "vtcr": { "type": "integer" }, 390 "vttbr": { "type": "integer" }, 391 "dacr32_el2": { "type": "integer" } 392 } 393 }, 394 { 395 "type": "object", 396 "required": ["sctlr_s", "spsr_mon"], 397 "properties": { 398 "sctlr_s": { "type": "integer" }, 399 "spsr_mon": { "type": "integer" } 400 } 401 }, 402 { 403 "type": "object", 404 "required": ["x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "x29", "x30", "sp"], 405 "properties": { 406 "x0": { "type": "integer" }, 407 "x1": { "type": "integer" }, 408 "x2": { "type": "integer" }, 409 "x3": { "type": "integer" }, 410 "x4": { "type": "integer" }, 411 "x5": { "type": "integer" }, 412 "x6": { "type": "integer" }, 413 "x7": { "type": "integer" }, 414 "x8": { "type": "integer" }, 415 "x9": { "type": "integer" }, 416 "x10": { "type": "integer" }, 417 "x11": { "type": "integer" }, 418 "x12": { "type": "integer" }, 419 "x13": { "type": "integer" }, 420 "x14": { "type": "integer" }, 421 "x15": { "type": "integer" }, 422 "x16": { "type": "integer" }, 423 "x17": { "type": "integer" }, 424 "x18": { "type": "integer" }, 425 "x19": { "type": "integer" }, 426 "x20": { "type": "integer" }, 427 "x21": { "type": "integer" }, 428 "x22": { "type": "integer" }, 429 "x23": { "type": "integer" }, 430 "x24": { "type": "integer" }, 431 "x25": { "type": "integer" }, 432 "x26": { "type": "integer" }, 433 "x27": { "type": "integer" }, 434 "x28": { "type": "integer" }, 435 "x29": { "type": "integer" }, 436 "x30": { "type": "integer" }, 437 "sp": { "type": "integer" } 438 } 439 }, 440 { 441 "type": "object", 442 "required": ["elr_el1", "esr_el1", "far_el1", "isr_el1", "mair_el1", "midr_el1", "mpidr_el1", "sctlr_el1", "sp_el0", "sp_el1", "spsr_el1", "tcr_el1", "tpidr_el0", "tpidr_el1", "tpidrro_el0", "ttbr0_el1", "ttbr1_el1"], 443 "properties": { 444 "elr_el1": { "type": "integer" }, 445 "esr_el1": { "type": "integer" }, 446 "far_el1": { "type": "integer" }, 447 "isr_el1": { "type": "integer" }, 448 "mair_el1": { "type": "integer" }, 449 "midr_el1": { "type": "integer" }, 450 "mpidr_el1": { "type": "integer" }, 451 "sctlr_el1": { "type": "integer" }, 452 "sp_el0": { "type": "integer" }, 453 "sp_el1": { "type": "integer" }, 454 "spsr_el1": { "type": "integer" }, 455 "tcr_el1": { "type": "integer" }, 456 "tpidr_el0": { "type": "integer" }, 457 "tpidr_el1": { "type": "integer" }, 458 "tpidrro_el0": { "type": "integer" }, 459 "ttbr0_el1": { "type": "integer" }, 460 "ttbr1_el1": { "type": "integer" } 461 } 462 }, 463 { 464 "type": "object", 465 "required": ["elr_el2", "esr_el2", "far_el2", "hacr_el2", "hcr_el2", "hpfar_el2", "mair_el2", "sctlr_el2", "sp_el2", "spsr_el2", "tcr_el2", "tpidr_el2", "ttbr0_el2", "vtcr_el2", "vttbr_el2"], 466 "properties": { 467 "elr_el2": { "type": "integer" }, 468 "esr_el2": { "type": "integer" }, 469 "far_el2": { "type": "integer" }, 470 "hacr_el2": { "type": "integer" }, 471 "hcr_el2": { "type": "integer" }, 472 "hpfar_el2": { "type": "integer" }, 473 "mair_el2": { "type": "integer" }, 474 "sctlr_el2": { "type": "integer" }, 475 "sp_el2": { "type": "integer" }, 476 "spsr_el2": { "type": "integer" }, 477 "tcr_el2": { "type": "integer" }, 478 "tpidr_el2": { "type": "integer" }, 479 "ttbr0_el2": { "type": "integer" }, 480 "vtcr_el2": { "type": "integer" }, 481 "vttbr_el2": { "type": "integer" } 482 } 483 }, 484 { 485 "type": "object", 486 "required": ["elr_el3", "esr_el3", "far_el3", "mair_el3", "sctlr_el3", "sp_el3", "spsr_el3", "tcr_el3", "tpidr_el3", "ttbr0_el3"], 487 "properties": { 488 "elr_el3": { "type": "integer" }, 489 "esr_el3": { "type": "integer" }, 490 "far_el3": { "type": "integer" }, 491 "mair_el3": { "type": "integer" }, 492 "sctlr_el3": { "type": "integer" }, 493 "sp_el3": { "type": "integer" }, 494 "spsr_el3": { "type": "integer" }, 495 "tcr_el3": { "type": "integer" }, 496 "tpidr_el3": { "type": "integer" }, 497 "ttbr0_el3": { "type": "integer" } 498 } 499 }, 500 { 501 "type": "object", 502 "required": ["mrsEncoding", "value"], 503 "additionalProperties": false, 504 "properties": { 505 "mrsEncoding": { 506 "type": "object", 507 "required": ["op2", "crm", "crn", "op1", "o0"], 508 "properties": { 509 "op2": { "type": "integer" }, 510 "crm": { "type": "integer" }, 511 "crn": { "type": "integer" }, 512 "op1": { "type": "integer" }, 513 "o0": { "type": "integer" } 514 } 515 }, 516 "value": { 517 "type": "integer" 518 } 519 } 520 }, 521 { 522 "type": "object", 523 "required": ["data"], 524 "properties": { 525 "data": { 526 "type": "string" 527 } 528 } 529 } 530 ] 531 } 532 } 533 } 534 }, 535 "vendorSpecificInfo": { 536 "type": "object", 537 "required": ["data"], 538 "additionalProperties": false, 539 "properties": { 540 "data": { 541 "type": "string" 542 } 543 } 544 } 545 } 546}