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",
5079d581eSLawrence Tang    "required": ["validationBits", "errorInfoNum", "contextInfoNum", "sectionLength", "errorAffinity", "mpidrEl1", "midrEl1", "running", "errorInfo", "contextInfo"],
6079d581eSLawrence Tang    "additionalProperties": false,
7079d581eSLawrence Tang    "properties": {
8079d581eSLawrence Tang        "validationBits": {
9079d581eSLawrence Tang            "type": "object",
10079d581eSLawrence Tang            "required": ["mpidrValid", "errorAffinityLevelValid", "runningStateValid", "vendorSpecificInfoValid"],
11079d581eSLawrence Tang            "properties": {
12079d581eSLawrence Tang                "mpidrValid": {
13079d581eSLawrence Tang                    "type": "boolean"
14079d581eSLawrence Tang                },
15079d581eSLawrence Tang                "errorAffinityLevelValid": {
16079d581eSLawrence Tang                    "type": "boolean"
17079d581eSLawrence Tang                },
18079d581eSLawrence Tang                "runningStateValid": {
19079d581eSLawrence Tang                    "type": "boolean"
20079d581eSLawrence Tang                },
21079d581eSLawrence Tang                "vendorSpecificInfoValid": {
22079d581eSLawrence Tang                    "type": "boolean"
23079d581eSLawrence Tang                }
24079d581eSLawrence Tang            }
25079d581eSLawrence Tang        },
26079d581eSLawrence Tang        "errorInfoNum": {
27079d581eSLawrence Tang            "type": "integer"
28079d581eSLawrence Tang        },
29079d581eSLawrence Tang        "contextInfoNum": {
30079d581eSLawrence Tang            "type": "integer"
31079d581eSLawrence Tang        },
32079d581eSLawrence Tang        "sectionLength": {
33079d581eSLawrence Tang            "type": "integer"
34079d581eSLawrence Tang        },
35079d581eSLawrence Tang        "errorAffinity": {
36079d581eSLawrence Tang            "type": "object",
37079d581eSLawrence Tang            "required": ["value", "type"],
38079d581eSLawrence Tang            "properties": {
39079d581eSLawrence Tang                "value": {
40079d581eSLawrence Tang                    "type": "integer"
41079d581eSLawrence Tang                },
42079d581eSLawrence Tang                "type": {
43079d581eSLawrence Tang                    "type": "string"
44079d581eSLawrence Tang                }
45079d581eSLawrence Tang            }
46079d581eSLawrence Tang        },
47079d581eSLawrence Tang        "mpidrEl1": {
48079d581eSLawrence Tang            "type": "integer"
49079d581eSLawrence Tang        },
50079d581eSLawrence Tang        "midrEl1": {
51079d581eSLawrence Tang            "type": "integer"
52079d581eSLawrence Tang        },
53079d581eSLawrence Tang        "running": {
54079d581eSLawrence Tang            "type": "boolean"
55079d581eSLawrence Tang        },
56079d581eSLawrence Tang        "psciState": {
57079d581eSLawrence Tang            "type": "integer"
58079d581eSLawrence Tang        },
59079d581eSLawrence Tang        "errorInfo": {
60079d581eSLawrence Tang            "type": "array",
61079d581eSLawrence Tang            "items": {
62079d581eSLawrence Tang                "type": "object",
63079d581eSLawrence Tang                "required": ["version", "length", "validationBits", "errorType", "multipleError", "flags", "errorInformation", "virtualFaultAddress", "physicalFaultAddress"],
64079d581eSLawrence Tang                "additionalProperties": false,
65079d581eSLawrence Tang                "properties": {
66079d581eSLawrence Tang                    "version": {
67079d581eSLawrence Tang                        "type": "integer"
68079d581eSLawrence Tang                    },
69079d581eSLawrence Tang                    "length": {
70079d581eSLawrence Tang                        "type": "integer"
71079d581eSLawrence Tang                    },
72079d581eSLawrence Tang                    "validationBits": {
73079d581eSLawrence Tang                        "type": "object",
74079d581eSLawrence Tang                        "required": ["multipleErrorValid", "flagsValid", "errorInformationValid", "virtualFaultAddressValid", "physicalFaultAddressValid"],
75079d581eSLawrence Tang                        "properties": {
76079d581eSLawrence Tang                            "multipleErrorValid": {
77079d581eSLawrence Tang                                "type": "boolean"
78079d581eSLawrence Tang                            },
79079d581eSLawrence Tang                            "flagsValid": {
80079d581eSLawrence Tang                                "type": "boolean"
81079d581eSLawrence Tang                            },
82079d581eSLawrence Tang                            "errorInformationValid": {
83079d581eSLawrence Tang                                "type": "boolean"
84079d581eSLawrence Tang                            },
85079d581eSLawrence Tang                            "virtualFaultAddressValid": {
86079d581eSLawrence Tang                                "type": "boolean"
87079d581eSLawrence Tang                            },
88079d581eSLawrence Tang                            "physicalFaultAddressValid": {
89079d581eSLawrence Tang                                "type": "boolean"
90079d581eSLawrence Tang                            }
91079d581eSLawrence Tang                        }
92079d581eSLawrence Tang                    },
93079d581eSLawrence Tang                    "errorType": {
94079d581eSLawrence Tang                        "type": "object",
95*8a2d737cSLawrence Tang                        "$ref": "./common/cper-json-nvp.json"
96079d581eSLawrence Tang                    },
97079d581eSLawrence Tang                    "multipleError": {
98079d581eSLawrence Tang                        "type": "object",
99*8a2d737cSLawrence Tang                        "$ref": "./common/cper-json-nvp.json"
100079d581eSLawrence Tang                    },
101079d581eSLawrence Tang                    "flags": {
102079d581eSLawrence Tang                        "type": "object",
103079d581eSLawrence Tang                        "required": ["firstErrorCaptured", "lastErrorCaptured", "propagated", "overflow"],
104079d581eSLawrence Tang                        "properties": {
105079d581eSLawrence Tang                            "firstErrorCaptured": {
106079d581eSLawrence Tang                                "type": "boolean"
107079d581eSLawrence Tang                            },
108079d581eSLawrence Tang                            "lastErrorCaptured": {
109079d581eSLawrence Tang                                "type": "boolean"
110079d581eSLawrence Tang                            },
111079d581eSLawrence Tang                            "propagated": {
112079d581eSLawrence Tang                                "type": "boolean"
113079d581eSLawrence Tang                            },
114079d581eSLawrence Tang                            "overflow": {
115079d581eSLawrence Tang                                "type": "boolean"
116079d581eSLawrence Tang                            }
117079d581eSLawrence Tang                        }
118079d581eSLawrence Tang                    },
119079d581eSLawrence Tang                    "errorInformation": {
120079d581eSLawrence Tang                        "type": "object",
121079d581eSLawrence Tang                        "oneOf": [
122079d581eSLawrence Tang                            {
123079d581eSLawrence Tang                                "type": "object",
124079d581eSLawrence Tang                                "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC"],
125079d581eSLawrence Tang                                "additionalProperties": false,
126079d581eSLawrence Tang                                "properties": {
127079d581eSLawrence Tang                                    "validationBits": {
128079d581eSLawrence Tang                                        "type": "object",
129079d581eSLawrence Tang                                        "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid"],
130079d581eSLawrence Tang                                        "properties": {
131079d581eSLawrence Tang                                            "transactionTypeValid": {
132079d581eSLawrence Tang                                                "type": "boolean"
133079d581eSLawrence Tang                                            },
134079d581eSLawrence Tang                                            "operationValid": {
135079d581eSLawrence Tang                                                "type": "boolean"
136079d581eSLawrence Tang                                            },
137079d581eSLawrence Tang                                            "levelValid": {
138079d581eSLawrence Tang                                                "type": "boolean"
139079d581eSLawrence Tang                                            },
140079d581eSLawrence Tang                                            "processorContextCorruptValid": {
141079d581eSLawrence Tang                                                "type": "boolean"
142079d581eSLawrence Tang                                            },
143079d581eSLawrence Tang                                            "correctedValid": {
144079d581eSLawrence Tang                                                "type": "boolean"
145079d581eSLawrence Tang                                            },
146079d581eSLawrence Tang                                            "precisePCValid": {
147079d581eSLawrence Tang                                                "type": "boolean"
148079d581eSLawrence Tang                                            },
149079d581eSLawrence Tang                                            "restartablePCValid": {
150079d581eSLawrence Tang                                                "type": "boolean"
151079d581eSLawrence Tang                                            }
152079d581eSLawrence Tang                                        }
153079d581eSLawrence Tang                                    },
154079d581eSLawrence Tang                                    "transactionType": {
155079d581eSLawrence Tang                                        "type": "object",
156*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
157079d581eSLawrence Tang                                    },
158079d581eSLawrence Tang                                    "operation": {
159079d581eSLawrence Tang                                        "type": "object",
160*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
161079d581eSLawrence Tang                                    },
162079d581eSLawrence Tang                                    "level": {
163079d581eSLawrence Tang                                        "type": "integer"
164079d581eSLawrence Tang                                    },
165079d581eSLawrence Tang                                    "processorContextCorrupt": {
166079d581eSLawrence Tang                                        "type": "boolean"
167079d581eSLawrence Tang                                    },
168079d581eSLawrence Tang                                    "corrected": {
169079d581eSLawrence Tang                                        "type": "boolean"
170079d581eSLawrence Tang                                    },
171079d581eSLawrence Tang                                    "precisePC": {
172079d581eSLawrence Tang                                        "type": "boolean"
173079d581eSLawrence Tang                                    },
174079d581eSLawrence Tang                                    "restartablePC": {
175079d581eSLawrence Tang                                        "type": "boolean"
176079d581eSLawrence Tang                                    }
177079d581eSLawrence Tang                                }
178079d581eSLawrence Tang                            },
179079d581eSLawrence Tang                            {
180079d581eSLawrence Tang                                "type": "object",
181079d581eSLawrence Tang                                "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "corrected", "precisePC", "restartablePC", "timedOut", "participationType", "addressSpace", "memoryAttributes", "accessMode"],
182079d581eSLawrence Tang                                "additionalProperties": false,
183079d581eSLawrence Tang                                "properties": {
184079d581eSLawrence Tang                                    "validationBits": {
185079d581eSLawrence Tang                                        "type": "object",
186079d581eSLawrence Tang                                        "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "correctedValid", "precisePCValid", "restartablePCValid", "participationTypeValid", "timedOutValid", "addressSpaceValid", "memoryAttributesValid", "accessModeValid"],
187079d581eSLawrence Tang                                        "properties": {
188079d581eSLawrence Tang                                            "transactionTypeValid": {
189079d581eSLawrence Tang                                                "type": "boolean"
190079d581eSLawrence Tang                                            },
191079d581eSLawrence Tang                                            "operationValid": {
192079d581eSLawrence Tang                                                "type": "boolean"
193079d581eSLawrence Tang                                            },
194079d581eSLawrence Tang                                            "levelValid": {
195079d581eSLawrence Tang                                                "type": "boolean"
196079d581eSLawrence Tang                                            },
197079d581eSLawrence Tang                                            "processorContextCorruptValid": {
198079d581eSLawrence Tang                                                "type": "boolean"
199079d581eSLawrence Tang                                            },
200079d581eSLawrence Tang                                            "correctedValid": {
201079d581eSLawrence Tang                                                "type": "boolean"
202079d581eSLawrence Tang                                            },
203079d581eSLawrence Tang                                            "precisePCValid": {
204079d581eSLawrence Tang                                                "type": "boolean"
205079d581eSLawrence Tang                                            },
206079d581eSLawrence Tang                                            "restartablePCValid": {
207079d581eSLawrence Tang                                                "type": "boolean"
208079d581eSLawrence Tang                                            },
209079d581eSLawrence Tang                                            "participationTypeValid": {
210079d581eSLawrence Tang                                                "type": "boolean"
211079d581eSLawrence Tang                                            },
212079d581eSLawrence Tang                                            "timedOutValid": {
213079d581eSLawrence Tang                                                "type": "boolean"
214079d581eSLawrence Tang                                            },
215079d581eSLawrence Tang                                            "addressSpaceValid": {
216079d581eSLawrence Tang                                                "type": "boolean"
217079d581eSLawrence Tang                                            },
218079d581eSLawrence Tang                                            "memoryAttributesValid": {
219079d581eSLawrence Tang                                                "type": "boolean"
220079d581eSLawrence Tang                                            },
221079d581eSLawrence Tang                                            "accessModeValid": {
222079d581eSLawrence Tang                                                "type": "boolean"
223079d581eSLawrence Tang                                            }
224079d581eSLawrence Tang                                        }
225079d581eSLawrence Tang                                    },
226079d581eSLawrence Tang                                    "transactionType": {
227079d581eSLawrence Tang                                        "type": "object",
228*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
229079d581eSLawrence Tang                                    },
230079d581eSLawrence Tang                                    "operation": {
231079d581eSLawrence Tang                                        "type": "object",
232*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
233079d581eSLawrence Tang                                    },
234079d581eSLawrence Tang                                    "level": {
235079d581eSLawrence Tang                                        "type": "integer"
236079d581eSLawrence Tang                                    },
237079d581eSLawrence Tang                                    "processorContextCorrupt": {
238079d581eSLawrence Tang                                        "type": "boolean"
239079d581eSLawrence Tang                                    },
240079d581eSLawrence Tang                                    "corrected": {
241079d581eSLawrence Tang                                        "type": "boolean"
242079d581eSLawrence Tang                                    },
243079d581eSLawrence Tang                                    "precisePC": {
244079d581eSLawrence Tang                                        "type": "boolean"
245079d581eSLawrence Tang                                    },
246079d581eSLawrence Tang                                    "restartablePC": {
247079d581eSLawrence Tang                                        "type": "boolean"
248079d581eSLawrence Tang                                    },
249079d581eSLawrence Tang                                    "timedOut": {
250079d581eSLawrence Tang                                        "type": "boolean"
251079d581eSLawrence Tang                                    },
252079d581eSLawrence Tang                                    "participationType": {
253079d581eSLawrence Tang                                        "type": "object",
254*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
255079d581eSLawrence Tang                                    },
256079d581eSLawrence Tang                                    "addressSpace": {
257079d581eSLawrence Tang                                        "type": "object",
258*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
259079d581eSLawrence Tang                                    },
260079d581eSLawrence Tang                                    "accessMode": {
261079d581eSLawrence Tang                                        "type": "object",
262*8a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
263079d581eSLawrence Tang                                    },
264079d581eSLawrence Tang                                    "memoryAttributes": {
265079d581eSLawrence Tang                                        "type": "integer"
266079d581eSLawrence Tang                                    }
267079d581eSLawrence Tang                                }
268079d581eSLawrence Tang                            }
269079d581eSLawrence Tang                        ]
270079d581eSLawrence Tang                    },
271079d581eSLawrence Tang                    "virtualFaultAddress": {
272079d581eSLawrence Tang                        "type": "integer"
273079d581eSLawrence Tang                    },
274079d581eSLawrence Tang                    "physicalFaultAddress": {
275079d581eSLawrence Tang                        "type": "integer"
276079d581eSLawrence Tang                    }
277079d581eSLawrence Tang                }
278079d581eSLawrence Tang            }
279079d581eSLawrence Tang        },
280079d581eSLawrence Tang        "contextInfo": {
281079d581eSLawrence Tang            "type": "array",
282079d581eSLawrence Tang            "items": {
283079d581eSLawrence Tang                "type": "object",
284079d581eSLawrence Tang                "required": ["registerContextType", "registerArraySize", "registerArray"],
285079d581eSLawrence Tang                "additionalProperties": false,
286079d581eSLawrence Tang                "properties": {
287079d581eSLawrence Tang                    "registerContextType": {
288079d581eSLawrence Tang                        "type": "object",
289*8a2d737cSLawrence Tang                        "$ref": "./common/cper-json-nvp.json"
290079d581eSLawrence Tang                    },
291079d581eSLawrence Tang                    "registerArraySize": {
292079d581eSLawrence Tang                        "type": "integer"
293079d581eSLawrence Tang                    },
294079d581eSLawrence Tang                    "registerArray": {
295079d581eSLawrence Tang                        "type": "object",
296079d581eSLawrence Tang                        "oneOf": [
297079d581eSLawrence Tang                            {
298079d581eSLawrence Tang                                "type": "object",
299079d581eSLawrence Tang                                "required": ["r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13_sp", "r14_lr", "r15_pc"],
300079d581eSLawrence Tang                                "properties": {
301079d581eSLawrence Tang                                    "r0": { "type": "integer" },
302079d581eSLawrence Tang                                    "r1": { "type": "integer" },
303079d581eSLawrence Tang                                    "r2": { "type": "integer" },
304079d581eSLawrence Tang                                    "r3": { "type": "integer" },
305079d581eSLawrence Tang                                    "r4": { "type": "integer" },
306079d581eSLawrence Tang                                    "r5": { "type": "integer" },
307079d581eSLawrence Tang                                    "r6": { "type": "integer" },
308079d581eSLawrence Tang                                    "r7": { "type": "integer" },
309079d581eSLawrence Tang                                    "r8": { "type": "integer" },
310079d581eSLawrence Tang                                    "r9": { "type": "integer" },
311079d581eSLawrence Tang                                    "r10": { "type": "integer" },
312079d581eSLawrence Tang                                    "r11": { "type": "integer" },
313079d581eSLawrence Tang                                    "r12": { "type": "integer" },
314079d581eSLawrence Tang                                    "r13_sp": { "type": "integer" },
315079d581eSLawrence Tang                                    "r14_lr": { "type": "integer" },
316079d581eSLawrence Tang                                    "r15_pc": { "type": "integer" }
317079d581eSLawrence Tang                                }
318079d581eSLawrence Tang                            },
319079d581eSLawrence Tang                            {
320079d581eSLawrence Tang                                "type": "object",
321079d581eSLawrence Tang                                "required": ["dfar", "dfsr", "ifar", "isr", "mair0", "mair1", "midr", "mpidr", "nmrr", "prrr", "sctlr_ns", "spsr", "spsr_abt", "spsr_fiq", "spsr_irq", "spsr_svc", "spsr_und", "tpidrprw", "tpidruro", "tpidrurw", "ttbcr", "ttbr0", "ttbr1", "dacr"],
322079d581eSLawrence Tang                                "properties": {
323079d581eSLawrence Tang                                    "dfar": { "type": "integer" },
324079d581eSLawrence Tang                                    "dfsr": { "type": "integer" },
325079d581eSLawrence Tang                                    "ifar": { "type": "integer" },
326079d581eSLawrence Tang                                    "isr": { "type": "integer" },
327079d581eSLawrence Tang                                    "mair0": { "type": "integer" },
328079d581eSLawrence Tang                                    "mair1": { "type": "integer" },
329079d581eSLawrence Tang                                    "midr": { "type": "integer" },
330079d581eSLawrence Tang                                    "mpidr": { "type": "integer" },
331079d581eSLawrence Tang                                    "nmrr": { "type": "integer" },
332079d581eSLawrence Tang                                    "prrr": { "type": "integer" },
333079d581eSLawrence Tang                                    "sctlr_ns": { "type": "integer" },
334079d581eSLawrence Tang                                    "spsr": { "type": "integer" },
335079d581eSLawrence Tang                                    "spsr_abt": { "type": "integer" },
336079d581eSLawrence Tang                                    "spsr_fiq": { "type": "integer" },
337079d581eSLawrence Tang                                    "spsr_irq": { "type": "integer" },
338079d581eSLawrence Tang                                    "spsr_svc": { "type": "integer" },
339079d581eSLawrence Tang                                    "spsr_und": { "type": "integer" },
340079d581eSLawrence Tang                                    "tpidrprw": { "type": "integer" },
341079d581eSLawrence Tang                                    "tpidruro": { "type": "integer" },
342079d581eSLawrence Tang                                    "tpidrurw": { "type": "integer" },
343079d581eSLawrence Tang                                    "ttbcr": { "type": "integer" },
344079d581eSLawrence Tang                                    "ttbr0": { "type": "integer" },
345079d581eSLawrence Tang                                    "ttbr1": { "type": "integer" },
346079d581eSLawrence Tang                                    "dacr": { "type": "integer" }
347079d581eSLawrence Tang                                }
348079d581eSLawrence Tang                            },
349079d581eSLawrence Tang                            {
350079d581eSLawrence Tang                                "type": "object",
351079d581eSLawrence Tang                                "required": ["elr_hyp", "hamair0", "hamair1", "hcr", "hcr2", "hdfar", "hifar", "hpfar", "hsr", "htcr", "htpidr", "httbr", "spsr_hyp", "vtcr", "vttbr", "dacr32_el2"],
352079d581eSLawrence Tang                                "properties": {
353079d581eSLawrence Tang                                    "elr_hyp": { "type": "integer" },
354079d581eSLawrence Tang                                    "hamair0": { "type": "integer" },
355079d581eSLawrence Tang                                    "hamair1": { "type": "integer" },
356079d581eSLawrence Tang                                    "hcr": { "type": "integer" },
357079d581eSLawrence Tang                                    "hcr2": { "type": "integer" },
358079d581eSLawrence Tang                                    "hdfar": { "type": "integer" },
359079d581eSLawrence Tang                                    "hifar": { "type": "integer" },
360079d581eSLawrence Tang                                    "hpfar": { "type": "integer" },
361079d581eSLawrence Tang                                    "hsr": { "type": "integer" },
362079d581eSLawrence Tang                                    "htcr": { "type": "integer" },
363079d581eSLawrence Tang                                    "htpidr": { "type": "integer" },
364079d581eSLawrence Tang                                    "httbr": { "type": "integer" },
365079d581eSLawrence Tang                                    "spsr_hyp": { "type": "integer" },
366079d581eSLawrence Tang                                    "vtcr": { "type": "integer" },
367079d581eSLawrence Tang                                    "vttbr": { "type": "integer" },
368079d581eSLawrence Tang                                    "dacr32_el2": { "type": "integer" }
369079d581eSLawrence Tang                                }
370079d581eSLawrence Tang                            },
371079d581eSLawrence Tang                            {
372079d581eSLawrence Tang                                "type": "object",
373079d581eSLawrence Tang                                "required": ["sctlr_s", "spsr_mon"],
374079d581eSLawrence Tang                                "properties": {
375079d581eSLawrence Tang                                    "sctlr_s": { "type": "integer" },
376079d581eSLawrence Tang                                    "spsr_mon": { "type": "integer" }
377079d581eSLawrence Tang                                }
378079d581eSLawrence Tang                            },
379079d581eSLawrence Tang                            {
380079d581eSLawrence Tang                                "type": "object",
381079d581eSLawrence Tang                                "required": ["x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26", "x27", "x28", "x29", "x30", "sp"],
382079d581eSLawrence Tang                                "properties": {
383079d581eSLawrence Tang                                    "x0": { "type": "integer" },
384079d581eSLawrence Tang                                    "x1": { "type": "integer" },
385079d581eSLawrence Tang                                    "x2": { "type": "integer" },
386079d581eSLawrence Tang                                    "x3": { "type": "integer" },
387079d581eSLawrence Tang                                    "x4": { "type": "integer" },
388079d581eSLawrence Tang                                    "x5": { "type": "integer" },
389079d581eSLawrence Tang                                    "x6": { "type": "integer" },
390079d581eSLawrence Tang                                    "x7": { "type": "integer" },
391079d581eSLawrence Tang                                    "x8": { "type": "integer" },
392079d581eSLawrence Tang                                    "x9": { "type": "integer" },
393079d581eSLawrence Tang                                    "x10": { "type": "integer" },
394079d581eSLawrence Tang                                    "x11": { "type": "integer" },
395079d581eSLawrence Tang                                    "x12": { "type": "integer" },
396079d581eSLawrence Tang                                    "x13": { "type": "integer" },
397079d581eSLawrence Tang                                    "x14": { "type": "integer" },
398079d581eSLawrence Tang                                    "x15": { "type": "integer" },
399079d581eSLawrence Tang                                    "x16": { "type": "integer" },
400079d581eSLawrence Tang                                    "x17": { "type": "integer" },
401079d581eSLawrence Tang                                    "x18": { "type": "integer" },
402079d581eSLawrence Tang                                    "x19": { "type": "integer" },
403079d581eSLawrence Tang                                    "x20": { "type": "integer" },
404079d581eSLawrence Tang                                    "x21": { "type": "integer" },
405079d581eSLawrence Tang                                    "x22": { "type": "integer" },
406079d581eSLawrence Tang                                    "x23": { "type": "integer" },
407079d581eSLawrence Tang                                    "x24": { "type": "integer" },
408079d581eSLawrence Tang                                    "x25": { "type": "integer" },
409079d581eSLawrence Tang                                    "x26": { "type": "integer" },
410079d581eSLawrence Tang                                    "x27": { "type": "integer" },
411079d581eSLawrence Tang                                    "x28": { "type": "integer" },
412079d581eSLawrence Tang                                    "x29": { "type": "integer" },
413079d581eSLawrence Tang                                    "x30": { "type": "integer" },
414079d581eSLawrence Tang                                    "sp": { "type": "integer" }
415079d581eSLawrence Tang                                }
416079d581eSLawrence Tang                            },
417079d581eSLawrence Tang                            {
418079d581eSLawrence Tang                                "type": "object",
419079d581eSLawrence Tang                                "required": ["elr_el1", "esr_el1", "far_el1", "isr_el1", "mair_el1", "midr_el1", "mpidr_el1", "sctlr_el1", "sp_el0", "sp_el1", "spsr_el1", "tcr_el1", "tpidr_el0", "tpidr_el1", "tpidrro_el0", "ttbr0_el1", "ttbr1_el1"],
420079d581eSLawrence Tang                                "properties": {
421079d581eSLawrence Tang                                    "elr_el1": { "type": "integer" },
422079d581eSLawrence Tang                                    "esr_el1": { "type": "integer" },
423079d581eSLawrence Tang                                    "far_el1": { "type": "integer" },
424079d581eSLawrence Tang                                    "isr_el1": { "type": "integer" },
425079d581eSLawrence Tang                                    "mair_el1": { "type": "integer" },
426079d581eSLawrence Tang                                    "midr_el1": { "type": "integer" },
427079d581eSLawrence Tang                                    "mpidr_el1": { "type": "integer" },
428079d581eSLawrence Tang                                    "sctlr_el1": { "type": "integer" },
429079d581eSLawrence Tang                                    "sp_el0": { "type": "integer" },
430079d581eSLawrence Tang                                    "sp_el1": { "type": "integer" },
431079d581eSLawrence Tang                                    "spsr_el1": { "type": "integer" },
432079d581eSLawrence Tang                                    "tcr_el1": { "type": "integer" },
433079d581eSLawrence Tang                                    "tpidr_el0": { "type": "integer" },
434079d581eSLawrence Tang                                    "tpidr_el1": { "type": "integer" },
435079d581eSLawrence Tang                                    "tpidrro_el0": { "type": "integer" },
436079d581eSLawrence Tang                                    "ttbr0_el1": { "type": "integer" },
437079d581eSLawrence Tang                                    "ttbr1_el1": { "type": "integer" }
438079d581eSLawrence Tang                                }
439079d581eSLawrence Tang                            },
440079d581eSLawrence Tang                            {
441079d581eSLawrence Tang                                "type": "object",
442079d581eSLawrence Tang                                "required": ["elr_el2", "esr_el2", "far_el2", "hacr_el2", "hcr_el2", "hpfar_el2", "mair_el2", "sctlr_el2", "sp_el2", "spsr_el2", "tcr_el2", "tpidr_el2", "ttbr0_el2", "vtcr_el2", "vttbr_el2"],
443079d581eSLawrence Tang                                "properties": {
444079d581eSLawrence Tang                                    "elr_el2": { "type": "integer" },
445079d581eSLawrence Tang                                    "esr_el2": { "type": "integer" },
446079d581eSLawrence Tang                                    "far_el2": { "type": "integer" },
447079d581eSLawrence Tang                                    "hacr_el2": { "type": "integer" },
448079d581eSLawrence Tang                                    "hcr_el2": { "type": "integer" },
449079d581eSLawrence Tang                                    "hpfar_el2": { "type": "integer" },
450079d581eSLawrence Tang                                    "mair_el2": { "type": "integer" },
451079d581eSLawrence Tang                                    "sctlr_el2": { "type": "integer" },
452079d581eSLawrence Tang                                    "sp_el2": { "type": "integer" },
453079d581eSLawrence Tang                                    "spsr_el2": { "type": "integer" },
454079d581eSLawrence Tang                                    "tcr_el2": { "type": "integer" },
455079d581eSLawrence Tang                                    "tpidr_el2": { "type": "integer" },
456079d581eSLawrence Tang                                    "ttbr0_el2": { "type": "integer" },
457079d581eSLawrence Tang                                    "vtcr_el2": { "type": "integer" },
458079d581eSLawrence Tang                                    "vttbr_el2": { "type": "integer" }
459079d581eSLawrence Tang                                }
460079d581eSLawrence Tang                            },
461079d581eSLawrence Tang                            {
462079d581eSLawrence Tang                                "type": "object",
463079d581eSLawrence Tang                                "required": ["elr_el3", "esr_el3", "far_el3", "mair_el3", "sctlr_el3", "sp_el3", "spsr_el3", "tcr_el3", "tpidr_el3", "ttbr0_el3"],
464079d581eSLawrence Tang                                "properties": {
465079d581eSLawrence Tang                                    "elr_el3": { "type": "integer" },
466079d581eSLawrence Tang                                    "esr_el3": { "type": "integer" },
467079d581eSLawrence Tang                                    "far_el3": { "type": "integer" },
468079d581eSLawrence Tang                                    "mair_el3": { "type": "integer" },
469079d581eSLawrence Tang                                    "sctlr_el3": { "type": "integer" },
470079d581eSLawrence Tang                                    "sp_el3": { "type": "integer" },
471079d581eSLawrence Tang                                    "spsr_el3": { "type": "integer" },
472079d581eSLawrence Tang                                    "tcr_el3": { "type": "integer" },
473079d581eSLawrence Tang                                    "tpidr_el3": { "type": "integer" },
474079d581eSLawrence Tang                                    "ttbr0_el3": { "type": "integer" }
475079d581eSLawrence Tang                                }
476079d581eSLawrence Tang                            },
477079d581eSLawrence Tang                            {
478079d581eSLawrence Tang                                "type": "object",
479079d581eSLawrence Tang                                "required": ["mrsEncoding", "value"],
480079d581eSLawrence Tang                                "additionalProperties": false,
481079d581eSLawrence Tang                                "properties": {
482079d581eSLawrence Tang                                    "mrsEncoding": {
483079d581eSLawrence Tang                                        "type": "object",
484079d581eSLawrence Tang                                        "required": ["op2", "crm", "crn", "op1", "o0"],
485079d581eSLawrence Tang                                        "properties": {
486079d581eSLawrence Tang                                            "op2": { "type": "integer" },
487079d581eSLawrence Tang                                            "crm": { "type": "integer" },
488079d581eSLawrence Tang                                            "crn": { "type": "integer" },
489079d581eSLawrence Tang                                            "op1": { "type": "integer" },
490079d581eSLawrence Tang                                            "o0": { "type": "integer" }
491079d581eSLawrence Tang                                        }
492079d581eSLawrence Tang                                    },
493079d581eSLawrence Tang                                    "value": {
494079d581eSLawrence Tang                                        "type": "integer"
495079d581eSLawrence Tang                                    }
496079d581eSLawrence Tang                                }
497079d581eSLawrence Tang                            },
498079d581eSLawrence Tang                            {
499079d581eSLawrence Tang                                "type": "object",
500079d581eSLawrence Tang                                "required": ["data"],
501079d581eSLawrence Tang                                "properties": {
502079d581eSLawrence Tang                                    "data": {
503079d581eSLawrence Tang                                        "type": "string"
504079d581eSLawrence Tang                                    }
505079d581eSLawrence Tang                                }
506079d581eSLawrence Tang                            }
507079d581eSLawrence Tang                        ]
508079d581eSLawrence Tang                    }
509079d581eSLawrence Tang                }
510079d581eSLawrence Tang            }
511079d581eSLawrence Tang        },
512079d581eSLawrence Tang        "vendorSpecificInfo": {
513079d581eSLawrence Tang            "type": "object",
514079d581eSLawrence Tang            "required": ["data"],
515079d581eSLawrence Tang            "additionalProperties": false,
516079d581eSLawrence Tang            "properties": {
517079d581eSLawrence Tang                "data": {
518079d581eSLawrence Tang                    "type": "string"
519079d581eSLawrence Tang                }
520079d581eSLawrence Tang            }
521079d581eSLawrence Tang        }
522079d581eSLawrence Tang    }
523079d581eSLawrence Tang}