1079d581eSLawrence Tang{
2079d581eSLawrence Tang    "$id": "cper-json-memory-section",
3079d581eSLawrence Tang    "$schema": "https://json-schema.org/draft/2020-12/schema",
4079d581eSLawrence Tang    "type": "object",
5079d581eSLawrence Tang    "required": ["validationBits", "errorStatus", "bank", "memoryErrorType", "extended", "physicalAddress", "physicalAddressMask", "node", "card", "moduleRank", "device", "row", "column", "bitPosition", "requestorID", "responderID", "targetID", "rankNumber", "cardSmbiosHandle", "moduleSmbiosHandle"],
6079d581eSLawrence Tang    "additionalProperties": false,
7079d581eSLawrence Tang    "properties": {
8079d581eSLawrence Tang        "validationBits": {
9079d581eSLawrence Tang            "type": "object",
10*4237584eSLawrence Tang            "required": ["errorStatusValid", "physicalAddressValid", "physicalAddressMaskValid", "nodeValid", "cardValid", "moduleValid", "bankValid", "deviceValid", "rowValid", "columnValid", "bitPositionValid", "platformRequestorIDValid", "platformResponderIDValid", "memoryPlatformTargetValid", "memoryErrorTypeValid", "rankNumberValid", "cardHandleValid", "moduleHandleValid", "extendedRowBitsValid", "bankGroupValid", "bankAddressValid", "chipIdentificationValid"],
11079d581eSLawrence Tang            "properties": {
12079d581eSLawrence Tang                "errorStatusValid": {
13079d581eSLawrence Tang                    "type": "boolean"
14079d581eSLawrence Tang                },
15079d581eSLawrence Tang                "physicalAddressValid": {
16079d581eSLawrence Tang                    "type": "boolean"
17079d581eSLawrence Tang                },
18079d581eSLawrence Tang                "physicalAddressMaskValid": {
19079d581eSLawrence Tang                    "type": "boolean"
20079d581eSLawrence Tang                },
21079d581eSLawrence Tang                "nodeValid": {
22079d581eSLawrence Tang                    "type": "boolean"
23079d581eSLawrence Tang                },
24079d581eSLawrence Tang                "cardValid": {
25079d581eSLawrence Tang                    "type": "boolean"
26079d581eSLawrence Tang                },
27079d581eSLawrence Tang                "moduleValid": {
28079d581eSLawrence Tang                    "type": "boolean"
29079d581eSLawrence Tang                },
30079d581eSLawrence Tang                "bankValid": {
31079d581eSLawrence Tang                    "type": "boolean"
32079d581eSLawrence Tang                },
33079d581eSLawrence Tang                "deviceValid": {
34079d581eSLawrence Tang                    "type": "boolean"
35079d581eSLawrence Tang                },
36079d581eSLawrence Tang                "rowValid": {
37079d581eSLawrence Tang                    "type": "boolean"
38079d581eSLawrence Tang                },
39*4237584eSLawrence Tang                "columnValid": {
40*4237584eSLawrence Tang                    "type": "boolean"
41*4237584eSLawrence Tang                },
42*4237584eSLawrence Tang                "bitPositionValid": {
43*4237584eSLawrence Tang                    "type": "boolean"
44*4237584eSLawrence Tang                },
45*4237584eSLawrence Tang                "platformRequestorIDValid": {
46*4237584eSLawrence Tang                    "type": "boolean"
47*4237584eSLawrence Tang                },
48*4237584eSLawrence Tang                "platformResponderIDValid": {
49*4237584eSLawrence Tang                    "type": "boolean"
50*4237584eSLawrence Tang                },
51079d581eSLawrence Tang                "memoryPlatformTargetValid": {
52079d581eSLawrence Tang                    "type": "boolean"
53079d581eSLawrence Tang                },
54079d581eSLawrence Tang                "memoryErrorTypeValid": {
55079d581eSLawrence Tang                    "type": "boolean"
56079d581eSLawrence Tang                },
57079d581eSLawrence Tang                "rankNumberValid": {
58079d581eSLawrence Tang                    "type": "boolean"
59079d581eSLawrence Tang                },
60079d581eSLawrence Tang                "cardHandleValid": {
61079d581eSLawrence Tang                    "type": "boolean"
62079d581eSLawrence Tang                },
63079d581eSLawrence Tang                "moduleHandleValid": {
64079d581eSLawrence Tang                    "type": "boolean"
65079d581eSLawrence Tang                },
66079d581eSLawrence Tang                "extendedRowBitsValid": {
67079d581eSLawrence Tang                    "type": "boolean"
68079d581eSLawrence Tang                },
69079d581eSLawrence Tang                "bankGroupValid": {
70079d581eSLawrence Tang                    "type": "boolean"
71079d581eSLawrence Tang                },
72079d581eSLawrence Tang                "bankAddressValid": {
73079d581eSLawrence Tang                    "type": "boolean"
74079d581eSLawrence Tang                },
75079d581eSLawrence Tang                "chipIdentificationValid": {
76079d581eSLawrence Tang                    "type": "boolean"
77079d581eSLawrence Tang                }
78079d581eSLawrence Tang            }
79079d581eSLawrence Tang        },
80079d581eSLawrence Tang        "errorStatus": {
81079d581eSLawrence Tang            "type": "object",
828a2d737cSLawrence Tang            "$ref": "./common/cper-json-error-status.json"
83079d581eSLawrence Tang        },
84079d581eSLawrence Tang        "bank": {
85079d581eSLawrence Tang            "type": "object",
86079d581eSLawrence Tang            "oneOf": [
87079d581eSLawrence Tang                {
88079d581eSLawrence Tang                    "type": "object",
89079d581eSLawrence Tang                    "required": ["value"],
90079d581eSLawrence Tang                    "properties": {
91079d581eSLawrence Tang                        "value": {
92079d581eSLawrence Tang                            "type": "integer"
93079d581eSLawrence Tang                        }
94079d581eSLawrence Tang                    }
95079d581eSLawrence Tang                },
96079d581eSLawrence Tang                {
97079d581eSLawrence Tang                    "type": "object",
98079d581eSLawrence Tang                    "required": ["address", "group"],
99079d581eSLawrence Tang                    "properties": {
100079d581eSLawrence Tang                        "address": {
101079d581eSLawrence Tang                            "type": "integer"
102079d581eSLawrence Tang                        },
103079d581eSLawrence Tang                        "group": {
104079d581eSLawrence Tang                            "type": "integer"
105079d581eSLawrence Tang                        }
106079d581eSLawrence Tang                    }
107079d581eSLawrence Tang                }
108079d581eSLawrence Tang            ]
109079d581eSLawrence Tang        },
110079d581eSLawrence Tang        "memoryErrorType": {
111079d581eSLawrence Tang            "type": "object",
1128a2d737cSLawrence Tang            "$ref": "./common/cper-json-nvp.json"
113079d581eSLawrence Tang        },
114079d581eSLawrence Tang        "extended": {
115079d581eSLawrence Tang            "type": "object",
116079d581eSLawrence Tang            "required": ["rowBit16", "rowBit17", "chipIdentification"],
117079d581eSLawrence Tang            "properties": {
118079d581eSLawrence Tang                "rowBit16": {
119079d581eSLawrence Tang                    "type": "boolean"
120079d581eSLawrence Tang                },
121079d581eSLawrence Tang                "rowBit17": {
122079d581eSLawrence Tang                    "type": "boolean"
123079d581eSLawrence Tang                },
124079d581eSLawrence Tang                "chipIdentification": {
125079d581eSLawrence Tang                    "type": "integer"
126079d581eSLawrence Tang                }
127079d581eSLawrence Tang            }
128079d581eSLawrence Tang        },
129079d581eSLawrence Tang        "physicalAddress": {
130079d581eSLawrence Tang            "type": "integer"
131079d581eSLawrence Tang        },
132079d581eSLawrence Tang        "physicalAddressMask": {
133079d581eSLawrence Tang            "type": "integer"
134079d581eSLawrence Tang        },
135079d581eSLawrence Tang        "node": {
136079d581eSLawrence Tang            "type": "integer"
137079d581eSLawrence Tang        },
138079d581eSLawrence Tang        "card": {
139079d581eSLawrence Tang            "type": "integer"
140079d581eSLawrence Tang        },
141079d581eSLawrence Tang        "moduleRank": {
142079d581eSLawrence Tang            "type": "integer"
143079d581eSLawrence Tang        },
144079d581eSLawrence Tang        "device": {
145079d581eSLawrence Tang            "type": "integer"
146079d581eSLawrence Tang        },
147079d581eSLawrence Tang        "row": {
148079d581eSLawrence Tang            "type": "integer"
149079d581eSLawrence Tang        },
150079d581eSLawrence Tang        "column": {
151079d581eSLawrence Tang            "type": "integer"
152079d581eSLawrence Tang        },
153079d581eSLawrence Tang        "bitPosition": {
154079d581eSLawrence Tang            "type": "integer"
155079d581eSLawrence Tang        },
156079d581eSLawrence Tang        "requestorID": {
157079d581eSLawrence Tang            "type": "integer"
158079d581eSLawrence Tang        },
159079d581eSLawrence Tang        "responderID": {
160079d581eSLawrence Tang            "type": "integer"
161079d581eSLawrence Tang        },
162079d581eSLawrence Tang        "targetID": {
163079d581eSLawrence Tang            "type": "integer"
164079d581eSLawrence Tang        },
165079d581eSLawrence Tang        "rankNumber": {
166079d581eSLawrence Tang            "type": "integer"
167079d581eSLawrence Tang        },
168079d581eSLawrence Tang        "cardSmbiosHandle": {
169079d581eSLawrence Tang            "type": "integer"
170079d581eSLawrence Tang        },
171079d581eSLawrence Tang        "moduleSmbiosHandle": {
172079d581eSLawrence Tang            "type": "integer"
173079d581eSLawrence Tang        }
174079d581eSLawrence Tang    }
175079d581eSLawrence Tang}