1bba33901SGeorge Keishing*** Settings ***
2bba33901SGeorge KeishingDocumentation       This suite tests checkstop operations through HOST.
3*9c6ec28cSSridevi Ramesh
4bba33901SGeorge KeishingResource            ../../lib/openbmc_ffdc.robot
5*9c6ec28cSSridevi RameshResource            ../../lib/openbmc_ffdc_utils.robot
6bba33901SGeorge KeishingResource            ../../lib/openbmc_ffdc_methods.robot
71d85af0bSSridevi RameshResource            ../../openpower/ras/ras_utils.robot
84adb3f21SSridevi RameshVariables           ../../lib/ras/variables.py
94adb3f21SSridevi RameshVariables           ../../data/variables.py
10bba33901SGeorge Keishing
11bba33901SGeorge KeishingLibrary             DateTime
12bba33901SGeorge KeishingLibrary             OperatingSystem
13bba33901SGeorge KeishingLibrary             random
14bba33901SGeorge KeishingLibrary             Collections
15bba33901SGeorge Keishing
16bba33901SGeorge KeishingSuite Setup         RAS Suite Setup
17bba33901SGeorge KeishingTest Setup          RAS Test Setup
18bba33901SGeorge KeishingTest Teardown       FFDC On Test Case Fail
19bba33901SGeorge KeishingSuite Teardown      RAS Suite Cleanup
20bba33901SGeorge Keishing
21bba33901SGeorge KeishingForce Tags          Host_RAS
22*9c6ec28cSSridevi Ramesh
23bba33901SGeorge Keishing*** Variables ***
24bba33901SGeorge Keishing${stack_mode}       normal
25bba33901SGeorge Keishing
26bba33901SGeorge Keishing*** Test Cases ***
27bba33901SGeorge Keishing# Memory channel (MCACALIFIR) related error injection.
28bba33901SGeorge Keishing
29bba33901SGeorge KeishingVerify Recoverable Callout Handling For MCA With Threshold 1
30bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for MCACALIFIR with
31bba33901SGeorge Keishing    ...              threshold 1.
32bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_MCA_With_Threshold_1
33bba33901SGeorge Keishing
34bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_RECV1
35bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir_th1
361d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
371d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
38bba33901SGeorge Keishing
39bba33901SGeorge KeishingVerify Recoverable Callout Handling For MCA With Threshold 32
40bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for MCACALIFIR with
41bba33901SGeorge Keishing    ...              threshold 32.
42bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_MCA_With_Threshold_32
43bba33901SGeorge Keishing
44bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_RECV32
45bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir_th32
461d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
471d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
48bba33901SGeorge Keishing
495f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For MCA
505f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for MCACALIFIR.
515f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_MCA
525f9fee5bSSridevi Ramesh
535f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_UE
545f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir
55*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
565f9fee5bSSridevi Ramesh    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
575f9fee5bSSridevi Ramesh
58bba33901SGeorge Keishing#  Memory buffer (MCIFIR) related error injection.
59bba33901SGeorge Keishing
60bba33901SGeorge KeishingVerify Recoverable Callout Handling For MCI With Threshold 1
61bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for mci with
62bba33901SGeorge Keishing    ...              threshold 1.
63bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_MCI_With_Threshold_1
64bba33901SGeorge Keishing
654adb3f21SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_RECV1
66bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir_th1
671d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
681d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
69bba33901SGeorge Keishing
705f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For MCI
715f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for mci.
725f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_MCI
735f9fee5bSSridevi Ramesh
744adb3f21SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_UE
755f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir
76*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
775f9fee5bSSridevi Ramesh    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
785f9fee5bSSridevi Ramesh
79bba33901SGeorge Keishing# CAPP accelerator (CXAFIR) related error injection.
80bba33901SGeorge Keishing
81bba33901SGeorge KeishingVerify Recoverable Callout Handling For CXA With Threshold 5
82bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for  CXA with
83bba33901SGeorge Keishing    ...              threshold 5.
84bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_CXA_With_Threshold_5
85bba33901SGeorge Keishing
86bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_RECV5
87bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_th5
881d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
891d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  5  ${value[2]}  ${err_log_path}
90bba33901SGeorge Keishing
91bba33901SGeorge KeishingVerify Recoverable Callout Handling For CXA With Threshold 32
92bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for  CXA with
93bba33901SGeorge Keishing    ...              threshold 32.
94bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_CXA_With_Threshold_32
95bba33901SGeorge Keishing
96bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_RECV32
97bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_th32
981d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
991d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
100bba33901SGeorge Keishing
1015f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For CXA
1025f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for CXAFIR.
1035f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_CXA
1045f9fee5bSSridevi Ramesh
1055f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_UE
1065f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_ue
107*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
1085f9fee5bSSridevi Ramesh    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
1095f9fee5bSSridevi Ramesh
110bba33901SGeorge Keishing
111bba33901SGeorge Keishing#  OBUSFIR  related error injection.
112bba33901SGeorge Keishing
113bba33901SGeorge KeishingVerify Recoverable Callout Handling For OBUS With Threshold 32
114bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for  OBUS with
115bba33901SGeorge Keishing    ...              threshold 32.
116bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_OBUS_With_Threshold_32
117bba33901SGeorge Keishing
118bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  OBUS_RECV32
119bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}obusfir_th32
1201d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
1211d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
122bba33901SGeorge Keishing
123bba33901SGeorge Keishing# Nvidia graphics processing units (NPU0FIR) related error injection.
124bba33901SGeorge Keishing
125bba33901SGeorge KeishingVerify Recoverable Callout Handling For NPU0 With Threshold 32
126bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for  NPU0 with
127bba33901SGeorge Keishing    ...              threshold 32.
128bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_NPU0_With_Threshold_32
129bba33901SGeorge Keishing
130bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NPU0_RECV32
131bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}npu0fir_th32
1321d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
1331d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
134bba33901SGeorge Keishing
135bba33901SGeorge Keishing#  Nest accelerator NXDMAENGFIR related error injection.
136bba33901SGeorge Keishing
137bba33901SGeorge KeishingVerify Recoverable Callout Handling For NXDMAENG With Threshold 1
138bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for  NXDMAENG with
139bba33901SGeorge Keishing    ...              threshold 1.
140bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_NXDMAENG_With_Threshold_1
141bba33901SGeorge Keishing
142bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_RECV1
143bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_th1
1441d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
1451d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
146bba33901SGeorge Keishing
147bba33901SGeorge Keishing
148bba33901SGeorge KeishingVerify Recoverable Callout Handling For NXDMAENG With Threshold 32
149bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for  NXDMAENG with
150bba33901SGeorge Keishing    ...              threshold 32.
151bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_NXDMAENG_With_Threshold_32
152bba33901SGeorge Keishing
153bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_RECV32
154bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_th32
1551d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
1561d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
157bba33901SGeorge Keishing
1585f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For NXDMAENG
1595f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for NXDMAENG.
1605f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_NXDMAENG
1615f9fee5bSSridevi Ramesh
1625f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_UE
1635f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_ue
164*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
1655f9fee5bSSridevi Ramesh    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
166bba33901SGeorge Keishing
167bba33901SGeorge Keishing#  L2FIR related error injection.
168bba33901SGeorge Keishing
169bba33901SGeorge KeishingVerify Recoverable Callout Handling For L2FIR With Threshold 1
170bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for L2FIR with
171bba33901SGeorge Keishing    ...              threshold 1.
172bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_L2FIR_With_Threshold_1
173bba33901SGeorge Keishing
174bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_RECV1
175bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
176bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_th1
1771d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
1781d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
179bba33901SGeorge Keishing
180bba33901SGeorge KeishingVerify Recoverable Callout Handling For L2FIR With Threshold 32
181bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for L2FIR with
182bba33901SGeorge Keishing    ...              threshold 32.
183bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_L2FIR_With_Threshold_32
184bba33901SGeorge Keishing
185bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_RECV32
186bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
187bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_th32
1881d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
1891d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  32  ${value[2]}  ${err_log_path}
190bba33901SGeorge Keishing
1915f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For L2FIR
1925f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for L2FIR.
1935f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_L2FIR
1945f9fee5bSSridevi Ramesh
1955f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_UE
1965f9fee5bSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
1975f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_ue
198*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
1995f9fee5bSSridevi Ramesh    ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
2005f9fee5bSSridevi Ramesh
201bba33901SGeorge Keishing
202bba33901SGeorge Keishing#  L3FIR related error injection.
203bba33901SGeorge Keishing
204bba33901SGeorge KeishingVerify Recoverable Callout Handling For L3FIR With Threshold 1
205bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for L3FIR with
206bba33901SGeorge Keishing    ...              threshold 1.
207bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_L3FIR_With_Threshold_1
208bba33901SGeorge Keishing
209bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_RECV1
210bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
211bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_th1
2121d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
2131d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
214bba33901SGeorge Keishing
215bba33901SGeorge KeishingVerify Recoverable Callout Handling For L3FIR With Threshold 32
216bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for L3FIR with
217bba33901SGeorge Keishing    ...              threshold 32.
218bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_L3FIR_With_Threshold_32
219bba33901SGeorge Keishing
220bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_RECV32
221bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
222bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_th32
2231d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
2241d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  32  ${value[2]}  ${err_log_path}
225bba33901SGeorge Keishing
2265f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For L3FIR
2275f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for L3FIR.
2285f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_L3FIR
2295f9fee5bSSridevi Ramesh
2305f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_UE
2315f9fee5bSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
2325f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_ue
233*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
2345f9fee5bSSridevi Ramesh    ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
2355f9fee5bSSridevi Ramesh
236bba33901SGeorge Keishing
237bba33901SGeorge Keishing# On chip controller (OCCFIR) related error injection.
238bba33901SGeorge Keishing
239bba33901SGeorge KeishingVerify Recoverable Callout Handling For OCC With Threshold 1
240bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for OCCFIR with
241bba33901SGeorge Keishing    ...              threshold 1.
242bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_OCC_With_Threshold_1
243bba33901SGeorge Keishing
244bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  OCCFIR_RECV1
245bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}occfir_th1
2461d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
2471d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
248bba33901SGeorge Keishing
249bba33901SGeorge Keishing# Core management engine (CMEFIR) related error injection.
250bba33901SGeorge Keishing
251bba33901SGeorge KeishingVerify Recoverable Callout Handling For CMEFIR With Threshold 1
252bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for CMEFIR with
253bba33901SGeorge Keishing    ...              threshold 1.
254bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_CMEFIR_With_Threshold_1
255bba33901SGeorge Keishing
256bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CMEFIR_RECV1
257bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
258bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cmefir_th1
2591d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
2601d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
261bba33901SGeorge Keishing
262bba33901SGeorge Keishing# Nest control vunit (NCUFIR) related error injection.
263bba33901SGeorge Keishing
264bba33901SGeorge KeishingVerify Recoverable Callout Handling For NCUFIR With Threshold 1
265bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for NCUFIR with
266bba33901SGeorge Keishing    ...              threshold 1.
267bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_NCUFIR_With_Threshold_1
268bba33901SGeorge Keishing
269bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_RECV1
270bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
271bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_th1
2721d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
2731d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
274bba33901SGeorge Keishing
2755f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For NCUFIR
2765f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for NCUFIR.
2775f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_NCUFIR
2785f9fee5bSSridevi Ramesh
2795f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_UE
2805f9fee5bSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
2815f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_ue
282*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
2835f9fee5bSSridevi Ramesh    ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
2845f9fee5bSSridevi Ramesh
285bba33901SGeorge Keishing
286bba33901SGeorge Keishing# Core FIR related error injection.
287bba33901SGeorge Keishing
288bba33901SGeorge KeishingVerify Recoverable Callout Handling For CoreFIR With Threshold 5
289bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for CoreFIR with
290bba33901SGeorge Keishing    ...              threshold 5.
291bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_CoreFIR_With_Threshold_5
292bba33901SGeorge Keishing
293bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  COREFIR_RECV5
294bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
295bba33901SGeorge Keishing    Disable CPU States Through HOST
296bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_th5
2971d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
2981d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  5  ${value[2]}  ${err_log_path}
299bba33901SGeorge Keishing
300bba33901SGeorge KeishingVerify Recoverable Callout Handling For CoreFIR With Threshold 1
301bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for CoreFIR with
302bba33901SGeorge Keishing    ...              threshold 1.
303bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_CoreFIR_Handling_For_With_Threshold_1
304bba33901SGeorge Keishing
305bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  COREFIR_RECV1
306bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
307bba33901SGeorge Keishing    Disable CPU States Through HOST
308bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_th1
3091d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
3101d85af0bSSridevi Ramesh    ...  HOST  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
311bba33901SGeorge Keishing
3125f9fee5bSSridevi RameshVerify Unrecoverable Callout Handling For CoreFIR
3135f9fee5bSSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for CoreFIR.
3145f9fee5bSSridevi Ramesh    [Tags]  Verify_Unrecoverable_Callout_Handling_For_CoreFIR
3155f9fee5bSSridevi Ramesh
3165f9fee5bSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  COREFIR_UE
3175f9fee5bSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
3185f9fee5bSSridevi Ramesh    Disable CPU States Through HOST
3195f9fee5bSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_ue
320*9c6ec28cSSridevi Ramesh    Inject Unrecoverable Error  HOST
3215f9fee5bSSridevi Ramesh    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
3225f9fee5bSSridevi Ramesh
323bba33901SGeorge KeishingVerify Recoverable Callout Handling For EQFIR With Threshold 32
324bba33901SGeorge Keishing    [Documentation]  Verify recoverable callout handling for L3FIR with
325bba33901SGeorge Keishing    ...              threshold 32.
326bba33901SGeorge Keishing    [Tags]  Verify_Recoverable_Callout_Handling_For_EQFIR_With_Threshold_32
327bba33901SGeorge Keishing
328bba33901SGeorge Keishing    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  EQFIR_RECV32
329bba33901SGeorge Keishing    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EQ
330bba33901SGeorge Keishing    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}eqfir_th32
3311d85af0bSSridevi Ramesh    Inject Recoverable Error With Threshold Limit
3321d85af0bSSridevi Ramesh    ...  HOST  ${translated_fir}  ${value[1]}  32  ${value[2]}  ${err_log_path}
333