1{ 2 "$schema": "https://json-schema.org/draft/2020-12/schema", 3 "type": "object", 4 "description": "IA32x64 Processor Error Section", 5 "required": ["processorErrorInfoNum", "processorContextInfoNum"], 6 "additionalProperties": false, 7 "properties": { 8 "processorErrorInfoNum": { 9 "type": "integer", 10 "description": "This is the number of Error Information structures." 11 }, 12 "processorContextInfoNum": { 13 "type": "integer", 14 "description": "This is the number of Context Information structures." 15 }, 16 "localAPICID": { 17 "type": "integer", 18 "description": "This is the processor APIC ID programmed into the APIC ID registers." 19 }, 20 "cpuidInfo": { 21 "type": "object", 22 "description": "This field represents the CPU ID structure of 48 bytes and returns Model, Family, and stepping information as provided by the CPUID instruction with EAX=1 input and output values from EAX, EBX, ECX, and EDX null extended to 64-bits.", 23 "required": ["eax", "ebx", "ecx", "edx"], 24 "properties": { 25 "eax": { 26 "type": "integer" 27 }, 28 "ebx": { 29 "type": "integer" 30 }, 31 "ecx": { 32 "type": "integer" 33 }, 34 "edx": { 35 "type": "integer" 36 } 37 } 38 }, 39 "processorErrorInfo": { 40 "type": "array", 41 "description": "Array of processor error information structure.", 42 "items": { 43 "type": "object", 44 "required": ["type"], 45 "additionalProperties": false, 46 "properties": { 47 "type": { 48 "type": "object", 49 "additionalProperties": false, 50 "required": ["guid", "name"], 51 "properties": { 52 "guid": { 53 "type": "string" 54 }, 55 "name": { 56 "type": "string" 57 } 58 } 59 }, 60 "checkInfo": { 61 "type": "object", 62 "required": [], 63 "additionalProperties": false, 64 "properties": { 65 "transactionType": { 66 "type": "object", 67 "$ref": "./common/cper-json-nvp.json" 68 }, 69 "operation": { 70 "type": "object", 71 "$ref": "./common/cper-json-nvp.json" 72 }, 73 "level": { 74 "type": "integer", 75 "minimum": 0 76 }, 77 "processorContextCorrupt": { 78 "type": "boolean" 79 }, 80 "uncorrected": { 81 "type": "boolean" 82 }, 83 "preciseIP": { 84 "type": "boolean" 85 }, 86 "restartableIP": { 87 "type": "boolean" 88 }, 89 "overflow": { 90 "type": "boolean" 91 }, 92 "participationType": { 93 "type": "object", 94 "$ref": "./common/cper-json-nvp.json" 95 }, 96 "addressSpace": { 97 "type": "object", 98 "$ref": "./common/cper-json-nvp.json" 99 }, 100 "timedOut": { 101 "type": "boolean" 102 }, 103 "errorType": { 104 "type": "object", 105 "$ref": "./common/cper-json-nvp.json" 106 } 107 } 108 }, 109 "targetAddressID": { 110 "type": "integer" 111 }, 112 "requestorID": { 113 "type": "integer" 114 }, 115 "responderID": { 116 "type": "integer" 117 }, 118 "instructionPointer": { 119 "type": "integer" 120 } 121 } 122 } 123 }, 124 "processorContextInfo": { 125 "type": "array", 126 "description": "This is a variable size field providing the information for the processor context state such as MC Bank MSRs and general registers.", 127 "items": { 128 "type": ["object", "null"], 129 "required": [ 130 "registerContextType", 131 "registerArraySize", 132 "msrAddress", 133 "mmRegisterAddress" 134 ], 135 "additionalProperties": false, 136 "properties": { 137 "registerContextType": { 138 "type": "object", 139 "$ref": "./common/cper-json-nvp.json" 140 }, 141 "registerArraySize": { 142 "type": "integer" 143 }, 144 "msrAddress": { 145 "type": "integer" 146 }, 147 "mmRegisterAddress": { 148 "type": "integer" 149 }, 150 "registerArray": { 151 "type": "object", 152 "oneOf": [ 153 { 154 "$id": "cper-json-registerarray0", 155 "type": "object", 156 "required": [ 157 "eax", 158 "ebx", 159 "ecx", 160 "edx", 161 "esi", 162 "edi", 163 "ebp", 164 "esp", 165 "cs", 166 "ds", 167 "ss", 168 "es", 169 "fs", 170 "gs", 171 "eflags", 172 "eip", 173 "cr0", 174 "cr1", 175 "cr2", 176 "cr3", 177 "cr4", 178 "gdtr", 179 "idtr", 180 "ldtr", 181 "tr" 182 ], 183 "additionalProperties": false, 184 "properties": { 185 "eax": { 186 "type": "integer" 187 }, 188 "ebx": { 189 "type": "integer" 190 }, 191 "ecx": { 192 "type": "integer" 193 }, 194 "edx": { 195 "type": "integer" 196 }, 197 "esi": { 198 "type": "integer" 199 }, 200 "edi": { 201 "type": "integer" 202 }, 203 "ebp": { 204 "type": "integer" 205 }, 206 "esp": { 207 "type": "integer" 208 }, 209 "cs": { 210 "type": "integer" 211 }, 212 "ds": { 213 "type": "integer" 214 }, 215 "ss": { 216 "type": "integer" 217 }, 218 "es": { 219 "type": "integer" 220 }, 221 "fs": { 222 "type": "integer" 223 }, 224 "gs": { 225 "type": "integer" 226 }, 227 "eflags": { 228 "type": "integer" 229 }, 230 "eip": { 231 "type": "integer" 232 }, 233 "cr0": { 234 "type": "integer" 235 }, 236 "cr1": { 237 "type": "integer" 238 }, 239 "cr2": { 240 "type": "integer" 241 }, 242 "cr3": { 243 "type": "integer" 244 }, 245 "cr4": { 246 "type": "integer" 247 }, 248 "gdtr": { 249 "type": "integer" 250 }, 251 "idtr": { 252 "type": "integer" 253 }, 254 "ldtr": { 255 "type": "integer" 256 }, 257 "tr": { 258 "type": "integer" 259 } 260 } 261 }, 262 { 263 "$id": "cper-json-registerarray1", 264 "type": "object", 265 "required": [ 266 "rax", 267 "rbx", 268 "rcx", 269 "rdx", 270 "rsi", 271 "rdi", 272 "rbp", 273 "rsp", 274 "r8", 275 "r9", 276 "r10", 277 "r11", 278 "r12", 279 "r13", 280 "r14", 281 "r15", 282 "cs", 283 "ds", 284 "es", 285 "fs", 286 "gs", 287 "rflags", 288 "eip", 289 "cr0", 290 "cr1", 291 "cr2", 292 "cr3", 293 "cr4", 294 "cr8", 295 "gdtr_0", 296 "gdtr_1", 297 "idtr_0", 298 "idtr_1", 299 "ldtr", 300 "tr" 301 ], 302 "additionalProperties": false, 303 "properties": { 304 "rax": { 305 "type": "integer" 306 }, 307 "rbx": { 308 "type": "integer" 309 }, 310 "rcx": { 311 "type": "integer" 312 }, 313 "rdx": { 314 "type": "integer" 315 }, 316 "rsi": { 317 "type": "integer" 318 }, 319 "rdi": { 320 "type": "integer" 321 }, 322 "rbp": { 323 "type": "integer" 324 }, 325 "rsp": { 326 "type": "integer" 327 }, 328 "r8": { 329 "type": "integer" 330 }, 331 "r9": { 332 "type": "integer" 333 }, 334 "r10": { 335 "type": "integer" 336 }, 337 "r11": { 338 "type": "integer" 339 }, 340 "r12": { 341 "type": "integer" 342 }, 343 "r13": { 344 "type": "integer" 345 }, 346 "r14": { 347 "type": "integer" 348 }, 349 "r15": { 350 "type": "integer" 351 }, 352 "cs": { 353 "type": "integer" 354 }, 355 "ds": { 356 "type": "integer" 357 }, 358 "ss": { 359 "type": "integer" 360 }, 361 "es": { 362 "type": "integer" 363 }, 364 "fs": { 365 "type": "integer" 366 }, 367 "gs": { 368 "type": "integer" 369 }, 370 "rflags": { 371 "type": "integer" 372 }, 373 "eip": { 374 "type": "integer" 375 }, 376 "cr0": { 377 "type": "integer" 378 }, 379 "cr1": { 380 "type": "integer" 381 }, 382 "cr2": { 383 "type": "integer" 384 }, 385 "cr3": { 386 "type": "integer" 387 }, 388 "cr4": { 389 "type": "integer" 390 }, 391 "cr8": { 392 "type": "integer" 393 }, 394 "gdtr_0": { 395 "type": "integer" 396 }, 397 "gdtr_1": { 398 "type": "integer" 399 }, 400 "idtr_0": { 401 "type": "integer" 402 }, 403 "idtr_1": { 404 "type": "integer" 405 }, 406 "ldtr": { 407 "type": "integer" 408 }, 409 "tr": { 410 "type": "integer" 411 } 412 } 413 }, 414 { 415 "$id": "cper-json-registerarray2", 416 "type": "object", 417 "required": ["data"], 418 "additionalProperties": false, 419 "properties": { 420 "data": { 421 "type": "string" 422 } 423 } 424 } 425 ] 426 } 427 } 428 } 429 } 430 } 431} 432