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 "$ref": "../common/cper-json-nvp.json" 100 }, 101 "flags": { 102 "type": "object", 103 "required": ["firstErrorCaptured", "lastErrorCaptured", "propagated", "overflow"], 104 "properties": { 105 "firstErrorCaptured": { 106 "type": "boolean" 107 }, 108 "lastErrorCaptured": { 109 "type": "boolean" 110 }, 111 "propagated": { 112 "type": "boolean" 113 }, 114 "overflow": { 115 "type": "boolean" 116 } 117 } 118 }, 119 "errorInformation": { 120 "type": "object", 121 "oneOf": [ 122 { 123 "type": "object", 124 "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC"], 125 "additionalProperties": false, 126 "properties": { 127 "validationBits": { 128 "type": "object", 129 "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid"], 130 "properties": { 131 "transactionTypeValid": { 132 "type": "boolean" 133 }, 134 "operationValid": { 135 "type": "boolean" 136 }, 137 "levelValid": { 138 "type": "boolean" 139 }, 140 "processorContextCorruptValid": { 141 "type": "boolean" 142 }, 143 "correctedValid": { 144 "type": "boolean" 145 }, 146 "precisePCValid": { 147 "type": "boolean" 148 }, 149 "restartablePCValid": { 150 "type": "boolean" 151 } 152 } 153 }, 154 "transactionType": { 155 "type": "object", 156 "$ref": "../common/cper-json-nvp.json" 157 }, 158 "operation": { 159 "type": "object", 160 "$ref": "../common/cper-json-nvp.json" 161 }, 162 "level": { 163 "type": "integer" 164 }, 165 "processorContextCorrupt": { 166 "type": "boolean" 167 }, 168 "corrected": { 169 "type": "boolean" 170 }, 171 "precisePC": { 172 "type": "boolean" 173 }, 174 "restartablePC": { 175 "type": "boolean" 176 } 177 } 178 }, 179 { 180 "type": "object", 181 "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC", "timedOut", "participationType", "addressSpace", "memoryAttributes", "accessMode"], 182 "additionalProperties": false, 183 "properties": { 184 "validationBits": { 185 "type": "object", 186 "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid", "participationTypeValid", "timedOutValid", "addressSpaceValid", "memoryAttributesValid", "accessModeValid"], 187 "properties": { 188 "transactionTypeValid": { 189 "type": "boolean" 190 }, 191 "operationValid": { 192 "type": "boolean" 193 }, 194 "levelValid": { 195 "type": "boolean" 196 }, 197 "processorContextCorruptValid": { 198 "type": "boolean" 199 }, 200 "correctedValid": { 201 "type": "boolean" 202 }, 203 "precisePCValid": { 204 "type": "boolean" 205 }, 206 "restartablePCValid": { 207 "type": "boolean" 208 }, 209 "participationTypeValid": { 210 "type": "boolean" 211 }, 212 "timedOutValid": { 213 "type": "boolean" 214 }, 215 "addressSpaceValid": { 216 "type": "boolean" 217 }, 218 "memoryAttributesValid": { 219 "type": "boolean" 220 }, 221 "accessModeValid": { 222 "type": "boolean" 223 } 224 } 225 }, 226 "transactionType": { 227 "type": "object", 228 "$ref": "../common/cper-json-nvp.json" 229 }, 230 "operation": { 231 "type": "object", 232 "$ref": "../common/cper-json-nvp.json" 233 }, 234 "level": { 235 "type": "integer" 236 }, 237 "processorContextCorrupt": { 238 "type": "boolean" 239 }, 240 "corrected": { 241 "type": "boolean" 242 }, 243 "precisePC": { 244 "type": "boolean" 245 }, 246 "restartablePC": { 247 "type": "boolean" 248 }, 249 "timedOut": { 250 "type": "boolean" 251 }, 252 "participationType": { 253 "type": "object", 254 "$ref": "../common/cper-json-nvp.json" 255 }, 256 "addressSpace": { 257 "type": "object", 258 "$ref": "../common/cper-json-nvp.json" 259 }, 260 "accessMode": { 261 "type": "object", 262 "$ref": "../common/cper-json-nvp.json" 263 }, 264 "memoryAttributes": { 265 "type": "integer" 266 } 267 } 268 } 269 ] 270 }, 271 "virtualFaultAddress": { 272 "type": "integer" 273 }, 274 "physicalFaultAddress": { 275 "type": "integer" 276 } 277 } 278 } 279 }, 280 "contextInfo": { 281 "type": "array", 282 "items": { 283 "type": "object", 284 "required": ["registerContextType", "registerArraySize", "registerArray"], 285 "additionalProperties": false, 286 "properties": { 287 "registerContextType": { 288 "type": "object", 289 "$ref": "../common/cper-json-nvp.json" 290 }, 291 "registerArraySize": { 292 "type": "integer" 293 }, 294 "registerArray": { 295 "type": "object", 296 "oneOf": [ 297 { 298 "type": "object", 299 "required": ["r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13_sp", "r14_lr", "r15_pc"], 300 "properties": { 301 "r0": { "type": "integer" }, 302 "r1": { "type": "integer" }, 303 "r2": { "type": "integer" }, 304 "r3": { "type": "integer" }, 305 "r4": { "type": "integer" }, 306 "r5": { "type": "integer" }, 307 "r6": { "type": "integer" }, 308 "r7": { "type": "integer" }, 309 "r8": { "type": "integer" }, 310 "r9": { "type": "integer" }, 311 "r10": { "type": "integer" }, 312 "r11": { "type": "integer" }, 313 "r12": { "type": "integer" }, 314 "r13_sp": { "type": "integer" }, 315 "r14_lr": { "type": "integer" }, 316 "r15_pc": { "type": "integer" } 317 } 318 }, 319 { 320 "type": "object", 321 "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"], 322 "properties": { 323 "dfar": { "type": "integer" }, 324 "dfsr": { "type": "integer" }, 325 "ifar": { "type": "integer" }, 326 "isr": { "type": "integer" }, 327 "mair0": { "type": "integer" }, 328 "mair1": { "type": "integer" }, 329 "midr": { "type": "integer" }, 330 "mpidr": { "type": "integer" }, 331 "nmrr": { "type": "integer" }, 332 "prrr": { "type": "integer" }, 333 "sctlr_ns": { "type": "integer" }, 334 "spsr": { "type": "integer" }, 335 "spsr_abt": { "type": "integer" }, 336 "spsr_fiq": { "type": "integer" }, 337 "spsr_irq": { "type": "integer" }, 338 "spsr_svc": { "type": "integer" }, 339 "spsr_und": { "type": "integer" }, 340 "tpidrprw": { "type": "integer" }, 341 "tpidruro": { "type": "integer" }, 342 "tpidrurw": { "type": "integer" }, 343 "ttbcr": { "type": "integer" }, 344 "ttbr0": { "type": "integer" }, 345 "ttbr1": { "type": "integer" }, 346 "dacr": { "type": "integer" } 347 } 348 }, 349 { 350 "type": "object", 351 "required": ["elr_hyp", "hamair0", "hamair1", "hcr", "hcr2", "hdfar", "hifar", "hpfar", "hsr", "htcr", "htpidr", "httbr", "spsr_hyp", "vtcr", "vttbr", "dacr32_el2"], 352 "properties": { 353 "elr_hyp": { "type": "integer" }, 354 "hamair0": { "type": "integer" }, 355 "hamair1": { "type": "integer" }, 356 "hcr": { "type": "integer" }, 357 "hcr2": { "type": "integer" }, 358 "hdfar": { "type": "integer" }, 359 "hifar": { "type": "integer" }, 360 "hpfar": { "type": "integer" }, 361 "hsr": { "type": "integer" }, 362 "htcr": { "type": "integer" }, 363 "htpidr": { "type": "integer" }, 364 "httbr": { "type": "integer" }, 365 "spsr_hyp": { "type": "integer" }, 366 "vtcr": { "type": "integer" }, 367 "vttbr": { "type": "integer" }, 368 "dacr32_el2": { "type": "integer" } 369 } 370 }, 371 { 372 "type": "object", 373 "required": ["sctlr_s", "spsr_mon"], 374 "properties": { 375 "sctlr_s": { "type": "integer" }, 376 "spsr_mon": { "type": "integer" } 377 } 378 }, 379 { 380 "type": "object", 381 "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"], 382 "properties": { 383 "x0": { "type": "integer" }, 384 "x1": { "type": "integer" }, 385 "x2": { "type": "integer" }, 386 "x3": { "type": "integer" }, 387 "x4": { "type": "integer" }, 388 "x5": { "type": "integer" }, 389 "x6": { "type": "integer" }, 390 "x7": { "type": "integer" }, 391 "x8": { "type": "integer" }, 392 "x9": { "type": "integer" }, 393 "x10": { "type": "integer" }, 394 "x11": { "type": "integer" }, 395 "x12": { "type": "integer" }, 396 "x13": { "type": "integer" }, 397 "x14": { "type": "integer" }, 398 "x15": { "type": "integer" }, 399 "x16": { "type": "integer" }, 400 "x17": { "type": "integer" }, 401 "x18": { "type": "integer" }, 402 "x19": { "type": "integer" }, 403 "x20": { "type": "integer" }, 404 "x21": { "type": "integer" }, 405 "x22": { "type": "integer" }, 406 "x23": { "type": "integer" }, 407 "x24": { "type": "integer" }, 408 "x25": { "type": "integer" }, 409 "x26": { "type": "integer" }, 410 "x27": { "type": "integer" }, 411 "x28": { "type": "integer" }, 412 "x29": { "type": "integer" }, 413 "x30": { "type": "integer" }, 414 "sp": { "type": "integer" } 415 } 416 }, 417 { 418 "type": "object", 419 "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"], 420 "properties": { 421 "elr_el1": { "type": "integer" }, 422 "esr_el1": { "type": "integer" }, 423 "far_el1": { "type": "integer" }, 424 "isr_el1": { "type": "integer" }, 425 "mair_el1": { "type": "integer" }, 426 "midr_el1": { "type": "integer" }, 427 "mpidr_el1": { "type": "integer" }, 428 "sctlr_el1": { "type": "integer" }, 429 "sp_el0": { "type": "integer" }, 430 "sp_el1": { "type": "integer" }, 431 "spsr_el1": { "type": "integer" }, 432 "tcr_el1": { "type": "integer" }, 433 "tpidr_el0": { "type": "integer" }, 434 "tpidr_el1": { "type": "integer" }, 435 "tpidrro_el0": { "type": "integer" }, 436 "ttbr0_el1": { "type": "integer" }, 437 "ttbr1_el1": { "type": "integer" } 438 } 439 }, 440 { 441 "type": "object", 442 "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"], 443 "properties": { 444 "elr_el2": { "type": "integer" }, 445 "esr_el2": { "type": "integer" }, 446 "far_el2": { "type": "integer" }, 447 "hacr_el2": { "type": "integer" }, 448 "hcr_el2": { "type": "integer" }, 449 "hpfar_el2": { "type": "integer" }, 450 "mair_el2": { "type": "integer" }, 451 "sctlr_el2": { "type": "integer" }, 452 "sp_el2": { "type": "integer" }, 453 "spsr_el2": { "type": "integer" }, 454 "tcr_el2": { "type": "integer" }, 455 "tpidr_el2": { "type": "integer" }, 456 "ttbr0_el2": { "type": "integer" }, 457 "vtcr_el2": { "type": "integer" }, 458 "vttbr_el2": { "type": "integer" } 459 } 460 }, 461 { 462 "type": "object", 463 "required": ["elr_el3", "esr_el3", "far_el3", "mair_el3", "sctlr_el3", "sp_el3", "spsr_el3", "tcr_el3", "tpidr_el3", "ttbr0_el3"], 464 "properties": { 465 "elr_el3": { "type": "integer" }, 466 "esr_el3": { "type": "integer" }, 467 "far_el3": { "type": "integer" }, 468 "mair_el3": { "type": "integer" }, 469 "sctlr_el3": { "type": "integer" }, 470 "sp_el3": { "type": "integer" }, 471 "spsr_el3": { "type": "integer" }, 472 "tcr_el3": { "type": "integer" }, 473 "tpidr_el3": { "type": "integer" }, 474 "ttbr0_el3": { "type": "integer" } 475 } 476 }, 477 { 478 "type": "object", 479 "required": ["mrsEncoding", "value"], 480 "additionalProperties": false, 481 "properties": { 482 "mrsEncoding": { 483 "type": "object", 484 "required": ["op2", "crm", "crn", "op1", "o0"], 485 "properties": { 486 "op2": { "type": "integer" }, 487 "crm": { "type": "integer" }, 488 "crn": { "type": "integer" }, 489 "op1": { "type": "integer" }, 490 "o0": { "type": "integer" } 491 } 492 }, 493 "value": { 494 "type": "integer" 495 } 496 } 497 }, 498 { 499 "type": "object", 500 "required": ["data"], 501 "properties": { 502 "data": { 503 "type": "string" 504 } 505 } 506 } 507 ] 508 } 509 } 510 } 511 }, 512 "vendorSpecificInfo": { 513 "type": "object", 514 "required": ["data"], 515 "additionalProperties": false, 516 "properties": { 517 "data": { 518 "type": "string" 519 } 520 } 521 } 522 } 523}