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