blob: 305743b3aff6d99a7da2aab96830906ed15f6e20 [file] [log] [blame]
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -05001*** Settings ***
2Documentation This suite tests checkstop operations through BMC using
George Keishing0d947d62019-05-28 00:53:55 -05003... pdbg utility.
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -05004
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -05005Resource ../../lib/openbmc_ffdc.robot
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -05006Resource ../../lib/openbmc_ffdc_methods.robot
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -05007Resource ../../lib/openbmc_ffdc_utils.robot
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -05008Resource ../../openpower/ras/ras_utils.robot
9Variables ../../lib/ras/variables.py
10Variables ../../data/variables.py
11
12Library DateTime
13Library OperatingSystem
14Library random
15Library Collections
16
17Suite Setup RAS Suite Setup
18Test Setup RAS Test Setup
19Test Teardown FFDC On Test Case Fail
20Suite Teardown RAS Suite Cleanup
21
22Force Tags BMC_RAS
23
24*** Variables ***
25${stack_mode} normal
26
27
28*** Test Cases ***
29
30# Memory Controller Async (MCACALIFIR) related error injection.
31
32Verify Pdbg Recoverable Callout Handling For MCA With Threshold 1
33 [Documentation] Verify recoverable callout handling for MCACALIFIR
34 ... with threshold 1 using pdbg tool.
35 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_MCA_With_Threshold_1
36
37 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} MCACALIFIR_RECV1
38 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}mcacalfir_th1
39 Inject Recoverable Error With Threshold Limit
40 ... BMC ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
41
42Verify Pdbg Recoverable Callout Handling For MCA With Threshold 32
43 [Documentation] Verify recoverable callout handling for MCACALIFIR
44 ... with threshold 32 using pdbg tool.
45 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_MCA_With_Threshold_32
46
47 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} MCACALIFIR_RECV32
48 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}mcacalfir_th32
49 Inject Recoverable Error With Threshold Limit
50 ... BMC ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
51
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -050052Verify Pdbg Unrecoverable Callout Handling For MCA
53 [Documentation] Verify unrecoverable callout handling for MCACALIFIR
54 ... with pdbg tool.
55 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCA
56
57 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} MCACALIFIR_UE
58 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}mcacalfir
59 Inject Unrecoverable Error BMC
60 ... ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
61
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -050062# Memory controller Interface (MCIFIR) related error injection.
63
64Verify Pdbg Recoverable Callout Handling For MCI With Threshold 1
65 [Documentation] Verify recoverable callout handling for MCI
66 ... with threshold 1 using pdbg tool.
67 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_MCI_With_Threshold_1
68
69 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} MCI_RECV1
70 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}mcifir_th1
71 Inject Recoverable Error With Threshold Limit
72 ... BMC ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
73
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -050074Verify Pdbg Unrecoverable Callout Handling For MCI
75 [Documentation] Verify unrecoverable callout handling for mci
76 ... with pdbg tool.
77 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCI
78
79 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} MCI_UE
80 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}mcifir
81 Inject Unrecoverable Error BMC
82 ... ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
83
84
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -050085# CAPP accelerator (CXAFIR) related error injection.
86
87Verify Pdbg Recoverable Callout Handling For CXA With Threshold 5
88 [Documentation] Verify recoverable callout handling for CXA
89 ... with threshold 5 using pdbg tool.
90 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_CXA_With_Threshold_5
91
92 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CXA_RECV5
93 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cxafir_th5
94 Inject Recoverable Error With Threshold Limit
95 ... BMC ${value[0]} ${value[1]} 5 ${value[2]} ${err_log_path}
96
97Verify Pdbg Recoverable Callout Handling For CXA With Threshold 32
98 [Documentation] Verify recoverable callout handling for CXA
99 ... with threshold 32 using pdbg tool.
100 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_CXA_With_Threshold_32
101
102 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CXA_RECV32
103 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cxafir_th32
104 Inject Recoverable Error With Threshold Limit
105 ... BMC ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
106
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -0500107Verify Pdbg Unrecoverable Callout Handling For CXA
108 [Documentation] Verify unrecoverable callout handling for CXAFIR
109 ... with pdbg tool.
110 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_CXA
111
112 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CXA_UE
113 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cxafir_ue
114 Inject Unrecoverable Error BMC
115 ... ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -0500116
117# Optical BUS (OBUSFIR) related error injection.
118
119Verify Pdbg Recoverable Callout Handling For OBUS With Threshold 32
120 [Documentation] Verify recoverable callout handling for OBUS
121 ... with threshold 32 using pdbg tool.
122 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_OBUS_With_Threshold_32
123
124 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} OBUS_RECV32
125 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}obusfir_th32
126 Inject Recoverable Error With Threshold Limit
127 ... BMC ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
128
129# NVIDIA graphics processing units (NPU0FIR) related error injection.
130
131Verify Pdbg Recoverable Callout Handling For NPU0 With Threshold 32
132 [Documentation] Verify recoverable callout handling for NPU0
133 ... with threshold 32 using pdbg tool.
134 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_NPU0_With_Threshold_32
135
136 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NPU0_RECV32
137 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}npu0fir_th32
138 Inject Recoverable Error With Threshold Limit
139 ... BMC ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
140
141# NEST accelerator DMA Engine (NXDMAENGFIR) related error injection.
142
143Verify Pdbg Recoverable Callout Handling For NXDMAENG With Threshold 1
144 [Documentation] Verify recoverable callout handling for NXDMAENG
145 ... with threshold 1 using pdbg tool.
146 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_NXDMAENG_With_Threshold_1
147
148 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NX_RECV1
149 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}nxfir_th1
150 Inject Recoverable Error With Threshold Limit
151 ... BMC ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
152
153
154Verify Pdbg Recoverable Callout Handling For NXDMAENG With Threshold 32
155 [Documentation] Verify recoverable callout handling for NXDMAENG
156 ... with threshold 32 using pdbg tool.
157 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_NXDMAENG_With_Threshold_32
158
159 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NX_RECV32
160 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}nxfir_th32
161 Inject Recoverable Error With Threshold Limit
162 ... BMC ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
163
164
165# L2FIR related error injection.
166
167Verify Pdbg Recoverable Callout Handling For L2FIR With Threshold 1
168 [Documentation] Verify recoverable callout handling for L2FIR
169 ... with threshold 1 using pdbg tool.
170 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_L2FIR_With_Threshold_1
171
172 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L2FIR_RECV1
173 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
174 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l2fir_th1
175 Inject Recoverable Error With Threshold Limit
176 ... BMC ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
177
178Verify Pdbg Recoverable Callout Handling For L2FIR With Threshold 32
179 [Documentation] Verify recoverable callout handling for L2FIR
180 ... with threshold 32 using pdbg tool.
181 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_L2FIR_With_Threshold_32
182
183 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L2FIR_RECV32
184 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
185 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l2fir_th32
186 Inject Recoverable Error With Threshold Limit
187 ... BMC ${translated_fir} ${value[1]} 32 ${value[2]} ${err_log_path}
188
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -0500189Verify Pdbg Unrecoverable Callout Handling For L2FIR
190 [Documentation] Verify unrecoverable callout handling for L2FIR
191 ... with pdbg tool.
192 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_L2FIR
193
194 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L2FIR_UE
195 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
196 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l2fir_ue
197 Inject Unrecoverable Error BMC
198 ... ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
199
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -0500200# L3FIR related error injection.
201
202Verify Pdbg Recoverable Callout Handling For L3FIR With Threshold 1
203 [Documentation] Verify recoverable callout handling for L3FIR
204 ... with threshold 1 using pdbg tool.
205 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_L3FIR_With_Threshold_1
206
207 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L3FIR_RECV1
208 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
209 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l3fir_th1
210 Inject Recoverable Error With Threshold Limit
211 ... BMC ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
212
213Verify Pdbg Recoverable Callout Handling For L3FIR With Threshold 32
214 [Documentation] Verify recoverable callout handling for L3FIR
215 ... with threshold 32 using pdbg tool.
216 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_L3FIR_With_Threshold_32
217
218 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L3FIR_RECV32
219 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
220 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l3fir_th32
221 Inject Recoverable Error With Threshold Limit
222 ... BMC ${translated_fir} ${value[1]} 32 ${value[2]} ${err_log_path}
223
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -0500224Verify Pdbg Unrecoverable Callout Handling For L3FIR
225 [Documentation] Verify unrecoverable callout handling for L3FIR
226 ... with pdbg tool.
227 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_L3FIR
228
229 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L3FIR_UE
230 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
231 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l3fir_ue
232 Inject Unrecoverable Error BMC
233 ... ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
234
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -0500235# On chip controller (OCCFIR) related error injection.
236
237Verify Pdbg Recoverable Callout Handling For OCC With Threshold 1
238 [Documentation] Verify recoverable callout handling for OCCFIR
239 ... with threshold 1 using pdbg tool.
240 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_OCC_With_Threshold_1
241
242 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} OCCFIR_RECV1
243 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}occfir_th1
244 Inject Recoverable Error With Threshold Limit
245 ... BMC ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
246
247# Core management engine (CMEFIR) related error injection.
248
249Verify Pdbg Recoverable Callout Handling For CMEFIR With Threshold 1
250 [Documentation] Verify recoverable callout handling for CMEFIR
251 ... with threshold 1 using pdbg tool.
252 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_CMEFIR_With_Threshold_1
253
254 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CMEFIR_RECV1
255 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
256 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cmefir_th1
257 Inject Recoverable Error With Threshold Limit
258 ... BMC ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
259
260# Nest control vunit (NCUFIR) related error injection.
261
262Verify Pdbg Recoverable Callout Handling For NCUFIR With Threshold 1
263 [Documentation] Verify recoverable callout handling for NCUFIR
264 ... with threshold 1 using pdbg tool.
265 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_NCUFIR_With_Threshold_1
266
267 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NCUFIR_RECV1
268 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
269 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}ncufir_th1
270 Inject Recoverable Error With Threshold Limit
271 ... BMC ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
272
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -0500273Verify Pdbg Unrecoverable Callout Handling For NCUFIR
274 [Documentation] Verify unrecoverable callout handling for NCUFIR
275 ... with pdbg tool.
276 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_NCUFIR
277
278 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NCUFIR_UE
279 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
280 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}ncufir_ue
281 Inject Unrecoverable Error BMC
282 ... ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
283
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -0500284# Core FIR related error injection.
285
286Verify Pdbg Recoverable Callout Handling For CoreFIR With Threshold 5
287 [Documentation] Verify recoverable callout handling for CoreFIR
288 ... with threshold 5 using pdbg tool.
289 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_CoreFIR_With_Threshold_5
290
291 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} COREFIR_RECV5
292 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
293 Disable CPU States Through HOST
294 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}corefir_th5
295 Inject Recoverable Error With Threshold Limit
296 ... BMC ${value[0]} ${value[1]} 5 ${value[2]} ${err_log_path}
297
298Verify Pdbg Recoverable Callout Handling For CoreFIR With Threshold 1
299 [Documentation] Verify recoverable callout handling for CoreFIR
300 ... with threshold 1 using pdbg tool.
301 [Tags] Verify_Pdbg_Recoverable_Callout_CoreFIR_Handling_For_With_Threshold_1
302
303 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} COREFIR_RECV1
304 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
305 Disable CPU States Through HOST
306 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}corefir_th1
307 Inject Recoverable Error With Threshold Limit
308 ... BMC ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
309
Sridevi Ramesh9c6ec282019-03-25 03:35:46 -0500310Verify Pdbg Unrecoverable Callout Handling For CoreFIR
311 [Documentation] Verify unrecoverable callout handling for CoreFIR
312 ... with pdbg tool.
313 [Tags] Verify_Pdbg_Unrecoverable_Callout_Handling_For_CoreFIR
314
315 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} COREFIR_UE
316 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
317 Disable CPU States Through HOST
318 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}corefir_ue
319 Inject Unrecoverable Error BMC
320 ... ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
321
Sridevi Ramesh4adb3f22019-03-12 03:31:35 -0500322Verify Pdbg Recoverable Callout Handling For EQFIR With Threshold 32
323 [Documentation] Verify recoverable callout handling for L3FIR
324 ... with threshold 32 using pdbg tool.
325 [Tags] Verify_Pdbg_Recoverable_Callout_Handling_For_EQFIR_With_Threshold_32
326
327 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} EQFIR_RECV32
328 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EQ
329 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}eqfir_th32
330 Inject Recoverable Error With Threshold Limit
331 ... BMC ${translated_fir} ${value[1]} 32 ${value[2]} ${err_log_path}