13e2a3bdfSSridevi Ramesh*** Settings ***
23e2a3bdfSSridevi RameshDocumentation       This suite tests checkstop operations through BMC using
30d947d6cSGeorge Keishing...                 pdbg utility during HOST Boot path.
43e2a3bdfSSridevi Ramesh
53e2a3bdfSSridevi RameshResource            ../../lib/openbmc_ffdc.robot
63e2a3bdfSSridevi RameshResource            ../../lib/openbmc_ffdc_utils.robot
73e2a3bdfSSridevi RameshResource            ../../lib/openbmc_ffdc_methods.robot
83e2a3bdfSSridevi RameshResource            ../../openpower/ras/ras_utils.robot
93e2a3bdfSSridevi RameshVariables           ../../lib/ras/variables.py
103e2a3bdfSSridevi RameshVariables           ../../data/variables.py
113e2a3bdfSSridevi Ramesh
123e2a3bdfSSridevi RameshLibrary             DateTime
133e2a3bdfSSridevi RameshLibrary             OperatingSystem
143e2a3bdfSSridevi RameshLibrary             random
153e2a3bdfSSridevi RameshLibrary             Collections
163e2a3bdfSSridevi Ramesh
173e2a3bdfSSridevi RameshSuite Setup         RAS Suite Setup
183e2a3bdfSSridevi RameshTest Setup          RAS Test Setup
193e2a3bdfSSridevi RameshTest Teardown       FFDC On Test Case Fail
203e2a3bdfSSridevi RameshSuite Teardown      RAS Suite Cleanup
213e2a3bdfSSridevi Ramesh
223e2a3bdfSSridevi RameshForce Tags          Host_boot_RAS
233e2a3bdfSSridevi Ramesh
243e2a3bdfSSridevi Ramesh*** Variables ***
253e2a3bdfSSridevi Ramesh${stack_mode}       normal
263e2a3bdfSSridevi Ramesh
273e2a3bdfSSridevi Ramesh*** Test Cases ***
28*b42a06e8SSridevi Ramesh
29*b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For MCA During Host Boot
303e2a3bdfSSridevi Ramesh
313e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for MCACALIFIR
323e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
33*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_MCA_During_Host_Boot
343e2a3bdfSSridevi Ramesh
353e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_RECV1
363e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir_th1
373e2a3bdfSSridevi Ramesh
383e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
393e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
403e2a3bdfSSridevi Ramesh
413e2a3bdfSSridevi Ramesh#  Memory buffer (MCIFIR) related error injection.
423e2a3bdfSSridevi Ramesh
43*b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For MCI During Host Boot
443e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for MCI
453e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
46*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_MCI_During_Host_Boot
473e2a3bdfSSridevi Ramesh
483e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_RECV1
493e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir_th1
503e2a3bdfSSridevi Ramesh
513e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
523e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
533e2a3bdfSSridevi Ramesh
543e2a3bdfSSridevi Ramesh
55*b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For NXDMAENG During Host Boot
56*b42a06e8SSridevi Ramesh    [Documentation]  Verify recoverable callout handling for  NXDMAENG
573e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
58*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_NXDMAENG_During_Host_Boot
593e2a3bdfSSridevi Ramesh
603e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_RECV1
613e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_th1
623e2a3bdfSSridevi Ramesh
633e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
643e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
653e2a3bdfSSridevi Ramesh
663e2a3bdfSSridevi Ramesh
673e2a3bdfSSridevi Ramesh#  L2FIR related error injection.
683e2a3bdfSSridevi Ramesh
69*b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For L2FIR During Host Boot
70*b42a06e8SSridevi Ramesh    [Documentation]  Verify recoverable callout handling for L2FIR
713e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
72*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_L2FIR_During_Host_Boot
733e2a3bdfSSridevi Ramesh
743e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_RECV1
753e2a3bdfSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
763e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_th1
773e2a3bdfSSridevi Ramesh
783e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${translated_fir}  ${value[1]}
793e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
803e2a3bdfSSridevi Ramesh
813e2a3bdfSSridevi Ramesh
823e2a3bdfSSridevi Ramesh# On chip controller (OCCFIR) related error injection.
833e2a3bdfSSridevi Ramesh
84*b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For OCC During Host Boot
85*b42a06e8SSridevi Ramesh    [Documentation]  Verify recoverable callout handling for OCCFIR
863e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
87*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_OCC_During_Host_Boot
883e2a3bdfSSridevi Ramesh
893e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  OCCFIR_RECV1
903e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}occfir_th1
913e2a3bdfSSridevi Ramesh
923e2a3bdfSSridevi Ramesh
933e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
943e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
953e2a3bdfSSridevi Ramesh
963e2a3bdfSSridevi Ramesh# Nest control vunit (NCUFIR) related error injection.
973e2a3bdfSSridevi Ramesh
98*b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For NCUFIR During Host Boot
993e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for NCUFIR
1003e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
101*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_NCUFIR_During_Host_Boot
1023e2a3bdfSSridevi Ramesh
1033e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_RECV1
1043e2a3bdfSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
1053e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_th1
1063e2a3bdfSSridevi Ramesh
1073e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${translated_fir}  ${value[1]}
1083e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
109*b42a06e8SSridevi Ramesh
110*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For NCUFIR During Host Boot
111*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for NCUFIR
112*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
113*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NCUFIR_During_Host_Boot
114*b42a06e8SSridevi Ramesh
115*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_UE
116*b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
117*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_ue
118*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
119*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
120*b42a06e8SSridevi Ramesh
121*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For L3FIR During Host Boot
122*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for L3FIR
123*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
124*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L3FIR_During_Host_Boot
125*b42a06e8SSridevi Ramesh
126*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_UE
127*b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
128*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_ue
129*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
130*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
131*b42a06e8SSridevi Ramesh
132*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For L2FIR During Host Boot
133*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for L2FIR
134*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
135*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L2FIR_During_Host_Boot
136*b42a06e8SSridevi Ramesh
137*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_UE
138*b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
139*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_ue
140*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
141*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
142*b42a06e8SSridevi Ramesh
143*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For NXDMAENG During Host Boot
144*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for NXDMAENG
145*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
146*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NXDMAENG_During_Host_Boot
147*b42a06e8SSridevi Ramesh
148*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_UE
149*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_ue
150*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
151*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
152*b42a06e8SSridevi Ramesh
153*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For CXA During Host Boot
154*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for CXAFIR
155*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
156*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CXA_During_Host_Boot
157*b42a06e8SSridevi Ramesh
158*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_UE
159*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_ue
160*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
161*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
162*b42a06e8SSridevi Ramesh
163*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For MCA During Host Boot
164*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for MCACALIFIR
165*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
166*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCA_During_Host_Boot
167*b42a06e8SSridevi Ramesh
168*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_UE
169*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir
170*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
171*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
172*b42a06e8SSridevi Ramesh
173*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For MCI During Host Boot
174*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for MCI
175*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
176*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCI_During_Host_Boot
177*b42a06e8SSridevi Ramesh
178*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_UE
179*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir
180*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
181*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
182*b42a06e8SSridevi Ramesh
183*b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For CoreFIR During Host Boot
184*b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for CoreFIR
185*b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
186*b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CoreFIR_During_Host_Boot
187*b42a06e8SSridevi Ramesh
188*b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  COREFIR_UE
189*b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
190*b42a06e8SSridevi Ramesh    Disable CPU States Through HOST
191*b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_ue
192*b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
193*b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
194