blob: ddf70fbf9a21a791c9be0770f8ce5c68c48ddb22 [file] [log] [blame]
Sridevi Ramesh3ed96342018-01-15 05:14:37 -06001*** Settings ***
2Documentation This suite tests checkstop operations through HOST.
George Keishingbba33902018-06-06 13:39:27 -05003Resource ../../lib/utils.robot
4Resource ../../lib/openbmc_ffdc.robot
5Resource ../../lib/ras/host_utils.robot
Sandhya Somashekar839a0c22019-01-31 05:05:43 -06006Resource ../../lib/resource.robot
George Keishingbba33902018-06-06 13:39:27 -05007Resource ../../lib/state_manager.robot
8Resource ../../lib/openbmc_ffdc_methods.robot
9Resource ../../lib/boot_utils.robot
10Variables ../../lib/ras/variables.py
11Variables ../../data/variables.py
12Resource ../../lib/dump_utils.robot
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060013Resource ../../openpower/ras/ras_utils.robot
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060014
15Library DateTime
16Library OperatingSystem
17Library random
18Library Collections
19
20Suite Setup RAS Suite Setup
21Test Setup RAS Test Setup
22Test Teardown FFDC On Test Case Fail
23Suite Teardown RAS Suite Cleanup
24
25Force Tags Host_RAS
26*** Variables ***
27${stack_mode} normal
28
29*** Test Cases ***
30# Memory channel (MCACALIFIR) related error injection.
31
32Verify Recoverable Callout Handling For MCA With Threshold 1
33 [Documentation] Verify recoverable callout handling for MCACALIFIR with
34 ... threshold 1.
35 [Tags] Verify_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
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060039 Inject Recoverable Error With Threshold Limit
40 ... HOST ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060041
42Verify Recoverable Callout Handling For MCA With Threshold 32
43 [Documentation] Verify recoverable callout handling for MCACALIFIR with
44 ... threshold 32.
45 [Tags] Verify_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
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060049 Inject Recoverable Error With Threshold Limit
50 ... HOST ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060051
52# Memory buffer (MCIFIR) related error injection.
53
54Verify Recoverable Callout Handling For MCI With Threshold 1
55 [Documentation] Verify recoverable callout handling for mci with
56 ... threshold 1.
57 [Tags] Verify_Recoverable_Callout_Handling_For_MCI_With_Threshold_1
58
59 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} MCS_RECV1
60 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}mcifir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060061 Inject Recoverable Error With Threshold Limit
62 ... HOST ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060063
64# CAPP accelerator (CXAFIR) related error injection.
65
66Verify Recoverable Callout Handling For CXA With Threshold 5
67 [Documentation] Verify recoverable callout handling for CXA with
68 ... threshold 5.
69 [Tags] Verify_Recoverable_Callout_Handling_For_CXA_With_Threshold_5
70
71 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CXA_RECV5
72 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cxafir_th5
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060073 Inject Recoverable Error With Threshold Limit
74 ... HOST ${value[0]} ${value[1]} 5 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060075
76Verify Recoverable Callout Handling For CXA With Threshold 32
77 [Documentation] Verify recoverable callout handling for CXA with
78 ... threshold 32.
79 [Tags] Verify_Recoverable_Callout_Handling_For_CXA_With_Threshold_32
80
81 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CXA_RECV32
82 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cxafir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060083 Inject Recoverable Error With Threshold Limit
84 ... HOST ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060085
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060086
87# OBUSFIR related error injection.
88
89Verify Recoverable Callout Handling For OBUS With Threshold 32
90 [Documentation] Verify recoverable callout handling for OBUS with
91 ... threshold 32.
92 [Tags] Verify_Recoverable_Callout_Handling_For_OBUS_With_Threshold_32
93
94 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} OBUS_RECV32
95 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}obusfir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -060096 Inject Recoverable Error With Threshold Limit
97 ... HOST ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -060098
99# Nvidia graphics processing units (NPU0FIR) related error injection.
100
101Verify Recoverable Callout Handling For NPU0 With Threshold 32
102 [Documentation] Verify recoverable callout handling for NPU0 with
103 ... threshold 32.
104 [Tags] Verify_Recoverable_Callout_Handling_For_NPU0_With_Threshold_32
105
106 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NPU0_RECV32
107 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}npu0fir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600108 Inject Recoverable Error With Threshold Limit
109 ... HOST ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600110
111# Nest accelerator NXDMAENGFIR related error injection.
112
113Verify Recoverable Callout Handling For NXDMAENG With Threshold 1
114 [Documentation] Verify recoverable callout handling for NXDMAENG with
115 ... threshold 1.
116 [Tags] Verify_Recoverable_Callout_Handling_For_NXDMAENG_With_Threshold_1
117
118 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NX_RECV1
119 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}nxfir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600120 Inject Recoverable Error With Threshold Limit
121 ... HOST ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600122
123
124Verify Recoverable Callout Handling For NXDMAENG With Threshold 32
125 [Documentation] Verify recoverable callout handling for NXDMAENG with
126 ... threshold 32.
127 [Tags] Verify_Recoverable_Callout_Handling_For_NXDMAENG_With_Threshold_32
128
129 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NX_RECV32
130 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}nxfir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600131 Inject Recoverable Error With Threshold Limit
132 ... HOST ${value[0]} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600133
134
135# L2FIR related error injection.
136
137Verify Recoverable Callout Handling For L2FIR With Threshold 1
138 [Documentation] Verify recoverable callout handling for L2FIR with
139 ... threshold 1.
140 [Tags] Verify_Recoverable_Callout_Handling_For_L2FIR_With_Threshold_1
141
142 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L2FIR_RECV1
143 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
144 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l2fir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600145 Inject Recoverable Error With Threshold Limit
146 ... HOST ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600147
148Verify Recoverable Callout Handling For L2FIR With Threshold 32
149 [Documentation] Verify recoverable callout handling for L2FIR with
150 ... threshold 32.
151 [Tags] Verify_Recoverable_Callout_Handling_For_L2FIR_With_Threshold_32
152
153 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L2FIR_RECV32
154 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
155 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l2fir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600156 Inject Recoverable Error With Threshold Limit
157 ... HOST ${translated_fir} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600158
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600159
160# L3FIR related error injection.
161
162Verify Recoverable Callout Handling For L3FIR With Threshold 1
163 [Documentation] Verify recoverable callout handling for L3FIR with
164 ... threshold 1.
165 [Tags] Verify_Recoverable_Callout_Handling_For_L3FIR_With_Threshold_1
166
167 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L3FIR_RECV1
168 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
169 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l3fir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600170 Inject Recoverable Error With Threshold Limit
171 ... HOST ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600172
173Verify Recoverable Callout Handling For L3FIR With Threshold 32
174 [Documentation] Verify recoverable callout handling for L3FIR with
175 ... threshold 32.
176 [Tags] Verify_Recoverable_Callout_Handling_For_L3FIR_With_Threshold_32
177
178 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} L3FIR_RECV32
179 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
180 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}l3fir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600181 Inject Recoverable Error With Threshold Limit
182 ... HOST ${translated_fir} ${value[1]} 32 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600183
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600184
185# On chip controller (OCCFIR) related error injection.
186
187Verify Recoverable Callout Handling For OCC With Threshold 1
188 [Documentation] Verify recoverable callout handling for OCCFIR with
189 ... threshold 1.
190 [Tags] Verify_Recoverable_Callout_Handling_For_OCC_With_Threshold_1
191
192 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} OCCFIR_RECV1
193 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}occfir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600194 Inject Recoverable Error With Threshold Limit
195 ... HOST ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600196
197# Core management engine (CMEFIR) related error injection.
198
199Verify Recoverable Callout Handling For CMEFIR With Threshold 1
200 [Documentation] Verify recoverable callout handling for CMEFIR with
201 ... threshold 1.
202 [Tags] Verify_Recoverable_Callout_Handling_For_CMEFIR_With_Threshold_1
203
204 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} CMEFIR_RECV1
205 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
206 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}cmefir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600207 Inject Recoverable Error With Threshold Limit
208 ... HOST ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600209
210# Nest control vunit (NCUFIR) related error injection.
211
212Verify Recoverable Callout Handling For NCUFIR With Threshold 1
213 [Documentation] Verify recoverable callout handling for NCUFIR with
214 ... threshold 1.
215 [Tags] Verify_Recoverable_Callout_Handling_For_NCUFIR_With_Threshold_1
216
217 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} NCUFIR_RECV1
218 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
219 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}ncufir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600220 Inject Recoverable Error With Threshold Limit
221 ... HOST ${translated_fir} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600222
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600223
224# Core FIR related error injection.
225
226Verify Recoverable Callout Handling For CoreFIR With Threshold 5
227 [Documentation] Verify recoverable callout handling for CoreFIR with
228 ... threshold 5.
229 [Tags] Verify_Recoverable_Callout_Handling_For_CoreFIR_With_Threshold_5
230
231 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} COREFIR_RECV5
232 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
233 Disable CPU States Through HOST
234 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}corefir_th5
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600235 Inject Recoverable Error With Threshold Limit
236 ... HOST ${value[0]} ${value[1]} 5 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600237
238Verify Recoverable Callout Handling For CoreFIR With Threshold 1
239 [Documentation] Verify recoverable callout handling for CoreFIR with
240 ... threshold 1.
241 [Tags] Verify_Recoverable_Callout_CoreFIR_Handling_For_With_Threshold_1
242
243 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} COREFIR_RECV1
244 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EX
245 Disable CPU States Through HOST
246 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}corefir_th1
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600247 Inject Recoverable Error With Threshold Limit
248 ... HOST ${value[0]} ${value[1]} 1 ${value[2]} ${err_log_path}
Sridevi Ramesh3ed96342018-01-15 05:14:37 -0600249
250Verify Recoverable Callout Handling For EQFIR With Threshold 32
251 [Documentation] Verify recoverable callout handling for L3FIR with
252 ... threshold 32.
253 [Tags] Verify_Recoverable_Callout_Handling_For_EQFIR_With_Threshold_32
254
255 ${value}= Get From Dictionary ${ERROR_INJECT_DICT} EQFIR_RECV32
256 ${translated_fir}= Fetch FIR Address Translation Value ${value[0]} EQ
257 ${err_log_path}= Catenate ${RAS_LOG_DIR_PATH}eqfir_th32
Sridevi Ramesh1d85af02019-02-22 04:08:15 -0600258 Inject Recoverable Error With Threshold Limit
259 ... HOST ${translated_fir} ${value[1]} 32 ${value[2]} ${err_log_path}