blob: b57beeed585254272db1b533f17a9b0edbd504e5 [file] [log] [blame]
Lawrence Tang079d5812022-07-12 14:15:32 +01001{
Lawrence Tang079d5812022-07-12 14:15:32 +01002 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "type": "object",
Aushim Nagarkatti517282f2025-03-03 17:08:31 -08004 "required": [],
Lawrence Tang079d5812022-07-12 14:15:32 +01005 "additionalProperties": false,
6 "properties": {
Lawrence Tang079d5812022-07-12 14:15:32 +01007 "errorStatus": {
8 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -08009 "description": "Memory error status information.",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010010 "$ref": "./common/cper-json-error-status.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010011 },
12 "bank": {
13 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080014 "description": "The bank number of the memory associated with the error.",
Lawrence Tang079d5812022-07-12 14:15:32 +010015 "oneOf": [
16 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070017 "$id": "cper-json-bank0",
Lawrence Tang079d5812022-07-12 14:15:32 +010018 "type": "object",
19 "required": ["value"],
20 "properties": {
21 "value": {
22 "type": "integer"
23 }
24 }
25 },
26 {
Aushim Nagarkatti382ad4c2024-09-19 13:39:04 -070027 "$id": "cper-json-bank1",
Lawrence Tang079d5812022-07-12 14:15:32 +010028 "type": "object",
29 "required": ["address", "group"],
30 "properties": {
31 "address": {
32 "type": "integer"
33 },
34 "group": {
35 "type": "integer"
36 }
37 }
38 }
39 ]
40 },
41 "memoryErrorType": {
42 "type": "object",
Andrew Adrianced9835a12024-12-05 14:41:42 -080043 "description": "Identifies the type of error that occurred",
Lawrence Tang8a2d7372022-07-12 16:44:49 +010044 "$ref": "./common/cper-json-nvp.json"
Lawrence Tang079d5812022-07-12 14:15:32 +010045 },
46 "extended": {
47 "type": "object",
48 "required": ["rowBit16", "rowBit17", "chipIdentification"],
49 "properties": {
50 "rowBit16": {
51 "type": "boolean"
52 },
53 "rowBit17": {
54 "type": "boolean"
55 },
56 "chipIdentification": {
57 "type": "integer"
58 }
59 }
60 },
61 "physicalAddress": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080062 "type": "integer",
63 "description": "The physical address at which the memory error occurred."
Lawrence Tang079d5812022-07-12 14:15:32 +010064 },
Aushim Nagarkatticc367012024-12-05 18:17:27 -080065 "physicalAddressHex": {
66 "type": "string"
67 },
Lawrence Tang079d5812022-07-12 14:15:32 +010068 "physicalAddressMask": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080069 "type": "integer",
70 "description": "Defines the valid address bits in the Physical Address field. The mask specifies the granularity of the physical address."
Lawrence Tang079d5812022-07-12 14:15:32 +010071 },
72 "node": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080073 "type": "integer",
74 "description": "In a multi-node system, this value identifies the node containing the memory in error."
Lawrence Tang079d5812022-07-12 14:15:32 +010075 },
76 "card": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080077 "type": "integer",
78 "description": "The card number of the memory error location."
Lawrence Tang079d5812022-07-12 14:15:32 +010079 },
80 "moduleRank": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080081 "type": "integer",
82 "description": "The module or rank number of the memory error location."
Lawrence Tang079d5812022-07-12 14:15:32 +010083 },
84 "device": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080085 "type": "integer",
86 "description": "The device number of the memory associated with the error."
Lawrence Tang079d5812022-07-12 14:15:32 +010087 },
88 "row": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080089 "type": "integer",
90 "description": "The row number of the memory error location."
Lawrence Tang079d5812022-07-12 14:15:32 +010091 },
92 "column": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080093 "type": "integer",
94 "description": "The column number of the memory error location."
Lawrence Tang079d5812022-07-12 14:15:32 +010095 },
96 "bitPosition": {
Andrew Adrianced9835a12024-12-05 14:41:42 -080097 "type": "integer",
98 "description": "The bit position at which the memory error occurred."
Lawrence Tang079d5812022-07-12 14:15:32 +010099 },
100 "requestorID": {
Andrew Adrianced9835a12024-12-05 14:41:42 -0800101 "type": "integer",
102 "description": "Hardware address of the device that initiated the transaction that took the error."
Lawrence Tang079d5812022-07-12 14:15:32 +0100103 },
104 "responderID": {
Andrew Adrianced9835a12024-12-05 14:41:42 -0800105 "type": "integer",
106 "description": "Hardware address of the device that responded to the transaction."
Lawrence Tang079d5812022-07-12 14:15:32 +0100107 },
108 "targetID": {
Andrew Adrianced9835a12024-12-05 14:41:42 -0800109 "type": "integer",
110 "description": "Hardware address of the intended target of the transaction."
Lawrence Tang079d5812022-07-12 14:15:32 +0100111 },
112 "rankNumber": {
Andrew Adrianced9835a12024-12-05 14:41:42 -0800113 "type": "integer",
114 "description": "The Rank number of the memory error location."
Lawrence Tang079d5812022-07-12 14:15:32 +0100115 },
116 "cardSmbiosHandle": {
Andrew Adrianced9835a12024-12-05 14:41:42 -0800117 "type": "integer",
118 "description": "This field contains the SMBIOS handle for the Type 16 Memory Array Structure that represents the memory card."
Lawrence Tang079d5812022-07-12 14:15:32 +0100119 },
120 "moduleSmbiosHandle": {
Andrew Adrianced9835a12024-12-05 14:41:42 -0800121 "type": "integer",
122 "description": "This field contains the SMBIOS handle for the Type 17 Memory Device Structure that represents the Memory Module."
Lawrence Tang079d5812022-07-12 14:15:32 +0100123 }
124 }
John Chung044afd02024-05-03 19:58:02 +0800125}