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