summaryrefslogtreecommitdiff
path: root/Documentation/ABI/testing/sysfs-bus-platform-devices-ampere-smpro
blob: ca93c215ef995e3619f79f7624065269955a55e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
What:		/sys/bus/platform/devices/smpro-errmon.*/error_[core|mem|pcie|other]_[ce|ue]
KernelVersion:	6.1
Contact:	Quan Nguyen <quan@os.amperecomputing.com>
Description:
		(RO) Contains the 48-byte Ampere (Vendor-Specific) Error Record printed
		in hex format according to the table below:

		+--------+---------------+-------------+------------------------------------------------------------+
		| Offset |     Field     | Size (byte) |                     Description                            |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 00     | Error Type    | 1           | See :ref:`the table below <smpro-error-types>` for details |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 01     | Subtype       | 1           | See :ref:`the table below <smpro-error-types>` for details |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 02     | Instance      | 2           | See :ref:`the table below <smpro-error-types>` for details |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 04     | Error status  | 4           | See ARM RAS specification for details                      |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 08     | Error Address | 8           | See ARM RAS specification for details                      |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 16     | Error Misc 0  | 8           | See ARM RAS specification for details                      |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 24     | Error Misc 1  | 8           | See ARM RAS specification for details                      |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 32     | Error Misc 2  | 8           | See ARM RAS specification for details                      |
		+--------+---------------+-------------+------------------------------------------------------------+
		| 40     | Error Misc 3  | 8           | See ARM RAS specification for details                      |
		+--------+---------------+-------------+------------------------------------------------------------+

		The table below defines the value of error types, their subtype, subcomponent and instance:

		.. _smpro-error-types:

		+-----------------+------------+----------+----------------+----------------------------------------+
		|   Error Group   | Error Type | Sub type | Sub component  |               Instance                 |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| CPM (core)      | 0          | 0        | Snoop-Logic    | CPM #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| CPM (core)      | 0          | 2        | Armv8 Core 1   | CPM #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 1        | ERR1           | MCU # \| SLOT << 11                    |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 2        | ERR2           | MCU # \| SLOT << 11                    |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 3        | ERR3           | MCU #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 4        | ERR4           | MCU #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 5        | ERR5           | MCU #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 6        | ERR6           | MCU #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| MCU (mem)       | 1          | 7        | Link Error     | MCU #                                  |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| Mesh (other)    | 2          | 0        | Cross Point    | X \| (Y << 5) \| NS <<11               |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| Mesh (other)    | 2          | 1        | Home Node(IO)  | X \| (Y << 5) \| NS <<11               |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| Mesh (other)    | 2          | 2        | Home Node(Mem) | X \| (Y << 5) \| NS <<11 \| device<<12 |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| Mesh (other)    | 2          | 4        | CCIX Node      | X \| (Y << 5) \| NS <<11               |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| 2P Link (other) | 3          | 0        | N/A            | Altra 2P Link #                        |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 0        | ERR0           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 1        | ERR1           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 2        | ERR2           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 3        | ERR3           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 4        | ERR4           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 5        | ERR5           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 6        | ERR6           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 7        | ERR7           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 8        | ERR8           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 9        | ERR9           | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 10       | ERR10          | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 11       | ERR11          | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 12       | ERR12          | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| GIC (other)     | 5          | 13-21    | ERR13          | RC # + 1                               |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TCU      | 100            | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU0     | 0              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU1     | 1              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU2     | 2              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU3     | 3              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU4     | 4              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU5     | 5              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU6     | 6              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU7     | 7              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU8     | 8              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMMU (other)    | 6          | TBU9     | 9              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PCIe AER (pcie) | 7          | Root     | 0              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PCIe AER (pcie) | 7          | Device   | 1              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PCIe RC (pcie)  | 8          | RCA HB   | 0              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PCIe RC (pcie)  | 8          | RCB HB   | 1              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PCIe RC (pcie)  | 8          | RASDP    | 8              | RC #                                   |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| OCM (other)     | 9          | ERR0     | 0              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| OCM (other)     | 9          | ERR1     | 1              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| OCM (other)     | 9          | ERR2     | 2              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMpro (other)   | 10         | ERR0     | 0              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMpro (other)   | 10         | ERR1     | 1              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| SMpro (other)   | 10         | MPA_ERR  | 2              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PMpro (other)   | 11         | ERR0     | 0              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PMpro (other)   | 11         | ERR1     | 1              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+
		| PMpro (other)   | 11         | MPA_ERR  | 2              | 0                                      |
		+-----------------+------------+----------+----------------+----------------------------------------+

		Example::

		 # cat error_other_ue
		 880807001e004010401040101500000001004010401040100c0000000000000000000000000000000000000000000000

		The detail of each sysfs entries is as below:

		+-------------+---------------------------------------------------------+----------------------------------+
		|   Error     |                   Sysfs entry                           |   Description (when triggered)   |
		+-------------+---------------------------------------------------------+----------------------------------+
		| Core's CE   | /sys/bus/platform/devices/smpro-errmon.*/error_core_ce  | Core has CE error                |
		+-------------+---------------------------------------------------------+----------------------------------+
		| Core's UE   | /sys/bus/platform/devices/smpro-errmon.*/error_core_ue  | Core has UE error                |
		+-------------+---------------------------------------------------------+----------------------------------+
		| Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ce   | Memory has CE error              |
		+-------------+---------------------------------------------------------+----------------------------------+
		| Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/error_mem_ue   | Memory has UE error              |
		+-------------+---------------------------------------------------------+----------------------------------+
		| PCIe's CE   | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ce  | any PCIe controller has CE error |
		+-------------+---------------------------------------------------------+----------------------------------+
		| PCIe's UE   | /sys/bus/platform/devices/smpro-errmon.*/error_pcie_ue  | any PCIe controller has UE error |
		+-------------+---------------------------------------------------------+----------------------------------+
		| Other's CE  | /sys/bus/platform/devices/smpro-errmon.*/error_other_ce | any other CE error               |
		+-------------+---------------------------------------------------------+----------------------------------+
		| Other's UE  | /sys/bus/platform/devices/smpro-errmon.*/error_other_ue | any other UE error               |
		+-------------+---------------------------------------------------------+----------------------------------+

		UE: Uncorrect-able Error
		CE: Correct-able Error

		For details, see section `3.3 Ampere (Vendor-Specific) Error Record Formats,
		Altra Family RAS Supplement`.


What:		/sys/bus/platform/devices/smpro-errmon.*/overflow_[core|mem|pcie|other]_[ce|ue]
KernelVersion:	6.1
Contact:	Quan Nguyen <quan@os.amperecomputing.com>
Description:
		(RO) Return the overflow status of each type HW error reported:

		  - 0      : No overflow
		  - 1      : There is an overflow and the oldest HW errors are dropped

		The detail of each sysfs entries is as below:

		+-------------+-----------------------------------------------------------+---------------------------------------+
		|   Overflow  |                   Sysfs entry                             |             Description               |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| Core's CE   | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ce | Core CE error overflow                |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| Core's UE   | /sys/bus/platform/devices/smpro-errmon.*/overflow_core_ue | Core UE error overflow                |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| Memory's CE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ce  | Memory CE error overflow              |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| Memory's UE | /sys/bus/platform/devices/smpro-errmon.*/overflow_mem_ue  | Memory UE error overflow              |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| PCIe's CE   | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ce | any PCIe controller CE error overflow |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| PCIe's UE   | /sys/bus/platform/devices/smpro-errmon.*/overflow_pcie_ue | any PCIe controller UE error overflow |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| Other's CE  | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ce| any other CE error overflow           |
		+-------------+-----------------------------------------------------------+---------------------------------------+
		| Other's UE  | /sys/bus/platform/devices/smpro-errmon.*/overflow_other_ue| other UE error overflow               |
		+-------------+-----------------------------------------------------------+---------------------------------------+

		where:

		  - UE: Uncorrect-able Error
		  - CE: Correct-able Error

What:		/sys/bus/platform/devices/smpro-errmon.*/[error|warn]_[smpro|pmpro]
KernelVersion:	6.1
Contact:	Quan Nguyen <quan@os.amperecomputing.com>
Description:
		(RO) Contains the internal firmware error/warning printed as hex format.

		The detail of each sysfs entries is as below:

		+---------------+------------------------------------------------------+--------------------------+
		|   Error       |                   Sysfs entry                        |        Description       |
		+---------------+------------------------------------------------------+--------------------------+
		| SMpro error   | /sys/bus/platform/devices/smpro-errmon.*/error_smpro | system has SMpro error   |
		+---------------+------------------------------------------------------+--------------------------+
		| SMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_smpro  | system has SMpro warning |
		+---------------+------------------------------------------------------+--------------------------+
		| PMpro error   | /sys/bus/platform/devices/smpro-errmon.*/error_pmpro | system has PMpro error   |
		+---------------+------------------------------------------------------+--------------------------+
		| PMpro warning | /sys/bus/platform/devices/smpro-errmon.*/warn_pmpro  | system has PMpro warning |
		+---------------+------------------------------------------------------+--------------------------+

		For details, see section `5.10 RAS Internal Error Register Definitions,
		Altra Family Soc BMC Interface Specification`.

What:		/sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot]
KernelVersion:	6.1
Contact:	Quan Nguyen <quan@os.amperecomputing.com>
Description:
		(RO) Contains the detail information in case of VRD/DIMM warning/hot events
		in hex format as below::

		    AAAA

		where:

		  - ``AAAA``: The event detail information data

		The detail of each sysfs entries is as below:

		+---------------+---------------------------------------------------------------+---------------------+
		|   Event       |                        Sysfs entry                            |     Description     |
		+---------------+---------------------------------------------------------------+---------------------+
		| VRD HOT       | /sys/bus/platform/devices/smpro-errmon.*/event_vrd_hot        | VRD Hot             |
		+---------------+---------------------------------------------------------------+---------------------+
		| VR Warn/Fault | /sys/bus/platform/devices/smpro-errmon.*/event_vrd_warn_fault | VR Warning or Fault |
		+---------------+---------------------------------------------------------------+---------------------+
		| DIMM HOT      | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_hot       | DIMM Hot            |
		+---------------+---------------------------------------------------------------+---------------------+

		For more details, see section `5.7 GPI Status Registers,
		Altra Family Soc BMC Interface Specification`.

What:		/sys/bus/platform/devices/smpro-misc.*/boot_progress
KernelVersion:	6.1
Contact:	Quan Nguyen <quan@os.amperecomputing.com>
Description:
		(RO) Contains the boot stages information in hex as format below::

		    AABBCCCCCCCC

		where:

		  - ``AA``      : The boot stages

		    - 00: SMpro firmware booting
		    - 01: PMpro firmware booting
		    - 02: ATF BL1 firmware booting
		    - 03: DDR initialization
		    - 04: DDR training report status
		    - 05: ATF BL2 firmware booting
		    - 06: ATF BL31 firmware booting
		    - 07: ATF BL32 firmware booting
		    - 08: UEFI firmware booting
		    - 09: OS booting

		  - ``BB``      : Boot status

		    - 00: Not started
		    - 01: Started
		    - 02: Completed without error
		    - 03: Failed.

		  - ``CCCCCCCC``: Boot status information defined for each boot stages

		For details, see section `5.11 Boot Stage Register Definitions`
		and section `6. Processor Boot Progress Codes, Altra Family Soc BMC
		Interface Specification`.


What:		/sys/bus/platform/devices/smpro-misc*/soc_power_limit
KernelVersion:	6.1
Contact:	Quan Nguyen <quan@os.amperecomputing.com>
Description:
		(RW) Contains the desired SoC power limit in Watt.
		Writes to this sysfs set the desired SoC power limit (W).
		Reads from this register return the current SoC power limit (W).
		The value ranges:

		  - Minimum: 120 W
		  - Maximum: Socket TDP power