1{ 2 "$schema": "https://json-schema.org/draft/2020-12/schema", 3 "type": "object", 4 "required": [ 5 "validationBits", 6 "localAPICID", 7 "cpuidInfo", 8 "processorErrorInfo", 9 "processorContextInfo" 10 ], 11 "additionalProperties": false, 12 "properties": { 13 "validationBits": { 14 "type": "object", 15 "required": [ 16 "localAPICIDValid", 17 "cpuIDInfoValid", 18 "processorErrorInfoNum", 19 "processorContextInfoNum" 20 ], 21 "properties": { 22 "localAPICIDValid": { 23 "type": "boolean" 24 }, 25 "cpuIDInfoValid": { 26 "type": "boolean" 27 }, 28 "processorErrorInfoNum": { 29 "type": "integer", 30 "minimum": 0 31 }, 32 "processorContextInfoNum": { 33 "type": "integer", 34 "minimum": 0 35 } 36 } 37 }, 38 "localAPICID": { 39 "type": "integer" 40 }, 41 "cpuidInfo": { 42 "type": "object", 43 "required": ["eax", "ebx", "ecx", "edx"], 44 "properties": { 45 "eax": { 46 "type": "integer" 47 }, 48 "ebx": { 49 "type": "integer" 50 }, 51 "ecx": { 52 "type": "integer" 53 }, 54 "edx": { 55 "type": "integer" 56 } 57 } 58 }, 59 "processorErrorInfo": { 60 "type": "array", 61 "items": { 62 "type": "object", 63 "required": [ 64 "type", 65 "validationBits", 66 "checkInfo", 67 "targetAddressID", 68 "requestorID", 69 "responderID", 70 "instructionPointer" 71 ], 72 "additionalProperties": false, 73 "properties": { 74 "type": { 75 "type": "object", 76 "required": ["guid", "name"], 77 "properties": { 78 "guid": { 79 "type": "string" 80 }, 81 "name": { 82 "type": "string" 83 } 84 } 85 }, 86 "validationBits": { 87 "type": "object", 88 "required": [ 89 "checkInfoValid", 90 "targetAddressIDValid", 91 "requestorIDValid", 92 "responderIDValid", 93 "instructionPointerValid" 94 ], 95 "additionalProperties": false, 96 "properties": { 97 "checkInfoValid": { 98 "type": "boolean" 99 }, 100 "targetAddressIDValid": { 101 "type": "boolean" 102 }, 103 "requestorIDValid": { 104 "type": "boolean" 105 }, 106 "responderIDValid": { 107 "type": "boolean" 108 }, 109 "instructionPointerValid": { 110 "type": "boolean" 111 } 112 } 113 }, 114 "checkInfo": { 115 "type": "object", 116 "oneOf": [ 117 { 118 "$id": "cper-json-checkinfo0", 119 "type": "object", 120 "required": [ 121 "validationBits", 122 "transactionType", 123 "operation", 124 "level", 125 "processorContextCorrupt", 126 "uncorrected", 127 "preciseIP", 128 "restartableIP", 129 "overflow" 130 ], 131 "additionalProperties": false, 132 "properties": { 133 "validationBits": { 134 "type": "object", 135 "required": [ 136 "transactionTypeValid", 137 "operationValid", 138 "levelValid", 139 "processorContextCorruptValid", 140 "uncorrectedValid", 141 "preciseIPValid", 142 "restartableIPValid", 143 "overflowValid" 144 ], 145 "properties": { 146 "transactionTypeValid": { 147 "type": "boolean" 148 }, 149 "operationValid": { 150 "type": "boolean" 151 }, 152 "levelValid": { 153 "type": "boolean" 154 }, 155 "processorContextCorruptValid": { 156 "type": "boolean" 157 }, 158 "uncorrectedValid": { 159 "type": "boolean" 160 }, 161 "preciseIPValid": { 162 "type": "boolean" 163 }, 164 "restartableIPValid": { 165 "type": "boolean" 166 }, 167 "overflowValid": { 168 "type": "boolean" 169 } 170 } 171 }, 172 "transactionType": { 173 "type": "object", 174 "$ref": "./common/cper-json-nvp.json" 175 }, 176 "operation": { 177 "type": "object", 178 "$ref": "./common/cper-json-nvp.json" 179 }, 180 "level": { 181 "type": "integer", 182 "minimum": 0 183 }, 184 "processorContextCorrupt": { 185 "type": "boolean" 186 }, 187 "uncorrected": { 188 "type": "boolean" 189 }, 190 "preciseIP": { 191 "type": "boolean" 192 }, 193 "restartableIP": { 194 "type": "boolean" 195 }, 196 "overflow": { 197 "type": "boolean" 198 } 199 } 200 }, 201 { 202 "$id": "cper-json-checkinfo1", 203 "type": "object", 204 "required": [ 205 "validationBits", 206 "transactionType", 207 "operation", 208 "level", 209 "processorContextCorrupt", 210 "uncorrected", 211 "preciseIP", 212 "restartableIP", 213 "overflow", 214 "participationType", 215 "timedOut", 216 "addressSpace" 217 ], 218 "additionalProperties": false, 219 "properties": { 220 "validationBits": { 221 "type": "object", 222 "required": [ 223 "transactionTypeValid", 224 "operationValid", 225 "levelValid", 226 "processorContextCorruptValid", 227 "uncorrectedValid", 228 "preciseIPValid", 229 "restartableIPValid", 230 "overflowValid", 231 "participationTypeValid", 232 "timedOutValid", 233 "addressSpaceValid" 234 ], 235 "properties": { 236 "transactionTypeValid": { 237 "type": "boolean" 238 }, 239 "operationValid": { 240 "type": "boolean" 241 }, 242 "levelValid": { 243 "type": "boolean" 244 }, 245 "processorContextCorruptValid": { 246 "type": "boolean" 247 }, 248 "uncorrectedValid": { 249 "type": "boolean" 250 }, 251 "preciseIPValid": { 252 "type": "boolean" 253 }, 254 "restartableIPValid": { 255 "type": "boolean" 256 }, 257 "overflowValid": { 258 "type": "boolean" 259 }, 260 "participationTypeValid": { 261 "type": "boolean" 262 }, 263 "timedOutValid": { 264 "type": "boolean" 265 }, 266 "addressSpaceValid": { 267 "type": "boolean" 268 } 269 } 270 }, 271 "transactionType": { 272 "type": "object", 273 "$ref": "./common/cper-json-nvp.json" 274 }, 275 "operation": { 276 "type": "object", 277 "$ref": "./common/cper-json-nvp.json" 278 }, 279 "level": { 280 "type": "integer", 281 "minimum": 0 282 }, 283 "processorContextCorrupt": { 284 "type": "boolean" 285 }, 286 "uncorrected": { 287 "type": "boolean" 288 }, 289 "preciseIP": { 290 "type": "boolean" 291 }, 292 "restartableIP": { 293 "type": "boolean" 294 }, 295 "overflow": { 296 "type": "boolean" 297 }, 298 "participationType": { 299 "type": "object", 300 "$ref": "./common/cper-json-nvp.json" 301 }, 302 "addressSpace": { 303 "type": "object", 304 "$ref": "./common/cper-json-nvp.json" 305 }, 306 "timedOut": { 307 "type": "boolean" 308 } 309 } 310 }, 311 { 312 "$id": "cper-json-checkinfo2", 313 "type": "object", 314 "required": [], 315 "additionalProperties": false, 316 "properties": { 317 "validationBits": { 318 "type": "object", 319 "required": [ 320 "errorTypeValid", 321 "processorContextCorruptValid", 322 "uncorrectedValid", 323 "preciseIPValid", 324 "restartableIPValid", 325 "overflowValid" 326 ], 327 "properties": { 328 "errorTypeValid": { 329 "type": "boolean" 330 }, 331 "processorContextCorruptValid": { 332 "type": "boolean" 333 }, 334 "uncorrectedValid": { 335 "type": "boolean" 336 }, 337 "preciseIPValid": { 338 "type": "boolean" 339 }, 340 "restartableIPValid": { 341 "type": "boolean" 342 }, 343 "overflowValid": { 344 "type": "boolean" 345 } 346 } 347 }, 348 "errorType": { 349 "type": "object", 350 "$ref": "./common/cper-json-nvp.json" 351 }, 352 "processorContextCorrupt": { 353 "type": "boolean" 354 }, 355 "uncorrected": { 356 "type": "boolean" 357 }, 358 "preciseIP": { 359 "type": "boolean" 360 }, 361 "restartableIP": { 362 "type": "boolean" 363 }, 364 "overflow": { 365 "type": "boolean" 366 } 367 } 368 } 369 ] 370 }, 371 "targetAddressID": { 372 "type": "integer" 373 }, 374 "requestorID": { 375 "type": "integer" 376 }, 377 "responderID": { 378 "type": "integer" 379 }, 380 "instructionPointer": { 381 "type": "integer" 382 } 383 } 384 } 385 }, 386 "processorContextInfo": { 387 "type": "array", 388 "items": { 389 "type": "object", 390 "required": [ 391 "registerContextType", 392 "registerArraySize", 393 "msrAddress", 394 "mmRegisterAddress" 395 ], 396 "additionalProperties": false, 397 "properties": { 398 "registerContextType": { 399 "type": "object", 400 "$ref": "./common/cper-json-nvp.json" 401 }, 402 "registerArraySize": { 403 "type": "integer" 404 }, 405 "msrAddress": { 406 "type": "integer" 407 }, 408 "mmRegisterAddress": { 409 "type": "integer" 410 }, 411 "registerArray": { 412 "type": "object", 413 "oneOf": [ 414 { 415 "$id": "cper-json-registerarray0", 416 "type": "object", 417 "required": [ 418 "eax", 419 "ebx", 420 "ecx", 421 "edx", 422 "esi", 423 "edi", 424 "ebp", 425 "esp", 426 "cs", 427 "ds", 428 "ss", 429 "es", 430 "fs", 431 "gs", 432 "eflags", 433 "eip", 434 "cr0", 435 "cr1", 436 "cr2", 437 "cr3", 438 "cr4", 439 "gdtr", 440 "idtr", 441 "ldtr", 442 "tr" 443 ], 444 "additionalProperties": false, 445 "properties": { 446 "eax": { "type": "integer" }, 447 "ebx": { "type": "integer" }, 448 "ecx": { "type": "integer" }, 449 "edx": { "type": "integer" }, 450 "esi": { "type": "integer" }, 451 "edi": { "type": "integer" }, 452 "ebp": { "type": "integer" }, 453 "esp": { "type": "integer" }, 454 "cs": { "type": "integer" }, 455 "ds": { "type": "integer" }, 456 "ss": { "type": "integer" }, 457 "es": { "type": "integer" }, 458 "fs": { "type": "integer" }, 459 "gs": { "type": "integer" }, 460 "eflags": { "type": "integer" }, 461 "eip": { "type": "integer" }, 462 "cr0": { "type": "integer" }, 463 "cr1": { "type": "integer" }, 464 "cr2": { "type": "integer" }, 465 "cr3": { "type": "integer" }, 466 "cr4": { "type": "integer" }, 467 "gdtr": { "type": "integer" }, 468 "idtr": { "type": "integer" }, 469 "ldtr": { "type": "integer" }, 470 "tr": { "type": "integer" } 471 } 472 }, 473 { 474 "$id": "cper-json-registerarray1", 475 "type": "object", 476 "required": [ 477 "rax", 478 "rbx", 479 "rcx", 480 "rdx", 481 "rsi", 482 "rdi", 483 "rbp", 484 "rsp", 485 "r8", 486 "r9", 487 "r10", 488 "r11", 489 "r12", 490 "r13", 491 "r14", 492 "r15", 493 "cs", 494 "ds", 495 "es", 496 "fs", 497 "gs", 498 "rflags", 499 "eip", 500 "cr0", 501 "cr1", 502 "cr2", 503 "cr3", 504 "cr4", 505 "cr8", 506 "gdtr_0", 507 "gdtr_1", 508 "idtr_0", 509 "idtr_1", 510 "ldtr", 511 "tr" 512 ], 513 "additionalProperties": false, 514 "properties": { 515 "rax": { "type": "integer" }, 516 "rbx": { "type": "integer" }, 517 "rcx": { "type": "integer" }, 518 "rdx": { "type": "integer" }, 519 "rsi": { "type": "integer" }, 520 "rdi": { "type": "integer" }, 521 "rbp": { "type": "integer" }, 522 "rsp": { "type": "integer" }, 523 "r8": { "type": "integer" }, 524 "r9": { "type": "integer" }, 525 "r10": { "type": "integer" }, 526 "r11": { "type": "integer" }, 527 "r12": { "type": "integer" }, 528 "r13": { "type": "integer" }, 529 "r14": { "type": "integer" }, 530 "r15": { "type": "integer" }, 531 "cs": { "type": "integer" }, 532 "ds": { "type": "integer" }, 533 "ss": { "type": "integer" }, 534 "es": { "type": "integer" }, 535 "fs": { "type": "integer" }, 536 "gs": { "type": "integer" }, 537 "rflags": { "type": "integer" }, 538 "eip": { "type": "integer" }, 539 "cr0": { "type": "integer" }, 540 "cr1": { "type": "integer" }, 541 "cr2": { "type": "integer" }, 542 "cr3": { "type": "integer" }, 543 "cr4": { "type": "integer" }, 544 "cr8": { "type": "integer" }, 545 "gdtr_0": { "type": "integer" }, 546 "gdtr_1": { "type": "integer" }, 547 "idtr_0": { "type": "integer" }, 548 "idtr_1": { "type": "integer" }, 549 "ldtr": { "type": "integer" }, 550 "tr": { "type": "integer" } 551 } 552 }, 553 { 554 "$id": "cper-json-registerarray2", 555 "type": "object", 556 "required": ["data"], 557 "additionalProperties": false, 558 "properties": { 559 "data": { 560 "type": "string" 561 } 562 } 563 } 564 ] 565 } 566 } 567 } 568 } 569 } 570} 571