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 }, 280 "virtualFaultAddress": { 281 "type": "integer" 282 }, 283 "physicalFaultAddress": { 284 "type": "integer" 285 } 286 } 287 } 288 }, 289 "contextInfo": { 290 "type": "array", 291 "items": { 292 "type": "object", 293 "required": ["registerContextType", "registerArraySize", "registerArray"], 294 "additionalProperties": false, 295 "properties": { 296 "registerContextType": { 297 "type": "object", 298 "$ref": "./common/cper-json-nvp.json" 299 }, 300 "registerArraySize": { 301 "type": "integer" 302 }, 303 "registerArray": { 304 "type": "object", 305 "oneOf": [ 306 { 307 "type": "object", 308 "required": ["r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13_sp", "r14_lr", "r15_pc"], 309 "properties": { 310 "r0": { "type": "integer" }, 311 "r1": { "type": "integer" }, 312 "r2": { "type": "integer" }, 313 "r3": { "type": "integer" }, 314 "r4": { "type": "integer" }, 315 "r5": { "type": "integer" }, 316 "r6": { "type": "integer" }, 317 "r7": { "type": "integer" }, 318 "r8": { "type": "integer" }, 319 "r9": { "type": "integer" }, 320 "r10": { "type": "integer" }, 321 "r11": { "type": "integer" }, 322 "r12": { "type": "integer" }, 323 "r13_sp": { "type": "integer" }, 324 "r14_lr": { "type": "integer" }, 325 "r15_pc": { "type": "integer" } 326 } 327 }, 328 { 329 "type": "object", 330 "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"], 331 "properties": { 332 "dfar": { "type": "integer" }, 333 "dfsr": { "type": "integer" }, 334 "ifar": { "type": "integer" }, 335 "isr": { "type": "integer" }, 336 "mair0": { "type": "integer" }, 337 "mair1": { "type": "integer" }, 338 "midr": { "type": "integer" }, 339 "mpidr": { "type": "integer" }, 340 "nmrr": { "type": "integer" }, 341 "prrr": { "type": "integer" }, 342 "sctlr_ns": { "type": "integer" }, 343 "spsr": { "type": "integer" }, 344 "spsr_abt": { "type": "integer" }, 345 "spsr_fiq": { "type": "integer" }, 346 "spsr_irq": { "type": "integer" }, 347 "spsr_svc": { "type": "integer" }, 348 "spsr_und": { "type": "integer" }, 349 "tpidrprw": { "type": "integer" }, 350 "tpidruro": { "type": "integer" }, 351 "tpidrurw": { "type": "integer" }, 352 "ttbcr": { "type": "integer" }, 353 "ttbr0": { "type": "integer" }, 354 "ttbr1": { "type": "integer" }, 355 "dacr": { "type": "integer" } 356 } 357 }, 358 { 359 "type": "object", 360 "required": ["elr_hyp", "hamair0", "hamair1", "hcr", "hcr2", "hdfar", "hifar", "hpfar", "hsr", "htcr", "htpidr", "httbr", "spsr_hyp", "vtcr", "vttbr", "dacr32_el2"], 361 "properties": { 362 "elr_hyp": { "type": "integer" }, 363 "hamair0": { "type": "integer" }, 364 "hamair1": { "type": "integer" }, 365 "hcr": { "type": "integer" }, 366 "hcr2": { "type": "integer" }, 367 "hdfar": { "type": "integer" }, 368 "hifar": { "type": "integer" }, 369 "hpfar": { "type": "integer" }, 370 "hsr": { "type": "integer" }, 371 "htcr": { "type": "integer" }, 372 "htpidr": { "type": "integer" }, 373 "httbr": { "type": "integer" }, 374 "spsr_hyp": { "type": "integer" }, 375 "vtcr": { "type": "integer" }, 376 "vttbr": { "type": "integer" }, 377 "dacr32_el2": { "type": "integer" } 378 } 379 }, 380 { 381 "type": "object", 382 "required": ["sctlr_s", "spsr_mon"], 383 "properties": { 384 "sctlr_s": { "type": "integer" }, 385 "spsr_mon": { "type": "integer" } 386 } 387 }, 388 { 389 "type": "object", 390 "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"], 391 "properties": { 392 "x0": { "type": "integer" }, 393 "x1": { "type": "integer" }, 394 "x2": { "type": "integer" }, 395 "x3": { "type": "integer" }, 396 "x4": { "type": "integer" }, 397 "x5": { "type": "integer" }, 398 "x6": { "type": "integer" }, 399 "x7": { "type": "integer" }, 400 "x8": { "type": "integer" }, 401 "x9": { "type": "integer" }, 402 "x10": { "type": "integer" }, 403 "x11": { "type": "integer" }, 404 "x12": { "type": "integer" }, 405 "x13": { "type": "integer" }, 406 "x14": { "type": "integer" }, 407 "x15": { "type": "integer" }, 408 "x16": { "type": "integer" }, 409 "x17": { "type": "integer" }, 410 "x18": { "type": "integer" }, 411 "x19": { "type": "integer" }, 412 "x20": { "type": "integer" }, 413 "x21": { "type": "integer" }, 414 "x22": { "type": "integer" }, 415 "x23": { "type": "integer" }, 416 "x24": { "type": "integer" }, 417 "x25": { "type": "integer" }, 418 "x26": { "type": "integer" }, 419 "x27": { "type": "integer" }, 420 "x28": { "type": "integer" }, 421 "x29": { "type": "integer" }, 422 "x30": { "type": "integer" }, 423 "sp": { "type": "integer" } 424 } 425 }, 426 { 427 "type": "object", 428 "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"], 429 "properties": { 430 "elr_el1": { "type": "integer" }, 431 "esr_el1": { "type": "integer" }, 432 "far_el1": { "type": "integer" }, 433 "isr_el1": { "type": "integer" }, 434 "mair_el1": { "type": "integer" }, 435 "midr_el1": { "type": "integer" }, 436 "mpidr_el1": { "type": "integer" }, 437 "sctlr_el1": { "type": "integer" }, 438 "sp_el0": { "type": "integer" }, 439 "sp_el1": { "type": "integer" }, 440 "spsr_el1": { "type": "integer" }, 441 "tcr_el1": { "type": "integer" }, 442 "tpidr_el0": { "type": "integer" }, 443 "tpidr_el1": { "type": "integer" }, 444 "tpidrro_el0": { "type": "integer" }, 445 "ttbr0_el1": { "type": "integer" }, 446 "ttbr1_el1": { "type": "integer" } 447 } 448 }, 449 { 450 "type": "object", 451 "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"], 452 "properties": { 453 "elr_el2": { "type": "integer" }, 454 "esr_el2": { "type": "integer" }, 455 "far_el2": { "type": "integer" }, 456 "hacr_el2": { "type": "integer" }, 457 "hcr_el2": { "type": "integer" }, 458 "hpfar_el2": { "type": "integer" }, 459 "mair_el2": { "type": "integer" }, 460 "sctlr_el2": { "type": "integer" }, 461 "sp_el2": { "type": "integer" }, 462 "spsr_el2": { "type": "integer" }, 463 "tcr_el2": { "type": "integer" }, 464 "tpidr_el2": { "type": "integer" }, 465 "ttbr0_el2": { "type": "integer" }, 466 "vtcr_el2": { "type": "integer" }, 467 "vttbr_el2": { "type": "integer" } 468 } 469 }, 470 { 471 "type": "object", 472 "required": ["elr_el3", "esr_el3", "far_el3", "mair_el3", "sctlr_el3", "sp_el3", "spsr_el3", "tcr_el3", "tpidr_el3", "ttbr0_el3"], 473 "properties": { 474 "elr_el3": { "type": "integer" }, 475 "esr_el3": { "type": "integer" }, 476 "far_el3": { "type": "integer" }, 477 "mair_el3": { "type": "integer" }, 478 "sctlr_el3": { "type": "integer" }, 479 "sp_el3": { "type": "integer" }, 480 "spsr_el3": { "type": "integer" }, 481 "tcr_el3": { "type": "integer" }, 482 "tpidr_el3": { "type": "integer" }, 483 "ttbr0_el3": { "type": "integer" } 484 } 485 }, 486 { 487 "type": "object", 488 "required": ["mrsEncoding", "value"], 489 "additionalProperties": false, 490 "properties": { 491 "mrsEncoding": { 492 "type": "object", 493 "required": ["op2", "crm", "crn", "op1", "o0"], 494 "properties": { 495 "op2": { "type": "integer" }, 496 "crm": { "type": "integer" }, 497 "crn": { "type": "integer" }, 498 "op1": { "type": "integer" }, 499 "o0": { "type": "integer" } 500 } 501 }, 502 "value": { 503 "type": "integer" 504 } 505 } 506 }, 507 { 508 "type": "object", 509 "required": ["data"], 510 "properties": { 511 "data": { 512 "type": "string" 513 } 514 } 515 } 516 ] 517 } 518 } 519 } 520 }, 521 "vendorSpecificInfo": { 522 "type": "object", 523 "required": ["data"], 524 "additionalProperties": false, 525 "properties": { 526 "data": { 527 "type": "string" 528 } 529 } 530 } 531 } 532}