1{
2    "$id": "cper-json-generic-processor-section",
3    "$schema": "https://json-schema.org/draft/2020-12/schema",
4    "type": "object",
5    "required": [
6        "validationBits",
7        "processorType",
8        "processorISA",
9        "errorType",
10        "operation",
11        "flags",
12        "level",
13        "cpuVersionInfo",
14        "cpuBrandString",
15        "processorID",
16        "targetAddress",
17        "requestorID",
18        "responderID",
19        "instructionIP"
20    ],
21    "additionalProperties": false,
22    "properties": {
23        "validationBits": {
24            "type": "object",
25            "required": [
26                "processorTypeValid",
27                "processorISAValid",
28                "processorErrorTypeValid",
29                "operationValid",
30                "flagsValid",
31                "levelValid",
32                "cpuVersionValid",
33                "cpuBrandInfoValid",
34                "cpuIDValid",
35                "targetAddressValid",
36                "requestorIDValid",
37                "responderIDValid",
38                "instructionIPValid"
39            ],
40            "properties": {
41                "processorTypeValid": {
42                    "type": "boolean"
43                },
44                "processorISAValid": {
45                    "type": "boolean"
46                },
47                "processorErrorTypeValid": {
48                    "type": "boolean"
49                },
50                "operationValid": {
51                    "type": "boolean"
52                },
53                "flagsValid": {
54                    "type": "boolean"
55                },
56                "levelValid": {
57                    "type": "boolean"
58                },
59                "cpuVersionValid": {
60                    "type": "boolean"
61                },
62                "cpuBrandInfoValid": {
63                    "type": "boolean"
64                },
65                "cpuIDValid": {
66                    "type": "boolean"
67                },
68                "targetAddressValid": {
69                    "type": "boolean"
70                },
71                "requestorIDValid": {
72                    "type": "boolean"
73                },
74                "responderIDValid": {
75                    "type": "boolean"
76                },
77                "instructionIPValid": {
78                    "type": "boolean"
79                }
80            }
81        },
82        "processorType": {
83            "type": "object",
84            "$ref": "./common/cper-json-nvp.json"
85        },
86        "processorISA": {
87            "type": "object",
88            "$ref": "./common/cper-json-nvp.json"
89        },
90        "errorType": {
91            "type": "object",
92            "$ref": "./common/cper-json-nvp.json"
93        },
94        "operation": {
95            "type": "object",
96            "$ref": "./common/cper-json-nvp.json"
97        },
98        "flags": {
99            "type": "object",
100            "required": ["restartable", "preciseIP", "overflow", "corrected"],
101            "properties": {
102                "restartable": {
103                    "type": "boolean"
104                },
105                "preciseIP": {
106                    "type": "boolean"
107                },
108                "overflow": {
109                    "type": "boolean"
110                },
111                "corrected": {
112                    "type": "boolean"
113                }
114            }
115        },
116        "level": {
117            "type": "integer"
118        },
119        "cpuVersionInfo": {
120            "type": "integer"
121        },
122        "cpuBrandString": {
123            "type": "string"
124        },
125        "processorID": {
126            "type": "integer"
127        },
128        "targetAddress": {
129            "type": "integer"
130        },
131        "requestorID": {
132            "type": "integer"
133        },
134        "responderID": {
135            "type": "integer"
136        },
137        "instructionIP": {
138            "type": "integer"
139        }
140    }
141}
142