1079d581eSLawrence Tang{
2079d581eSLawrence Tang    "$id": "cper-json-arm-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        "errorInfoNum",
8*044afd01SJohn Chung        "contextInfoNum",
9*044afd01SJohn Chung        "sectionLength",
10*044afd01SJohn Chung        "errorAffinity",
11*044afd01SJohn Chung        "mpidrEl1",
12*044afd01SJohn Chung        "midrEl1",
13*044afd01SJohn Chung        "running",
14*044afd01SJohn Chung        "errorInfo",
15*044afd01SJohn Chung        "contextInfo"
16*044afd01SJohn Chung    ],
17079d581eSLawrence Tang    "additionalProperties": false,
18079d581eSLawrence Tang    "properties": {
19079d581eSLawrence Tang        "validationBits": {
20079d581eSLawrence Tang            "type": "object",
21*044afd01SJohn Chung            "required": [
22*044afd01SJohn Chung                "mpidrValid",
23*044afd01SJohn Chung                "errorAffinityLevelValid",
24*044afd01SJohn Chung                "runningStateValid",
25*044afd01SJohn Chung                "vendorSpecificInfoValid"
26*044afd01SJohn Chung            ],
27079d581eSLawrence Tang            "properties": {
28079d581eSLawrence Tang                "mpidrValid": {
29079d581eSLawrence Tang                    "type": "boolean"
30079d581eSLawrence Tang                },
31079d581eSLawrence Tang                "errorAffinityLevelValid": {
32079d581eSLawrence Tang                    "type": "boolean"
33079d581eSLawrence Tang                },
34079d581eSLawrence Tang                "runningStateValid": {
35079d581eSLawrence Tang                    "type": "boolean"
36079d581eSLawrence Tang                },
37079d581eSLawrence Tang                "vendorSpecificInfoValid": {
38079d581eSLawrence Tang                    "type": "boolean"
39079d581eSLawrence Tang                }
40079d581eSLawrence Tang            }
41079d581eSLawrence Tang        },
42079d581eSLawrence Tang        "errorInfoNum": {
43079d581eSLawrence Tang            "type": "integer"
44079d581eSLawrence Tang        },
45079d581eSLawrence Tang        "contextInfoNum": {
46079d581eSLawrence Tang            "type": "integer"
47079d581eSLawrence Tang        },
48079d581eSLawrence Tang        "sectionLength": {
49079d581eSLawrence Tang            "type": "integer"
50079d581eSLawrence Tang        },
51079d581eSLawrence Tang        "errorAffinity": {
52079d581eSLawrence Tang            "type": "object",
53079d581eSLawrence Tang            "required": ["value", "type"],
54079d581eSLawrence Tang            "properties": {
55079d581eSLawrence Tang                "value": {
56079d581eSLawrence Tang                    "type": "integer"
57079d581eSLawrence Tang                },
58079d581eSLawrence Tang                "type": {
59079d581eSLawrence Tang                    "type": "string"
60079d581eSLawrence Tang                }
61079d581eSLawrence Tang            }
62079d581eSLawrence Tang        },
63079d581eSLawrence Tang        "mpidrEl1": {
64079d581eSLawrence Tang            "type": "integer"
65079d581eSLawrence Tang        },
66079d581eSLawrence Tang        "midrEl1": {
67079d581eSLawrence Tang            "type": "integer"
68079d581eSLawrence Tang        },
69079d581eSLawrence Tang        "running": {
70079d581eSLawrence Tang            "type": "boolean"
71079d581eSLawrence Tang        },
72079d581eSLawrence Tang        "psciState": {
73079d581eSLawrence Tang            "type": "integer"
74079d581eSLawrence Tang        },
75079d581eSLawrence Tang        "errorInfo": {
76079d581eSLawrence Tang            "type": "array",
77079d581eSLawrence Tang            "items": {
78079d581eSLawrence Tang                "type": "object",
79*044afd01SJohn Chung                "required": [
80*044afd01SJohn Chung                    "version",
81*044afd01SJohn Chung                    "length",
82*044afd01SJohn Chung                    "validationBits",
83*044afd01SJohn Chung                    "errorType",
84*044afd01SJohn Chung                    "multipleError",
85*044afd01SJohn Chung                    "flags",
86*044afd01SJohn Chung                    "errorInformation",
87*044afd01SJohn Chung                    "virtualFaultAddress",
88*044afd01SJohn Chung                    "physicalFaultAddress"
89*044afd01SJohn Chung                ],
90079d581eSLawrence Tang                "additionalProperties": false,
91079d581eSLawrence Tang                "properties": {
92079d581eSLawrence Tang                    "version": {
93079d581eSLawrence Tang                        "type": "integer"
94079d581eSLawrence Tang                    },
95079d581eSLawrence Tang                    "length": {
96079d581eSLawrence Tang                        "type": "integer"
97079d581eSLawrence Tang                    },
98079d581eSLawrence Tang                    "validationBits": {
99079d581eSLawrence Tang                        "type": "object",
100*044afd01SJohn Chung                        "required": [
101*044afd01SJohn Chung                            "multipleErrorValid",
102*044afd01SJohn Chung                            "flagsValid",
103*044afd01SJohn Chung                            "errorInformationValid",
104*044afd01SJohn Chung                            "virtualFaultAddressValid",
105*044afd01SJohn Chung                            "physicalFaultAddressValid"
106*044afd01SJohn Chung                        ],
107079d581eSLawrence Tang                        "properties": {
108079d581eSLawrence Tang                            "multipleErrorValid": {
109079d581eSLawrence Tang                                "type": "boolean"
110079d581eSLawrence Tang                            },
111079d581eSLawrence Tang                            "flagsValid": {
112079d581eSLawrence Tang                                "type": "boolean"
113079d581eSLawrence Tang                            },
114079d581eSLawrence Tang                            "errorInformationValid": {
115079d581eSLawrence Tang                                "type": "boolean"
116079d581eSLawrence Tang                            },
117079d581eSLawrence Tang                            "virtualFaultAddressValid": {
118079d581eSLawrence Tang                                "type": "boolean"
119079d581eSLawrence Tang                            },
120079d581eSLawrence Tang                            "physicalFaultAddressValid": {
121079d581eSLawrence Tang                                "type": "boolean"
122079d581eSLawrence Tang                            }
123079d581eSLawrence Tang                        }
124079d581eSLawrence Tang                    },
125079d581eSLawrence Tang                    "errorType": {
126079d581eSLawrence Tang                        "type": "object",
1278a2d737cSLawrence Tang                        "$ref": "./common/cper-json-nvp.json"
128079d581eSLawrence Tang                    },
129079d581eSLawrence Tang                    "multipleError": {
130079d581eSLawrence Tang                        "type": "object",
1318f793ac3SLawrence Tang                        "required": ["type", "value"],
1328f793ac3SLawrence Tang                        "additionalProperties": false,
1338f793ac3SLawrence Tang                        "properties": {
1348f793ac3SLawrence Tang                            "type": {
1358f793ac3SLawrence Tang                                "type": "string"
1368f793ac3SLawrence Tang                            },
1378f793ac3SLawrence Tang                            "value": {
1388f793ac3SLawrence Tang                                "type": "integer"
1398f793ac3SLawrence Tang                            }
1408f793ac3SLawrence Tang                        }
141079d581eSLawrence Tang                    },
142079d581eSLawrence Tang                    "flags": {
143079d581eSLawrence Tang                        "type": "object",
144*044afd01SJohn Chung                        "required": [
145*044afd01SJohn Chung                            "firstErrorCaptured",
146*044afd01SJohn Chung                            "lastErrorCaptured",
147*044afd01SJohn Chung                            "propagated",
148*044afd01SJohn Chung                            "overflow"
149*044afd01SJohn Chung                        ],
150079d581eSLawrence Tang                        "properties": {
151079d581eSLawrence Tang                            "firstErrorCaptured": {
152079d581eSLawrence Tang                                "type": "boolean"
153079d581eSLawrence Tang                            },
154079d581eSLawrence Tang                            "lastErrorCaptured": {
155079d581eSLawrence Tang                                "type": "boolean"
156079d581eSLawrence Tang                            },
157079d581eSLawrence Tang                            "propagated": {
158079d581eSLawrence Tang                                "type": "boolean"
159079d581eSLawrence Tang                            },
160079d581eSLawrence Tang                            "overflow": {
161079d581eSLawrence Tang                                "type": "boolean"
162079d581eSLawrence Tang                            }
163079d581eSLawrence Tang                        }
164079d581eSLawrence Tang                    },
165079d581eSLawrence Tang                    "errorInformation": {
166079d581eSLawrence Tang                        "type": "object",
167079d581eSLawrence Tang                        "oneOf": [
168079d581eSLawrence Tang                            {
169079d581eSLawrence Tang                                "type": "object",
170*044afd01SJohn Chung                                "required": [
171*044afd01SJohn Chung                                    "validationBits",
172*044afd01SJohn Chung                                    "transactionType",
173*044afd01SJohn Chung                                    "operation",
174*044afd01SJohn Chung                                    "level",
175*044afd01SJohn Chung                                    "processorContextCorrupt",
176*044afd01SJohn Chung                                    "corrected",
177*044afd01SJohn Chung                                    "precisePC",
178*044afd01SJohn Chung                                    "restartablePC"
179*044afd01SJohn Chung                                ],
180079d581eSLawrence Tang                                "additionalProperties": false,
181079d581eSLawrence Tang                                "properties": {
182079d581eSLawrence Tang                                    "validationBits": {
183079d581eSLawrence Tang                                        "type": "object",
184*044afd01SJohn Chung                                        "required": [
185*044afd01SJohn Chung                                            "transactionTypeValid",
186*044afd01SJohn Chung                                            "operationValid",
187*044afd01SJohn Chung                                            "levelValid",
188*044afd01SJohn Chung                                            "processorContextCorruptValid",
189*044afd01SJohn Chung                                            "correctedValid",
190*044afd01SJohn Chung                                            "precisePCValid",
191*044afd01SJohn Chung                                            "restartablePCValid"
192*044afd01SJohn Chung                                        ],
193079d581eSLawrence Tang                                        "properties": {
194079d581eSLawrence Tang                                            "transactionTypeValid": {
195079d581eSLawrence Tang                                                "type": "boolean"
196079d581eSLawrence Tang                                            },
197079d581eSLawrence Tang                                            "operationValid": {
198079d581eSLawrence Tang                                                "type": "boolean"
199079d581eSLawrence Tang                                            },
200079d581eSLawrence Tang                                            "levelValid": {
201079d581eSLawrence Tang                                                "type": "boolean"
202079d581eSLawrence Tang                                            },
203079d581eSLawrence Tang                                            "processorContextCorruptValid": {
204079d581eSLawrence Tang                                                "type": "boolean"
205079d581eSLawrence Tang                                            },
206079d581eSLawrence Tang                                            "correctedValid": {
207079d581eSLawrence Tang                                                "type": "boolean"
208079d581eSLawrence Tang                                            },
209079d581eSLawrence Tang                                            "precisePCValid": {
210079d581eSLawrence Tang                                                "type": "boolean"
211079d581eSLawrence Tang                                            },
212079d581eSLawrence Tang                                            "restartablePCValid": {
213079d581eSLawrence Tang                                                "type": "boolean"
214079d581eSLawrence Tang                                            }
215079d581eSLawrence Tang                                        }
216079d581eSLawrence Tang                                    },
217079d581eSLawrence Tang                                    "transactionType": {
218079d581eSLawrence Tang                                        "type": "object",
2198a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
220079d581eSLawrence Tang                                    },
221079d581eSLawrence Tang                                    "operation": {
222079d581eSLawrence Tang                                        "type": "object",
2238a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
224079d581eSLawrence Tang                                    },
225079d581eSLawrence Tang                                    "level": {
226079d581eSLawrence Tang                                        "type": "integer"
227079d581eSLawrence Tang                                    },
228079d581eSLawrence Tang                                    "processorContextCorrupt": {
229079d581eSLawrence Tang                                        "type": "boolean"
230079d581eSLawrence Tang                                    },
231079d581eSLawrence Tang                                    "corrected": {
232079d581eSLawrence Tang                                        "type": "boolean"
233079d581eSLawrence Tang                                    },
234079d581eSLawrence Tang                                    "precisePC": {
235079d581eSLawrence Tang                                        "type": "boolean"
236079d581eSLawrence Tang                                    },
237079d581eSLawrence Tang                                    "restartablePC": {
238079d581eSLawrence Tang                                        "type": "boolean"
239079d581eSLawrence Tang                                    }
240079d581eSLawrence Tang                                }
241079d581eSLawrence Tang                            },
242079d581eSLawrence Tang                            {
243079d581eSLawrence Tang                                "type": "object",
244*044afd01SJohn Chung                                "required": [
245*044afd01SJohn Chung                                    "validationBits",
246*044afd01SJohn Chung                                    "transactionType",
247*044afd01SJohn Chung                                    "operation",
248*044afd01SJohn Chung                                    "level",
249*044afd01SJohn Chung                                    "processorContextCorrupt",
250*044afd01SJohn Chung                                    "corrected",
251*044afd01SJohn Chung                                    "precisePC",
252*044afd01SJohn Chung                                    "restartablePC",
253*044afd01SJohn Chung                                    "timedOut",
254*044afd01SJohn Chung                                    "participationType",
255*044afd01SJohn Chung                                    "addressSpace",
256*044afd01SJohn Chung                                    "memoryAttributes",
257*044afd01SJohn Chung                                    "accessMode"
258*044afd01SJohn Chung                                ],
259079d581eSLawrence Tang                                "additionalProperties": false,
260079d581eSLawrence Tang                                "properties": {
261079d581eSLawrence Tang                                    "validationBits": {
262079d581eSLawrence Tang                                        "type": "object",
263*044afd01SJohn Chung                                        "required": [
264*044afd01SJohn Chung                                            "transactionTypeValid",
265*044afd01SJohn Chung                                            "operationValid",
266*044afd01SJohn Chung                                            "levelValid",
267*044afd01SJohn Chung                                            "processorContextCorruptValid",
268*044afd01SJohn Chung                                            "correctedValid",
269*044afd01SJohn Chung                                            "precisePCValid",
270*044afd01SJohn Chung                                            "restartablePCValid",
271*044afd01SJohn Chung                                            "participationTypeValid",
272*044afd01SJohn Chung                                            "timedOutValid",
273*044afd01SJohn Chung                                            "addressSpaceValid",
274*044afd01SJohn Chung                                            "memoryAttributesValid",
275*044afd01SJohn Chung                                            "accessModeValid"
276*044afd01SJohn Chung                                        ],
277079d581eSLawrence Tang                                        "properties": {
278079d581eSLawrence Tang                                            "transactionTypeValid": {
279079d581eSLawrence Tang                                                "type": "boolean"
280079d581eSLawrence Tang                                            },
281079d581eSLawrence Tang                                            "operationValid": {
282079d581eSLawrence Tang                                                "type": "boolean"
283079d581eSLawrence Tang                                            },
284079d581eSLawrence Tang                                            "levelValid": {
285079d581eSLawrence Tang                                                "type": "boolean"
286079d581eSLawrence Tang                                            },
287079d581eSLawrence Tang                                            "processorContextCorruptValid": {
288079d581eSLawrence Tang                                                "type": "boolean"
289079d581eSLawrence Tang                                            },
290079d581eSLawrence Tang                                            "correctedValid": {
291079d581eSLawrence Tang                                                "type": "boolean"
292079d581eSLawrence Tang                                            },
293079d581eSLawrence Tang                                            "precisePCValid": {
294079d581eSLawrence Tang                                                "type": "boolean"
295079d581eSLawrence Tang                                            },
296079d581eSLawrence Tang                                            "restartablePCValid": {
297079d581eSLawrence Tang                                                "type": "boolean"
298079d581eSLawrence Tang                                            },
299079d581eSLawrence Tang                                            "participationTypeValid": {
300079d581eSLawrence Tang                                                "type": "boolean"
301079d581eSLawrence Tang                                            },
302079d581eSLawrence Tang                                            "timedOutValid": {
303079d581eSLawrence Tang                                                "type": "boolean"
304079d581eSLawrence Tang                                            },
305079d581eSLawrence Tang                                            "addressSpaceValid": {
306079d581eSLawrence Tang                                                "type": "boolean"
307079d581eSLawrence Tang                                            },
308079d581eSLawrence Tang                                            "memoryAttributesValid": {
309079d581eSLawrence Tang                                                "type": "boolean"
310079d581eSLawrence Tang                                            },
311079d581eSLawrence Tang                                            "accessModeValid": {
312079d581eSLawrence Tang                                                "type": "boolean"
313079d581eSLawrence Tang                                            }
314079d581eSLawrence Tang                                        }
315079d581eSLawrence Tang                                    },
316079d581eSLawrence Tang                                    "transactionType": {
317079d581eSLawrence Tang                                        "type": "object",
3188a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
319079d581eSLawrence Tang                                    },
320079d581eSLawrence Tang                                    "operation": {
321079d581eSLawrence Tang                                        "type": "object",
3228a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
323079d581eSLawrence Tang                                    },
324079d581eSLawrence Tang                                    "level": {
325079d581eSLawrence Tang                                        "type": "integer"
326079d581eSLawrence Tang                                    },
327079d581eSLawrence Tang                                    "processorContextCorrupt": {
328079d581eSLawrence Tang                                        "type": "boolean"
329079d581eSLawrence Tang                                    },
330079d581eSLawrence Tang                                    "corrected": {
331079d581eSLawrence Tang                                        "type": "boolean"
332079d581eSLawrence Tang                                    },
333079d581eSLawrence Tang                                    "precisePC": {
334079d581eSLawrence Tang                                        "type": "boolean"
335079d581eSLawrence Tang                                    },
336079d581eSLawrence Tang                                    "restartablePC": {
337079d581eSLawrence Tang                                        "type": "boolean"
338079d581eSLawrence Tang                                    },
339079d581eSLawrence Tang                                    "timedOut": {
340079d581eSLawrence Tang                                        "type": "boolean"
341079d581eSLawrence Tang                                    },
342079d581eSLawrence Tang                                    "participationType": {
343079d581eSLawrence Tang                                        "type": "object",
3448a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
345079d581eSLawrence Tang                                    },
346079d581eSLawrence Tang                                    "addressSpace": {
347079d581eSLawrence Tang                                        "type": "object",
3488a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
349079d581eSLawrence Tang                                    },
350079d581eSLawrence Tang                                    "accessMode": {
351079d581eSLawrence Tang                                        "type": "object",
3528a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
353079d581eSLawrence Tang                                    },
354079d581eSLawrence Tang                                    "memoryAttributes": {
355079d581eSLawrence Tang                                        "type": "integer"
356079d581eSLawrence Tang                                    }
357079d581eSLawrence Tang                                }
35871570a2aSLawrence Tang                            },
35971570a2aSLawrence Tang                            {
36071570a2aSLawrence Tang                                "type": "object",
361c837facaSLawrence Tang                                "required": ["data"],
36271570a2aSLawrence Tang                                "additionalProperties": false,
36371570a2aSLawrence Tang                                "properties": {
36471570a2aSLawrence Tang                                    "data": {
36571570a2aSLawrence Tang                                        "type": "integer"
36671570a2aSLawrence Tang                                    }
36771570a2aSLawrence Tang                                }
368079d581eSLawrence Tang                            }
369079d581eSLawrence Tang                        ]
370079d581eSLawrence Tang                    },
371079d581eSLawrence Tang                    "virtualFaultAddress": {
372079d581eSLawrence Tang                        "type": "integer"
373079d581eSLawrence Tang                    },
374079d581eSLawrence Tang                    "physicalFaultAddress": {
375079d581eSLawrence Tang                        "type": "integer"
376079d581eSLawrence Tang                    }
377079d581eSLawrence Tang                }
378079d581eSLawrence Tang            }
379079d581eSLawrence Tang        },
380079d581eSLawrence Tang        "contextInfo": {
381079d581eSLawrence Tang            "type": "array",
382079d581eSLawrence Tang            "items": {
383079d581eSLawrence Tang                "type": "object",
384*044afd01SJohn Chung                "required": [
385*044afd01SJohn Chung                    "version",
386*044afd01SJohn Chung                    "registerContextType",
387*044afd01SJohn Chung                    "registerArraySize",
388*044afd01SJohn Chung                    "registerArray"
389*044afd01SJohn Chung                ],
390079d581eSLawrence Tang                "additionalProperties": false,
391079d581eSLawrence Tang                "properties": {
39271570a2aSLawrence Tang                    "version": {
39371570a2aSLawrence Tang                        "type": "integer",
39471570a2aSLawrence Tang                        "minimum": 0
39571570a2aSLawrence Tang                    },
396079d581eSLawrence Tang                    "registerContextType": {
397079d581eSLawrence Tang                        "type": "object",
3988a2d737cSLawrence Tang                        "$ref": "./common/cper-json-nvp.json"
399079d581eSLawrence Tang                    },
400079d581eSLawrence Tang                    "registerArraySize": {
401079d581eSLawrence Tang                        "type": "integer"
402079d581eSLawrence Tang                    },
403079d581eSLawrence Tang                    "registerArray": {
404079d581eSLawrence Tang                        "type": "object",
405079d581eSLawrence Tang                        "oneOf": [
406079d581eSLawrence Tang                            {
407079d581eSLawrence Tang                                "type": "object",
408*044afd01SJohn Chung                                "required": [
409*044afd01SJohn Chung                                    "r1",
410*044afd01SJohn Chung                                    "r2",
411*044afd01SJohn Chung                                    "r3",
412*044afd01SJohn Chung                                    "r4",
413*044afd01SJohn Chung                                    "r5",
414*044afd01SJohn Chung                                    "r6",
415*044afd01SJohn Chung                                    "r7",
416*044afd01SJohn Chung                                    "r8",
417*044afd01SJohn Chung                                    "r9",
418*044afd01SJohn Chung                                    "r10",
419*044afd01SJohn Chung                                    "r11",
420*044afd01SJohn Chung                                    "r12",
421*044afd01SJohn Chung                                    "r13_sp",
422*044afd01SJohn Chung                                    "r14_lr",
423*044afd01SJohn Chung                                    "r15_pc"
424*044afd01SJohn Chung                                ],
425079d581eSLawrence Tang                                "properties": {
426079d581eSLawrence Tang                                    "r0": { "type": "integer" },
427079d581eSLawrence Tang                                    "r1": { "type": "integer" },
428079d581eSLawrence Tang                                    "r2": { "type": "integer" },
429079d581eSLawrence Tang                                    "r3": { "type": "integer" },
430079d581eSLawrence Tang                                    "r4": { "type": "integer" },
431079d581eSLawrence Tang                                    "r5": { "type": "integer" },
432079d581eSLawrence Tang                                    "r6": { "type": "integer" },
433079d581eSLawrence Tang                                    "r7": { "type": "integer" },
434079d581eSLawrence Tang                                    "r8": { "type": "integer" },
435079d581eSLawrence Tang                                    "r9": { "type": "integer" },
436079d581eSLawrence Tang                                    "r10": { "type": "integer" },
437079d581eSLawrence Tang                                    "r11": { "type": "integer" },
438079d581eSLawrence Tang                                    "r12": { "type": "integer" },
439079d581eSLawrence Tang                                    "r13_sp": { "type": "integer" },
440079d581eSLawrence Tang                                    "r14_lr": { "type": "integer" },
441079d581eSLawrence Tang                                    "r15_pc": { "type": "integer" }
442079d581eSLawrence Tang                                }
443079d581eSLawrence Tang                            },
444079d581eSLawrence Tang                            {
445079d581eSLawrence Tang                                "type": "object",
446*044afd01SJohn Chung                                "required": [
447*044afd01SJohn Chung                                    "dfar",
448*044afd01SJohn Chung                                    "dfsr",
449*044afd01SJohn Chung                                    "ifar",
450*044afd01SJohn Chung                                    "isr",
451*044afd01SJohn Chung                                    "mair0",
452*044afd01SJohn Chung                                    "mair1",
453*044afd01SJohn Chung                                    "midr",
454*044afd01SJohn Chung                                    "mpidr",
455*044afd01SJohn Chung                                    "nmrr",
456*044afd01SJohn Chung                                    "prrr",
457*044afd01SJohn Chung                                    "sctlr_ns",
458*044afd01SJohn Chung                                    "spsr",
459*044afd01SJohn Chung                                    "spsr_abt",
460*044afd01SJohn Chung                                    "spsr_fiq",
461*044afd01SJohn Chung                                    "spsr_irq",
462*044afd01SJohn Chung                                    "spsr_svc",
463*044afd01SJohn Chung                                    "spsr_und",
464*044afd01SJohn Chung                                    "tpidrprw",
465*044afd01SJohn Chung                                    "tpidruro",
466*044afd01SJohn Chung                                    "tpidrurw",
467*044afd01SJohn Chung                                    "ttbcr",
468*044afd01SJohn Chung                                    "ttbr0",
469*044afd01SJohn Chung                                    "ttbr1",
470*044afd01SJohn Chung                                    "dacr"
471*044afd01SJohn Chung                                ],
472079d581eSLawrence Tang                                "properties": {
473079d581eSLawrence Tang                                    "dfar": { "type": "integer" },
474079d581eSLawrence Tang                                    "dfsr": { "type": "integer" },
475079d581eSLawrence Tang                                    "ifar": { "type": "integer" },
476079d581eSLawrence Tang                                    "isr": { "type": "integer" },
477079d581eSLawrence Tang                                    "mair0": { "type": "integer" },
478079d581eSLawrence Tang                                    "mair1": { "type": "integer" },
479079d581eSLawrence Tang                                    "midr": { "type": "integer" },
480079d581eSLawrence Tang                                    "mpidr": { "type": "integer" },
481079d581eSLawrence Tang                                    "nmrr": { "type": "integer" },
482079d581eSLawrence Tang                                    "prrr": { "type": "integer" },
483079d581eSLawrence Tang                                    "sctlr_ns": { "type": "integer" },
484079d581eSLawrence Tang                                    "spsr": { "type": "integer" },
485079d581eSLawrence Tang                                    "spsr_abt": { "type": "integer" },
486079d581eSLawrence Tang                                    "spsr_fiq": { "type": "integer" },
487079d581eSLawrence Tang                                    "spsr_irq": { "type": "integer" },
488079d581eSLawrence Tang                                    "spsr_svc": { "type": "integer" },
489079d581eSLawrence Tang                                    "spsr_und": { "type": "integer" },
490079d581eSLawrence Tang                                    "tpidrprw": { "type": "integer" },
491079d581eSLawrence Tang                                    "tpidruro": { "type": "integer" },
492079d581eSLawrence Tang                                    "tpidrurw": { "type": "integer" },
493079d581eSLawrence Tang                                    "ttbcr": { "type": "integer" },
494079d581eSLawrence Tang                                    "ttbr0": { "type": "integer" },
495079d581eSLawrence Tang                                    "ttbr1": { "type": "integer" },
496079d581eSLawrence Tang                                    "dacr": { "type": "integer" }
497079d581eSLawrence Tang                                }
498079d581eSLawrence Tang                            },
499079d581eSLawrence Tang                            {
500079d581eSLawrence Tang                                "type": "object",
501*044afd01SJohn Chung                                "required": [
502*044afd01SJohn Chung                                    "elr_hyp",
503*044afd01SJohn Chung                                    "hamair0",
504*044afd01SJohn Chung                                    "hamair1",
505*044afd01SJohn Chung                                    "hcr",
506*044afd01SJohn Chung                                    "hcr2",
507*044afd01SJohn Chung                                    "hdfar",
508*044afd01SJohn Chung                                    "hifar",
509*044afd01SJohn Chung                                    "hpfar",
510*044afd01SJohn Chung                                    "hsr",
511*044afd01SJohn Chung                                    "htcr",
512*044afd01SJohn Chung                                    "htpidr",
513*044afd01SJohn Chung                                    "httbr",
514*044afd01SJohn Chung                                    "spsr_hyp",
515*044afd01SJohn Chung                                    "vtcr",
516*044afd01SJohn Chung                                    "vttbr",
517*044afd01SJohn Chung                                    "dacr32_el2"
518*044afd01SJohn Chung                                ],
519079d581eSLawrence Tang                                "properties": {
520079d581eSLawrence Tang                                    "elr_hyp": { "type": "integer" },
521079d581eSLawrence Tang                                    "hamair0": { "type": "integer" },
522079d581eSLawrence Tang                                    "hamair1": { "type": "integer" },
523079d581eSLawrence Tang                                    "hcr": { "type": "integer" },
524079d581eSLawrence Tang                                    "hcr2": { "type": "integer" },
525079d581eSLawrence Tang                                    "hdfar": { "type": "integer" },
526079d581eSLawrence Tang                                    "hifar": { "type": "integer" },
527079d581eSLawrence Tang                                    "hpfar": { "type": "integer" },
528079d581eSLawrence Tang                                    "hsr": { "type": "integer" },
529079d581eSLawrence Tang                                    "htcr": { "type": "integer" },
530079d581eSLawrence Tang                                    "htpidr": { "type": "integer" },
531079d581eSLawrence Tang                                    "httbr": { "type": "integer" },
532079d581eSLawrence Tang                                    "spsr_hyp": { "type": "integer" },
533079d581eSLawrence Tang                                    "vtcr": { "type": "integer" },
534079d581eSLawrence Tang                                    "vttbr": { "type": "integer" },
535079d581eSLawrence Tang                                    "dacr32_el2": { "type": "integer" }
536079d581eSLawrence Tang                                }
537079d581eSLawrence Tang                            },
538079d581eSLawrence Tang                            {
539079d581eSLawrence Tang                                "type": "object",
540079d581eSLawrence Tang                                "required": ["sctlr_s", "spsr_mon"],
541079d581eSLawrence Tang                                "properties": {
542079d581eSLawrence Tang                                    "sctlr_s": { "type": "integer" },
543079d581eSLawrence Tang                                    "spsr_mon": { "type": "integer" }
544079d581eSLawrence Tang                                }
545079d581eSLawrence Tang                            },
546079d581eSLawrence Tang                            {
547079d581eSLawrence Tang                                "type": "object",
548*044afd01SJohn Chung                                "required": [
549*044afd01SJohn Chung                                    "x0",
550*044afd01SJohn Chung                                    "x1",
551*044afd01SJohn Chung                                    "x2",
552*044afd01SJohn Chung                                    "x3",
553*044afd01SJohn Chung                                    "x4",
554*044afd01SJohn Chung                                    "x5",
555*044afd01SJohn Chung                                    "x6",
556*044afd01SJohn Chung                                    "x7",
557*044afd01SJohn Chung                                    "x8",
558*044afd01SJohn Chung                                    "x9",
559*044afd01SJohn Chung                                    "x10",
560*044afd01SJohn Chung                                    "x11",
561*044afd01SJohn Chung                                    "x12",
562*044afd01SJohn Chung                                    "x13",
563*044afd01SJohn Chung                                    "x14",
564*044afd01SJohn Chung                                    "x15",
565*044afd01SJohn Chung                                    "x16",
566*044afd01SJohn Chung                                    "x17",
567*044afd01SJohn Chung                                    "x18",
568*044afd01SJohn Chung                                    "x19",
569*044afd01SJohn Chung                                    "x20",
570*044afd01SJohn Chung                                    "x21",
571*044afd01SJohn Chung                                    "x22",
572*044afd01SJohn Chung                                    "x23",
573*044afd01SJohn Chung                                    "x24",
574*044afd01SJohn Chung                                    "x25",
575*044afd01SJohn Chung                                    "x26",
576*044afd01SJohn Chung                                    "x27",
577*044afd01SJohn Chung                                    "x28",
578*044afd01SJohn Chung                                    "x29",
579*044afd01SJohn Chung                                    "x30",
580*044afd01SJohn Chung                                    "sp"
581*044afd01SJohn Chung                                ],
582079d581eSLawrence Tang                                "properties": {
583079d581eSLawrence Tang                                    "x0": { "type": "integer" },
584079d581eSLawrence Tang                                    "x1": { "type": "integer" },
585079d581eSLawrence Tang                                    "x2": { "type": "integer" },
586079d581eSLawrence Tang                                    "x3": { "type": "integer" },
587079d581eSLawrence Tang                                    "x4": { "type": "integer" },
588079d581eSLawrence Tang                                    "x5": { "type": "integer" },
589079d581eSLawrence Tang                                    "x6": { "type": "integer" },
590079d581eSLawrence Tang                                    "x7": { "type": "integer" },
591079d581eSLawrence Tang                                    "x8": { "type": "integer" },
592079d581eSLawrence Tang                                    "x9": { "type": "integer" },
593079d581eSLawrence Tang                                    "x10": { "type": "integer" },
594079d581eSLawrence Tang                                    "x11": { "type": "integer" },
595079d581eSLawrence Tang                                    "x12": { "type": "integer" },
596079d581eSLawrence Tang                                    "x13": { "type": "integer" },
597079d581eSLawrence Tang                                    "x14": { "type": "integer" },
598079d581eSLawrence Tang                                    "x15": { "type": "integer" },
599079d581eSLawrence Tang                                    "x16": { "type": "integer" },
600079d581eSLawrence Tang                                    "x17": { "type": "integer" },
601079d581eSLawrence Tang                                    "x18": { "type": "integer" },
602079d581eSLawrence Tang                                    "x19": { "type": "integer" },
603079d581eSLawrence Tang                                    "x20": { "type": "integer" },
604079d581eSLawrence Tang                                    "x21": { "type": "integer" },
605079d581eSLawrence Tang                                    "x22": { "type": "integer" },
606079d581eSLawrence Tang                                    "x23": { "type": "integer" },
607079d581eSLawrence Tang                                    "x24": { "type": "integer" },
608079d581eSLawrence Tang                                    "x25": { "type": "integer" },
609079d581eSLawrence Tang                                    "x26": { "type": "integer" },
610079d581eSLawrence Tang                                    "x27": { "type": "integer" },
611079d581eSLawrence Tang                                    "x28": { "type": "integer" },
612079d581eSLawrence Tang                                    "x29": { "type": "integer" },
613079d581eSLawrence Tang                                    "x30": { "type": "integer" },
614079d581eSLawrence Tang                                    "sp": { "type": "integer" }
615079d581eSLawrence Tang                                }
616079d581eSLawrence Tang                            },
617079d581eSLawrence Tang                            {
618079d581eSLawrence Tang                                "type": "object",
619*044afd01SJohn Chung                                "required": [
620*044afd01SJohn Chung                                    "elr_el1",
621*044afd01SJohn Chung                                    "esr_el1",
622*044afd01SJohn Chung                                    "far_el1",
623*044afd01SJohn Chung                                    "isr_el1",
624*044afd01SJohn Chung                                    "mair_el1",
625*044afd01SJohn Chung                                    "midr_el1",
626*044afd01SJohn Chung                                    "mpidr_el1",
627*044afd01SJohn Chung                                    "sctlr_el1",
628*044afd01SJohn Chung                                    "sp_el0",
629*044afd01SJohn Chung                                    "sp_el1",
630*044afd01SJohn Chung                                    "spsr_el1",
631*044afd01SJohn Chung                                    "tcr_el1",
632*044afd01SJohn Chung                                    "tpidr_el0",
633*044afd01SJohn Chung                                    "tpidr_el1",
634*044afd01SJohn Chung                                    "tpidrro_el0",
635*044afd01SJohn Chung                                    "ttbr0_el1",
636*044afd01SJohn Chung                                    "ttbr1_el1"
637*044afd01SJohn Chung                                ],
638079d581eSLawrence Tang                                "properties": {
639079d581eSLawrence Tang                                    "elr_el1": { "type": "integer" },
640079d581eSLawrence Tang                                    "esr_el1": { "type": "integer" },
641079d581eSLawrence Tang                                    "far_el1": { "type": "integer" },
642079d581eSLawrence Tang                                    "isr_el1": { "type": "integer" },
643079d581eSLawrence Tang                                    "mair_el1": { "type": "integer" },
644079d581eSLawrence Tang                                    "midr_el1": { "type": "integer" },
645079d581eSLawrence Tang                                    "mpidr_el1": { "type": "integer" },
646079d581eSLawrence Tang                                    "sctlr_el1": { "type": "integer" },
647079d581eSLawrence Tang                                    "sp_el0": { "type": "integer" },
648079d581eSLawrence Tang                                    "sp_el1": { "type": "integer" },
649079d581eSLawrence Tang                                    "spsr_el1": { "type": "integer" },
650079d581eSLawrence Tang                                    "tcr_el1": { "type": "integer" },
651079d581eSLawrence Tang                                    "tpidr_el0": { "type": "integer" },
652079d581eSLawrence Tang                                    "tpidr_el1": { "type": "integer" },
653079d581eSLawrence Tang                                    "tpidrro_el0": { "type": "integer" },
654079d581eSLawrence Tang                                    "ttbr0_el1": { "type": "integer" },
655079d581eSLawrence Tang                                    "ttbr1_el1": { "type": "integer" }
656079d581eSLawrence Tang                                }
657079d581eSLawrence Tang                            },
658079d581eSLawrence Tang                            {
659079d581eSLawrence Tang                                "type": "object",
660*044afd01SJohn Chung                                "required": [
661*044afd01SJohn Chung                                    "elr_el2",
662*044afd01SJohn Chung                                    "esr_el2",
663*044afd01SJohn Chung                                    "far_el2",
664*044afd01SJohn Chung                                    "hacr_el2",
665*044afd01SJohn Chung                                    "hcr_el2",
666*044afd01SJohn Chung                                    "hpfar_el2",
667*044afd01SJohn Chung                                    "mair_el2",
668*044afd01SJohn Chung                                    "sctlr_el2",
669*044afd01SJohn Chung                                    "sp_el2",
670*044afd01SJohn Chung                                    "spsr_el2",
671*044afd01SJohn Chung                                    "tcr_el2",
672*044afd01SJohn Chung                                    "tpidr_el2",
673*044afd01SJohn Chung                                    "ttbr0_el2",
674*044afd01SJohn Chung                                    "vtcr_el2",
675*044afd01SJohn Chung                                    "vttbr_el2"
676*044afd01SJohn Chung                                ],
677079d581eSLawrence Tang                                "properties": {
678079d581eSLawrence Tang                                    "elr_el2": { "type": "integer" },
679079d581eSLawrence Tang                                    "esr_el2": { "type": "integer" },
680079d581eSLawrence Tang                                    "far_el2": { "type": "integer" },
681079d581eSLawrence Tang                                    "hacr_el2": { "type": "integer" },
682079d581eSLawrence Tang                                    "hcr_el2": { "type": "integer" },
683079d581eSLawrence Tang                                    "hpfar_el2": { "type": "integer" },
684079d581eSLawrence Tang                                    "mair_el2": { "type": "integer" },
685079d581eSLawrence Tang                                    "sctlr_el2": { "type": "integer" },
686079d581eSLawrence Tang                                    "sp_el2": { "type": "integer" },
687079d581eSLawrence Tang                                    "spsr_el2": { "type": "integer" },
688079d581eSLawrence Tang                                    "tcr_el2": { "type": "integer" },
689079d581eSLawrence Tang                                    "tpidr_el2": { "type": "integer" },
690079d581eSLawrence Tang                                    "ttbr0_el2": { "type": "integer" },
691079d581eSLawrence Tang                                    "vtcr_el2": { "type": "integer" },
692079d581eSLawrence Tang                                    "vttbr_el2": { "type": "integer" }
693079d581eSLawrence Tang                                }
694079d581eSLawrence Tang                            },
695079d581eSLawrence Tang                            {
696079d581eSLawrence Tang                                "type": "object",
697*044afd01SJohn Chung                                "required": [
698*044afd01SJohn Chung                                    "elr_el3",
699*044afd01SJohn Chung                                    "esr_el3",
700*044afd01SJohn Chung                                    "far_el3",
701*044afd01SJohn Chung                                    "mair_el3",
702*044afd01SJohn Chung                                    "sctlr_el3",
703*044afd01SJohn Chung                                    "sp_el3",
704*044afd01SJohn Chung                                    "spsr_el3",
705*044afd01SJohn Chung                                    "tcr_el3",
706*044afd01SJohn Chung                                    "tpidr_el3",
707*044afd01SJohn Chung                                    "ttbr0_el3"
708*044afd01SJohn Chung                                ],
709079d581eSLawrence Tang                                "properties": {
710079d581eSLawrence Tang                                    "elr_el3": { "type": "integer" },
711079d581eSLawrence Tang                                    "esr_el3": { "type": "integer" },
712079d581eSLawrence Tang                                    "far_el3": { "type": "integer" },
713079d581eSLawrence Tang                                    "mair_el3": { "type": "integer" },
714079d581eSLawrence Tang                                    "sctlr_el3": { "type": "integer" },
715079d581eSLawrence Tang                                    "sp_el3": { "type": "integer" },
716079d581eSLawrence Tang                                    "spsr_el3": { "type": "integer" },
717079d581eSLawrence Tang                                    "tcr_el3": { "type": "integer" },
718079d581eSLawrence Tang                                    "tpidr_el3": { "type": "integer" },
719079d581eSLawrence Tang                                    "ttbr0_el3": { "type": "integer" }
720079d581eSLawrence Tang                                }
721079d581eSLawrence Tang                            },
722079d581eSLawrence Tang                            {
723079d581eSLawrence Tang                                "type": "object",
724079d581eSLawrence Tang                                "required": ["mrsEncoding", "value"],
725079d581eSLawrence Tang                                "additionalProperties": false,
726079d581eSLawrence Tang                                "properties": {
727079d581eSLawrence Tang                                    "mrsEncoding": {
728079d581eSLawrence Tang                                        "type": "object",
729*044afd01SJohn Chung                                        "required": [
730*044afd01SJohn Chung                                            "op2",
731*044afd01SJohn Chung                                            "crm",
732*044afd01SJohn Chung                                            "crn",
733*044afd01SJohn Chung                                            "op1",
734*044afd01SJohn Chung                                            "o0"
735*044afd01SJohn Chung                                        ],
736079d581eSLawrence Tang                                        "properties": {
737079d581eSLawrence Tang                                            "op2": { "type": "integer" },
738079d581eSLawrence Tang                                            "crm": { "type": "integer" },
739079d581eSLawrence Tang                                            "crn": { "type": "integer" },
740079d581eSLawrence Tang                                            "op1": { "type": "integer" },
741079d581eSLawrence Tang                                            "o0": { "type": "integer" }
742079d581eSLawrence Tang                                        }
743079d581eSLawrence Tang                                    },
744079d581eSLawrence Tang                                    "value": {
745079d581eSLawrence Tang                                        "type": "integer"
746079d581eSLawrence Tang                                    }
747079d581eSLawrence Tang                                }
748079d581eSLawrence Tang                            },
749079d581eSLawrence Tang                            {
750079d581eSLawrence Tang                                "type": "object",
751079d581eSLawrence Tang                                "required": ["data"],
752079d581eSLawrence Tang                                "properties": {
753079d581eSLawrence Tang                                    "data": {
754079d581eSLawrence Tang                                        "type": "string"
755079d581eSLawrence Tang                                    }
756079d581eSLawrence Tang                                }
757079d581eSLawrence Tang                            }
758079d581eSLawrence Tang                        ]
759079d581eSLawrence Tang                    }
760079d581eSLawrence Tang                }
761079d581eSLawrence Tang            }
762079d581eSLawrence Tang        },
763079d581eSLawrence Tang        "vendorSpecificInfo": {
764079d581eSLawrence Tang            "type": "object",
765079d581eSLawrence Tang            "required": ["data"],
766079d581eSLawrence Tang            "additionalProperties": false,
767079d581eSLawrence Tang            "properties": {
768079d581eSLawrence Tang                "data": {
769079d581eSLawrence Tang                    "type": "string"
770079d581eSLawrence Tang                }
771079d581eSLawrence Tang            }
772079d581eSLawrence Tang        }
773079d581eSLawrence Tang    }
774079d581eSLawrence Tang}
775