1079d581eSLawrence Tang{
2079d581eSLawrence Tang    "$id": "cper-json-generic-processor-section",
3079d581eSLawrence Tang    "$schema": "https://json-schema.org/draft/2020-12/schema",
4079d581eSLawrence Tang    "type": "object",
5*044afd01SJohn Chung    "required": [
6*044afd01SJohn Chung        "validationBits",
7*044afd01SJohn Chung        "processorType",
8*044afd01SJohn Chung        "processorISA",
9*044afd01SJohn Chung        "errorType",
10*044afd01SJohn Chung        "operation",
11*044afd01SJohn Chung        "flags",
12*044afd01SJohn Chung        "level",
13*044afd01SJohn Chung        "cpuVersionInfo",
14*044afd01SJohn Chung        "cpuBrandString",
15*044afd01SJohn Chung        "processorID",
16*044afd01SJohn Chung        "targetAddress",
17*044afd01SJohn Chung        "requestorID",
18*044afd01SJohn Chung        "responderID",
19*044afd01SJohn Chung        "instructionIP"
20*044afd01SJohn Chung    ],
21079d581eSLawrence Tang    "additionalProperties": false,
22079d581eSLawrence Tang    "properties": {
23079d581eSLawrence Tang        "validationBits": {
24079d581eSLawrence Tang            "type": "object",
25*044afd01SJohn Chung            "required": [
26*044afd01SJohn Chung                "processorTypeValid",
27*044afd01SJohn Chung                "processorISAValid",
28*044afd01SJohn Chung                "processorErrorTypeValid",
29*044afd01SJohn Chung                "operationValid",
30*044afd01SJohn Chung                "flagsValid",
31*044afd01SJohn Chung                "levelValid",
32*044afd01SJohn Chung                "cpuVersionValid",
33*044afd01SJohn Chung                "cpuBrandInfoValid",
34*044afd01SJohn Chung                "cpuIDValid",
35*044afd01SJohn Chung                "targetAddressValid",
36*044afd01SJohn Chung                "requestorIDValid",
37*044afd01SJohn Chung                "responderIDValid",
38*044afd01SJohn Chung                "instructionIPValid"
39*044afd01SJohn Chung            ],
40079d581eSLawrence Tang            "properties": {
41079d581eSLawrence Tang                "processorTypeValid": {
42079d581eSLawrence Tang                    "type": "boolean"
43079d581eSLawrence Tang                },
44079d581eSLawrence Tang                "processorISAValid": {
45079d581eSLawrence Tang                    "type": "boolean"
46079d581eSLawrence Tang                },
47d34f2b11SLawrence Tang                "processorErrorTypeValid": {
48079d581eSLawrence Tang                    "type": "boolean"
49079d581eSLawrence Tang                },
50079d581eSLawrence Tang                "operationValid": {
51079d581eSLawrence Tang                    "type": "boolean"
52079d581eSLawrence Tang                },
53079d581eSLawrence Tang                "flagsValid": {
54079d581eSLawrence Tang                    "type": "boolean"
55079d581eSLawrence Tang                },
56079d581eSLawrence Tang                "levelValid": {
57079d581eSLawrence Tang                    "type": "boolean"
58079d581eSLawrence Tang                },
59079d581eSLawrence Tang                "cpuVersionValid": {
60079d581eSLawrence Tang                    "type": "boolean"
61079d581eSLawrence Tang                },
62079d581eSLawrence Tang                "cpuBrandInfoValid": {
63079d581eSLawrence Tang                    "type": "boolean"
64079d581eSLawrence Tang                },
65079d581eSLawrence Tang                "cpuIDValid": {
66079d581eSLawrence Tang                    "type": "boolean"
67079d581eSLawrence Tang                },
68079d581eSLawrence Tang                "targetAddressValid": {
69079d581eSLawrence Tang                    "type": "boolean"
70079d581eSLawrence Tang                },
71079d581eSLawrence Tang                "requestorIDValid": {
72079d581eSLawrence Tang                    "type": "boolean"
73079d581eSLawrence Tang                },
74079d581eSLawrence Tang                "responderIDValid": {
75079d581eSLawrence Tang                    "type": "boolean"
76079d581eSLawrence Tang                },
77079d581eSLawrence Tang                "instructionIPValid": {
78079d581eSLawrence Tang                    "type": "boolean"
79079d581eSLawrence Tang                }
80079d581eSLawrence Tang            }
81079d581eSLawrence Tang        },
82079d581eSLawrence Tang        "processorType": {
83079d581eSLawrence Tang            "type": "object",
848a2d737cSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
85079d581eSLawrence Tang        },
86079d581eSLawrence Tang        "processorISA": {
87079d581eSLawrence Tang            "type": "object",
888a2d737cSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
89079d581eSLawrence Tang        },
90079d581eSLawrence Tang        "errorType": {
91079d581eSLawrence Tang            "type": "object",
928a2d737cSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
93079d581eSLawrence Tang        },
94079d581eSLawrence Tang        "operation": {
95079d581eSLawrence Tang            "type": "object",
968a2d737cSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
97079d581eSLawrence Tang        },
98079d581eSLawrence Tang        "flags": {
99079d581eSLawrence Tang            "type": "object",
100d34f2b11SLawrence Tang            "required": ["restartable", "preciseIP", "overflow", "corrected"],
101079d581eSLawrence Tang            "properties": {
102d34f2b11SLawrence Tang                "restartable": {
103079d581eSLawrence Tang                    "type": "boolean"
104079d581eSLawrence Tang                },
105079d581eSLawrence Tang                "preciseIP": {
106079d581eSLawrence Tang                    "type": "boolean"
107079d581eSLawrence Tang                },
108079d581eSLawrence Tang                "overflow": {
109079d581eSLawrence Tang                    "type": "boolean"
110079d581eSLawrence Tang                },
111079d581eSLawrence Tang                "corrected": {
112079d581eSLawrence Tang                    "type": "boolean"
113079d581eSLawrence Tang                }
114079d581eSLawrence Tang            }
115079d581eSLawrence Tang        },
116079d581eSLawrence Tang        "level": {
117079d581eSLawrence Tang            "type": "integer"
118079d581eSLawrence Tang        },
119079d581eSLawrence Tang        "cpuVersionInfo": {
120079d581eSLawrence Tang            "type": "integer"
121079d581eSLawrence Tang        },
122079d581eSLawrence Tang        "cpuBrandString": {
123079d581eSLawrence Tang            "type": "string"
124079d581eSLawrence Tang        },
125079d581eSLawrence Tang        "processorID": {
126079d581eSLawrence Tang            "type": "integer"
127079d581eSLawrence Tang        },
128079d581eSLawrence Tang        "targetAddress": {
129079d581eSLawrence Tang            "type": "integer"
130079d581eSLawrence Tang        },
131079d581eSLawrence Tang        "requestorID": {
132079d581eSLawrence Tang            "type": "integer"
133079d581eSLawrence Tang        },
134079d581eSLawrence Tang        "responderID": {
135079d581eSLawrence Tang            "type": "integer"
136079d581eSLawrence Tang        },
137079d581eSLawrence Tang        "instructionIP": {
138079d581eSLawrence Tang            "type": "integer"
139079d581eSLawrence Tang        }
140079d581eSLawrence Tang    }
141079d581eSLawrence Tang}
142