1079d581eSLawrence Tang{ 2079d581eSLawrence Tang "$schema": "https://json-schema.org/draft/2020-12/schema", 3079d581eSLawrence Tang "type": "object", 4da798dc4SEd Tanous "description": "IA32x64 Processor Error Section", 5ae8f6d9aSAushim Nagarkatti "required": ["processorErrorInfoNum", "processorContextInfoNum"], 6079d581eSLawrence Tang "additionalProperties": false, 7079d581eSLawrence Tang "properties": { 8079d581eSLawrence Tang "processorErrorInfoNum": { 9079d581eSLawrence Tang "type": "integer", 10ae8f6d9aSAushim Nagarkatti "description": "This is the number of Error Information structures." 11079d581eSLawrence Tang }, 12079d581eSLawrence Tang "processorContextInfoNum": { 13079d581eSLawrence Tang "type": "integer", 14ae8f6d9aSAushim Nagarkatti "description": "This is the number of Context Information structures." 15079d581eSLawrence Tang }, 16079d581eSLawrence Tang "localAPICID": { 17d9835a17SAndrew Adriance "type": "integer", 18d9835a17SAndrew Adriance "description": "This is the processor APIC ID programmed into the APIC ID registers." 19079d581eSLawrence Tang }, 20079d581eSLawrence Tang "cpuidInfo": { 21079d581eSLawrence Tang "type": "object", 22d9835a17SAndrew Adriance "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.", 23079d581eSLawrence Tang "required": ["eax", "ebx", "ecx", "edx"], 24079d581eSLawrence Tang "properties": { 25079d581eSLawrence Tang "eax": { 26079d581eSLawrence Tang "type": "integer" 27079d581eSLawrence Tang }, 28079d581eSLawrence Tang "ebx": { 29079d581eSLawrence Tang "type": "integer" 30079d581eSLawrence Tang }, 31079d581eSLawrence Tang "ecx": { 32079d581eSLawrence Tang "type": "integer" 33079d581eSLawrence Tang }, 34079d581eSLawrence Tang "edx": { 35079d581eSLawrence Tang "type": "integer" 36079d581eSLawrence Tang } 37079d581eSLawrence Tang } 38079d581eSLawrence Tang }, 39079d581eSLawrence Tang "processorErrorInfo": { 40079d581eSLawrence Tang "type": "array", 41d9835a17SAndrew Adriance "description": "Array of processor error information structure.", 42079d581eSLawrence Tang "items": { 43079d581eSLawrence Tang "type": "object", 44ae8f6d9aSAushim Nagarkatti "required": ["type"], 45079d581eSLawrence Tang "additionalProperties": false, 46079d581eSLawrence Tang "properties": { 47079d581eSLawrence Tang "type": { 483592da71SLawrence Tang "type": "object", 497a531ff4SEd Tanous "additionalProperties": false, 503592da71SLawrence Tang "required": ["guid", "name"], 513592da71SLawrence Tang "properties": { 523592da71SLawrence Tang "guid": { 53079d581eSLawrence Tang "type": "string" 54079d581eSLawrence Tang }, 553592da71SLawrence Tang "name": { 563592da71SLawrence Tang "type": "string" 573592da71SLawrence Tang } 583592da71SLawrence Tang } 593592da71SLawrence Tang }, 60079d581eSLawrence Tang "checkInfo": { 61079d581eSLawrence Tang "type": "object", 62*75a60286SEd Tanous "required": [], 63079d581eSLawrence Tang "additionalProperties": false, 64079d581eSLawrence Tang "properties": { 65079d581eSLawrence Tang "transactionType": { 66079d581eSLawrence Tang "type": "object", 678a2d737cSLawrence Tang "$ref": "./common/cper-json-nvp.json" 68079d581eSLawrence Tang }, 69079d581eSLawrence Tang "operation": { 70079d581eSLawrence Tang "type": "object", 718a2d737cSLawrence Tang "$ref": "./common/cper-json-nvp.json" 72079d581eSLawrence Tang }, 73079d581eSLawrence Tang "level": { 74079d581eSLawrence Tang "type": "integer", 75079d581eSLawrence Tang "minimum": 0 76079d581eSLawrence Tang }, 77079d581eSLawrence Tang "processorContextCorrupt": { 78079d581eSLawrence Tang "type": "boolean" 79079d581eSLawrence Tang }, 80079d581eSLawrence Tang "uncorrected": { 81079d581eSLawrence Tang "type": "boolean" 82079d581eSLawrence Tang }, 83079d581eSLawrence Tang "preciseIP": { 84079d581eSLawrence Tang "type": "boolean" 85079d581eSLawrence Tang }, 86079d581eSLawrence Tang "restartableIP": { 87079d581eSLawrence Tang "type": "boolean" 88079d581eSLawrence Tang }, 89079d581eSLawrence Tang "overflow": { 90079d581eSLawrence Tang "type": "boolean" 91079d581eSLawrence Tang }, 92079d581eSLawrence Tang "participationType": { 93079d581eSLawrence Tang "type": "object", 948a2d737cSLawrence Tang "$ref": "./common/cper-json-nvp.json" 95079d581eSLawrence Tang }, 96079d581eSLawrence Tang "addressSpace": { 97079d581eSLawrence Tang "type": "object", 988a2d737cSLawrence Tang "$ref": "./common/cper-json-nvp.json" 99079d581eSLawrence Tang }, 100079d581eSLawrence Tang "timedOut": { 101079d581eSLawrence Tang "type": "boolean" 102079d581eSLawrence Tang }, 103079d581eSLawrence Tang "errorType": { 104079d581eSLawrence Tang "type": "object", 1058a2d737cSLawrence Tang "$ref": "./common/cper-json-nvp.json" 106079d581eSLawrence Tang } 107079d581eSLawrence Tang } 108079d581eSLawrence Tang }, 109079d581eSLawrence Tang "targetAddressID": { 110079d581eSLawrence Tang "type": "integer" 111079d581eSLawrence Tang }, 112079d581eSLawrence Tang "requestorID": { 113079d581eSLawrence Tang "type": "integer" 114079d581eSLawrence Tang }, 115079d581eSLawrence Tang "responderID": { 116079d581eSLawrence Tang "type": "integer" 117079d581eSLawrence Tang }, 118079d581eSLawrence Tang "instructionPointer": { 119079d581eSLawrence Tang "type": "integer" 120079d581eSLawrence Tang } 121079d581eSLawrence Tang } 122079d581eSLawrence Tang } 123079d581eSLawrence Tang }, 124079d581eSLawrence Tang "processorContextInfo": { 125079d581eSLawrence Tang "type": "array", 126d9835a17SAndrew Adriance "description": "This is a variable size field providing the information for the processor context state such as MC Bank MSRs and general registers.", 127079d581eSLawrence Tang "items": { 128*75a60286SEd Tanous "type": ["object", "null"], 129044afd01SJohn Chung "required": [ 130044afd01SJohn Chung "registerContextType", 131044afd01SJohn Chung "registerArraySize", 132044afd01SJohn Chung "msrAddress", 133044afd01SJohn Chung "mmRegisterAddress" 134044afd01SJohn Chung ], 135079d581eSLawrence Tang "additionalProperties": false, 136079d581eSLawrence Tang "properties": { 137079d581eSLawrence Tang "registerContextType": { 138079d581eSLawrence Tang "type": "object", 1398a2d737cSLawrence Tang "$ref": "./common/cper-json-nvp.json" 140079d581eSLawrence Tang }, 141079d581eSLawrence Tang "registerArraySize": { 142079d581eSLawrence Tang "type": "integer" 143079d581eSLawrence Tang }, 144079d581eSLawrence Tang "msrAddress": { 145079d581eSLawrence Tang "type": "integer" 146079d581eSLawrence Tang }, 147079d581eSLawrence Tang "mmRegisterAddress": { 148079d581eSLawrence Tang "type": "integer" 149079d581eSLawrence Tang }, 150079d581eSLawrence Tang "registerArray": { 151079d581eSLawrence Tang "type": "object", 152079d581eSLawrence Tang "oneOf": [ 153079d581eSLawrence Tang { 154382ad4c7SAushim Nagarkatti "$id": "cper-json-registerarray0", 155079d581eSLawrence Tang "type": "object", 156044afd01SJohn Chung "required": [ 157044afd01SJohn Chung "eax", 158044afd01SJohn Chung "ebx", 159044afd01SJohn Chung "ecx", 160044afd01SJohn Chung "edx", 161044afd01SJohn Chung "esi", 162044afd01SJohn Chung "edi", 163044afd01SJohn Chung "ebp", 164044afd01SJohn Chung "esp", 165044afd01SJohn Chung "cs", 166044afd01SJohn Chung "ds", 167044afd01SJohn Chung "ss", 168044afd01SJohn Chung "es", 169044afd01SJohn Chung "fs", 170044afd01SJohn Chung "gs", 171044afd01SJohn Chung "eflags", 172044afd01SJohn Chung "eip", 173044afd01SJohn Chung "cr0", 174044afd01SJohn Chung "cr1", 175044afd01SJohn Chung "cr2", 176044afd01SJohn Chung "cr3", 177044afd01SJohn Chung "cr4", 178044afd01SJohn Chung "gdtr", 179044afd01SJohn Chung "idtr", 180044afd01SJohn Chung "ldtr", 181044afd01SJohn Chung "tr" 182044afd01SJohn Chung ], 183079d581eSLawrence Tang "additionalProperties": false, 184079d581eSLawrence Tang "properties": { 185d6b62637SEd Tanous "eax": { 186d6b62637SEd Tanous "type": "integer" 187d6b62637SEd Tanous }, 188d6b62637SEd Tanous "ebx": { 189d6b62637SEd Tanous "type": "integer" 190d6b62637SEd Tanous }, 191d6b62637SEd Tanous "ecx": { 192d6b62637SEd Tanous "type": "integer" 193d6b62637SEd Tanous }, 194d6b62637SEd Tanous "edx": { 195d6b62637SEd Tanous "type": "integer" 196d6b62637SEd Tanous }, 197d6b62637SEd Tanous "esi": { 198d6b62637SEd Tanous "type": "integer" 199d6b62637SEd Tanous }, 200d6b62637SEd Tanous "edi": { 201d6b62637SEd Tanous "type": "integer" 202d6b62637SEd Tanous }, 203d6b62637SEd Tanous "ebp": { 204d6b62637SEd Tanous "type": "integer" 205d6b62637SEd Tanous }, 206d6b62637SEd Tanous "esp": { 207d6b62637SEd Tanous "type": "integer" 208d6b62637SEd Tanous }, 209d6b62637SEd Tanous "cs": { 210d6b62637SEd Tanous "type": "integer" 211d6b62637SEd Tanous }, 212d6b62637SEd Tanous "ds": { 213d6b62637SEd Tanous "type": "integer" 214d6b62637SEd Tanous }, 215d6b62637SEd Tanous "ss": { 216d6b62637SEd Tanous "type": "integer" 217d6b62637SEd Tanous }, 218d6b62637SEd Tanous "es": { 219d6b62637SEd Tanous "type": "integer" 220d6b62637SEd Tanous }, 221d6b62637SEd Tanous "fs": { 222d6b62637SEd Tanous "type": "integer" 223d6b62637SEd Tanous }, 224d6b62637SEd Tanous "gs": { 225d6b62637SEd Tanous "type": "integer" 226d6b62637SEd Tanous }, 227d6b62637SEd Tanous "eflags": { 228d6b62637SEd Tanous "type": "integer" 229d6b62637SEd Tanous }, 230d6b62637SEd Tanous "eip": { 231d6b62637SEd Tanous "type": "integer" 232d6b62637SEd Tanous }, 233d6b62637SEd Tanous "cr0": { 234d6b62637SEd Tanous "type": "integer" 235d6b62637SEd Tanous }, 236d6b62637SEd Tanous "cr1": { 237d6b62637SEd Tanous "type": "integer" 238d6b62637SEd Tanous }, 239d6b62637SEd Tanous "cr2": { 240d6b62637SEd Tanous "type": "integer" 241d6b62637SEd Tanous }, 242d6b62637SEd Tanous "cr3": { 243d6b62637SEd Tanous "type": "integer" 244d6b62637SEd Tanous }, 245d6b62637SEd Tanous "cr4": { 246d6b62637SEd Tanous "type": "integer" 247d6b62637SEd Tanous }, 248d6b62637SEd Tanous "gdtr": { 249d6b62637SEd Tanous "type": "integer" 250d6b62637SEd Tanous }, 251d6b62637SEd Tanous "idtr": { 252d6b62637SEd Tanous "type": "integer" 253d6b62637SEd Tanous }, 254d6b62637SEd Tanous "ldtr": { 255d6b62637SEd Tanous "type": "integer" 256d6b62637SEd Tanous }, 257d6b62637SEd Tanous "tr": { 258d6b62637SEd Tanous "type": "integer" 259d6b62637SEd Tanous } 260079d581eSLawrence Tang } 261079d581eSLawrence Tang }, 262079d581eSLawrence Tang { 263382ad4c7SAushim Nagarkatti "$id": "cper-json-registerarray1", 264079d581eSLawrence Tang "type": "object", 265044afd01SJohn Chung "required": [ 266044afd01SJohn Chung "rax", 267044afd01SJohn Chung "rbx", 268044afd01SJohn Chung "rcx", 269044afd01SJohn Chung "rdx", 270044afd01SJohn Chung "rsi", 271044afd01SJohn Chung "rdi", 272044afd01SJohn Chung "rbp", 273044afd01SJohn Chung "rsp", 274044afd01SJohn Chung "r8", 275044afd01SJohn Chung "r9", 276044afd01SJohn Chung "r10", 277044afd01SJohn Chung "r11", 278044afd01SJohn Chung "r12", 279044afd01SJohn Chung "r13", 280044afd01SJohn Chung "r14", 281044afd01SJohn Chung "r15", 282044afd01SJohn Chung "cs", 283044afd01SJohn Chung "ds", 284044afd01SJohn Chung "es", 285044afd01SJohn Chung "fs", 286044afd01SJohn Chung "gs", 287044afd01SJohn Chung "rflags", 288044afd01SJohn Chung "eip", 289044afd01SJohn Chung "cr0", 290044afd01SJohn Chung "cr1", 291044afd01SJohn Chung "cr2", 292044afd01SJohn Chung "cr3", 293044afd01SJohn Chung "cr4", 294044afd01SJohn Chung "cr8", 295044afd01SJohn Chung "gdtr_0", 296044afd01SJohn Chung "gdtr_1", 297044afd01SJohn Chung "idtr_0", 298044afd01SJohn Chung "idtr_1", 299044afd01SJohn Chung "ldtr", 300044afd01SJohn Chung "tr" 301044afd01SJohn Chung ], 302079d581eSLawrence Tang "additionalProperties": false, 303079d581eSLawrence Tang "properties": { 304d6b62637SEd Tanous "rax": { 305d6b62637SEd Tanous "type": "integer" 306d6b62637SEd Tanous }, 307d6b62637SEd Tanous "rbx": { 308d6b62637SEd Tanous "type": "integer" 309d6b62637SEd Tanous }, 310d6b62637SEd Tanous "rcx": { 311d6b62637SEd Tanous "type": "integer" 312d6b62637SEd Tanous }, 313d6b62637SEd Tanous "rdx": { 314d6b62637SEd Tanous "type": "integer" 315d6b62637SEd Tanous }, 316d6b62637SEd Tanous "rsi": { 317d6b62637SEd Tanous "type": "integer" 318d6b62637SEd Tanous }, 319d6b62637SEd Tanous "rdi": { 320d6b62637SEd Tanous "type": "integer" 321d6b62637SEd Tanous }, 322d6b62637SEd Tanous "rbp": { 323d6b62637SEd Tanous "type": "integer" 324d6b62637SEd Tanous }, 325d6b62637SEd Tanous "rsp": { 326d6b62637SEd Tanous "type": "integer" 327d6b62637SEd Tanous }, 328d6b62637SEd Tanous "r8": { 329d6b62637SEd Tanous "type": "integer" 330d6b62637SEd Tanous }, 331d6b62637SEd Tanous "r9": { 332d6b62637SEd Tanous "type": "integer" 333d6b62637SEd Tanous }, 334d6b62637SEd Tanous "r10": { 335d6b62637SEd Tanous "type": "integer" 336d6b62637SEd Tanous }, 337d6b62637SEd Tanous "r11": { 338d6b62637SEd Tanous "type": "integer" 339d6b62637SEd Tanous }, 340d6b62637SEd Tanous "r12": { 341d6b62637SEd Tanous "type": "integer" 342d6b62637SEd Tanous }, 343d6b62637SEd Tanous "r13": { 344d6b62637SEd Tanous "type": "integer" 345d6b62637SEd Tanous }, 346d6b62637SEd Tanous "r14": { 347d6b62637SEd Tanous "type": "integer" 348d6b62637SEd Tanous }, 349d6b62637SEd Tanous "r15": { 350d6b62637SEd Tanous "type": "integer" 351d6b62637SEd Tanous }, 352d6b62637SEd Tanous "cs": { 353d6b62637SEd Tanous "type": "integer" 354d6b62637SEd Tanous }, 355d6b62637SEd Tanous "ds": { 356d6b62637SEd Tanous "type": "integer" 357d6b62637SEd Tanous }, 358d6b62637SEd Tanous "ss": { 359d6b62637SEd Tanous "type": "integer" 360d6b62637SEd Tanous }, 361d6b62637SEd Tanous "es": { 362d6b62637SEd Tanous "type": "integer" 363d6b62637SEd Tanous }, 364d6b62637SEd Tanous "fs": { 365d6b62637SEd Tanous "type": "integer" 366d6b62637SEd Tanous }, 367d6b62637SEd Tanous "gs": { 368d6b62637SEd Tanous "type": "integer" 369d6b62637SEd Tanous }, 370d6b62637SEd Tanous "rflags": { 371d6b62637SEd Tanous "type": "integer" 372d6b62637SEd Tanous }, 373d6b62637SEd Tanous "eip": { 374d6b62637SEd Tanous "type": "integer" 375d6b62637SEd Tanous }, 376d6b62637SEd Tanous "cr0": { 377d6b62637SEd Tanous "type": "integer" 378d6b62637SEd Tanous }, 379d6b62637SEd Tanous "cr1": { 380d6b62637SEd Tanous "type": "integer" 381d6b62637SEd Tanous }, 382d6b62637SEd Tanous "cr2": { 383d6b62637SEd Tanous "type": "integer" 384d6b62637SEd Tanous }, 385d6b62637SEd Tanous "cr3": { 386d6b62637SEd Tanous "type": "integer" 387d6b62637SEd Tanous }, 388d6b62637SEd Tanous "cr4": { 389d6b62637SEd Tanous "type": "integer" 390d6b62637SEd Tanous }, 391d6b62637SEd Tanous "cr8": { 392d6b62637SEd Tanous "type": "integer" 393d6b62637SEd Tanous }, 394d6b62637SEd Tanous "gdtr_0": { 395d6b62637SEd Tanous "type": "integer" 396d6b62637SEd Tanous }, 397d6b62637SEd Tanous "gdtr_1": { 398d6b62637SEd Tanous "type": "integer" 399d6b62637SEd Tanous }, 400d6b62637SEd Tanous "idtr_0": { 401d6b62637SEd Tanous "type": "integer" 402d6b62637SEd Tanous }, 403d6b62637SEd Tanous "idtr_1": { 404d6b62637SEd Tanous "type": "integer" 405d6b62637SEd Tanous }, 406d6b62637SEd Tanous "ldtr": { 407d6b62637SEd Tanous "type": "integer" 408d6b62637SEd Tanous }, 409d6b62637SEd Tanous "tr": { 410d6b62637SEd Tanous "type": "integer" 411d6b62637SEd Tanous } 412079d581eSLawrence Tang } 413079d581eSLawrence Tang }, 414079d581eSLawrence Tang { 415382ad4c7SAushim Nagarkatti "$id": "cper-json-registerarray2", 416079d581eSLawrence Tang "type": "object", 417079d581eSLawrence Tang "required": ["data"], 418079d581eSLawrence Tang "additionalProperties": false, 419079d581eSLawrence Tang "properties": { 420079d581eSLawrence Tang "data": { 421079d581eSLawrence Tang "type": "string" 422079d581eSLawrence Tang } 423079d581eSLawrence Tang } 424079d581eSLawrence Tang } 425079d581eSLawrence Tang ] 426079d581eSLawrence Tang } 427079d581eSLawrence Tang } 428079d581eSLawrence Tang } 429079d581eSLawrence Tang } 430079d581eSLawrence Tang } 431079d581eSLawrence Tang} 432