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
22*6fb70d98SMatt FischerTest Tags          Host_Boot_RAS
233e2a3bdfSSridevi Ramesh
243e2a3bdfSSridevi Ramesh*** Variables ***
253e2a3bdfSSridevi Ramesh${stack_mode}       normal
263e2a3bdfSSridevi Ramesh
273e2a3bdfSSridevi Ramesh*** Test Cases ***
28b42a06e8SSridevi Ramesh
29b42a06e8SSridevi 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.
33b42a06e8SSridevi 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
43b42a06e8SSridevi 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.
46b42a06e8SSridevi 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
55b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For NXDMAENG During Host Boot
56b42a06e8SSridevi Ramesh    [Documentation]  Verify recoverable callout handling for  NXDMAENG
573e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
58b42a06e8SSridevi 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
69b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For L2FIR During Host Boot
70b42a06e8SSridevi Ramesh    [Documentation]  Verify recoverable callout handling for L2FIR
713e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
72b42a06e8SSridevi 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
84b42a06e8SSridevi RameshVerify Pdbg Recoverable Callout Handling For OCC During Host Boot
85b42a06e8SSridevi Ramesh    [Documentation]  Verify recoverable callout handling for OCCFIR
863e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
87b42a06e8SSridevi 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
98b42a06e8SSridevi 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.
101b42a06e8SSridevi 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}
109b42a06e8SSridevi Ramesh
110b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For NCUFIR During Host Boot
111b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for NCUFIR
112b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
113b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NCUFIR_During_Host_Boot
114b42a06e8SSridevi Ramesh
115b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_UE
116b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
117b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_ue
118b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
119b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
120b42a06e8SSridevi Ramesh
121b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For L3FIR During Host Boot
122b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for L3FIR
123b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
124b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L3FIR_During_Host_Boot
125b42a06e8SSridevi Ramesh
126b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_UE
127b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
128b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_ue
129b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
130b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
131b42a06e8SSridevi Ramesh
132b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For L2FIR During Host Boot
133b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for L2FIR
134b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
135b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L2FIR_During_Host_Boot
136b42a06e8SSridevi Ramesh
137b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_UE
138b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
139b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_ue
140b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
141b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
142b42a06e8SSridevi Ramesh
143b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For CXA During Host Boot
144b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for CXAFIR
145b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
146b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CXA_During_Host_Boot
147b42a06e8SSridevi Ramesh
148b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_UE
149b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_ue
150b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
151b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
152b42a06e8SSridevi Ramesh
153b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For MCA During Host Boot
154b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for MCACALIFIR
155b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
156b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCA_During_Host_Boot
157b42a06e8SSridevi Ramesh
158b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_UE
159b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir
160b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
161b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
162b42a06e8SSridevi Ramesh
163b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For MCI During Host Boot
164b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for MCI
165b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
166b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCI_During_Host_Boot
167b42a06e8SSridevi Ramesh
168b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_UE
169b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir
170b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
171b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
172b42a06e8SSridevi Ramesh
173b42a06e8SSridevi RameshVerify Pdbg Unrecoverable Callout Handling For CoreFIR During Host Boot
174b42a06e8SSridevi Ramesh    [Documentation]  Verify unrecoverable callout handling for CoreFIR
175b42a06e8SSridevi Ramesh    ...              using pdbg tool during Host Boot path.
176b42a06e8SSridevi Ramesh    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CoreFIR_During_Host_Boot
177b42a06e8SSridevi Ramesh
178b42a06e8SSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  COREFIR_UE
179b42a06e8SSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
180b42a06e8SSridevi Ramesh    Disable CPU States Through HOST
181b42a06e8SSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_ue
182b42a06e8SSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
183b42a06e8SSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
184