1*3e2a3bdfSSridevi Ramesh*** Settings ***
2*3e2a3bdfSSridevi RameshDocumentation       This suite tests checkstop operations through BMC using
3*3e2a3bdfSSridevi Ramesh                    pdbg utility during HOST Boot path.
4*3e2a3bdfSSridevi Ramesh
5*3e2a3bdfSSridevi RameshResource            ../../lib/openbmc_ffdc.robot
6*3e2a3bdfSSridevi RameshResource            ../../lib/openbmc_ffdc_utils.robot
7*3e2a3bdfSSridevi RameshResource            ../../lib/openbmc_ffdc_methods.robot
8*3e2a3bdfSSridevi RameshResource            ../../openpower/ras/ras_utils.robot
9*3e2a3bdfSSridevi RameshVariables           ../../lib/ras/variables.py
10*3e2a3bdfSSridevi RameshVariables           ../../data/variables.py
11*3e2a3bdfSSridevi Ramesh
12*3e2a3bdfSSridevi RameshLibrary             DateTime
13*3e2a3bdfSSridevi RameshLibrary             OperatingSystem
14*3e2a3bdfSSridevi RameshLibrary             random
15*3e2a3bdfSSridevi RameshLibrary             Collections
16*3e2a3bdfSSridevi Ramesh
17*3e2a3bdfSSridevi RameshSuite Setup         RAS Suite Setup
18*3e2a3bdfSSridevi RameshTest Setup          RAS Test Setup
19*3e2a3bdfSSridevi RameshTest Teardown       FFDC On Test Case Fail
20*3e2a3bdfSSridevi RameshSuite Teardown      RAS Suite Cleanup
21*3e2a3bdfSSridevi Ramesh
22*3e2a3bdfSSridevi RameshForce Tags          Host_boot_RAS
23*3e2a3bdfSSridevi Ramesh
24*3e2a3bdfSSridevi Ramesh*** Variables ***
25*3e2a3bdfSSridevi Ramesh${stack_mode}       normal
26*3e2a3bdfSSridevi Ramesh
27*3e2a3bdfSSridevi Ramesh*** Test Cases ***
28*3e2a3bdfSSridevi RameshVerify Recoverable Callout Handling For MCA At Host Boot
29*3e2a3bdfSSridevi Ramesh
30*3e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for MCACALIFIR
31*3e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
32*3e2a3bdfSSridevi Ramesh    [Tags]  Verify_Recoverable_Callout_Handling_For_MCA_At_Host_Boot
33*3e2a3bdfSSridevi Ramesh
34*3e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_RECV1
35*3e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir_th1
36*3e2a3bdfSSridevi Ramesh
37*3e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
38*3e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
39*3e2a3bdfSSridevi Ramesh
40*3e2a3bdfSSridevi Ramesh*** Comments ***
41*3e2a3bdfSSridevi Ramesh#  Memory buffer (MCIFIR) related error injection.
42*3e2a3bdfSSridevi Ramesh
43*3e2a3bdfSSridevi RameshVerify Recoverable Callout Handling For MCI At Host Boot
44*3e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for MCI
45*3e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
46*3e2a3bdfSSridevi Ramesh    [Tags]  Verify_Recoverable_Callout_Handling_For_MCI_At_Host_Boot
47*3e2a3bdfSSridevi Ramesh
48*3e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_RECV1
49*3e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir_th1
50*3e2a3bdfSSridevi Ramesh
51*3e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
52*3e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
53*3e2a3bdfSSridevi Ramesh
54*3e2a3bdfSSridevi Ramesh
55*3e2a3bdfSSridevi RameshVerify Recoverable Callout Handling For NXDMAENG At Host Boot
56*3e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for  NXDMAENG with
57*3e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
58*3e2a3bdfSSridevi Ramesh    [Tags]  Verify_Recoverable_Callout_Handling_For_NXDMAENG_At_Host_Boot
59*3e2a3bdfSSridevi Ramesh
60*3e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_RECV1
61*3e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_th1
62*3e2a3bdfSSridevi Ramesh
63*3e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
64*3e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
65*3e2a3bdfSSridevi Ramesh
66*3e2a3bdfSSridevi Ramesh
67*3e2a3bdfSSridevi Ramesh#  L2FIR related error injection.
68*3e2a3bdfSSridevi Ramesh
69*3e2a3bdfSSridevi RameshVerify Recoverable Callout Handling For L2FIR At Host Boot
70*3e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for L2FIR with
71*3e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
72*3e2a3bdfSSridevi Ramesh    [Tags]  Verify_Recoverable_Callout_Handling_For_L2FIR_At_Host_Boot
73*3e2a3bdfSSridevi Ramesh
74*3e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_RECV1
75*3e2a3bdfSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
76*3e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_th1
77*3e2a3bdfSSridevi Ramesh
78*3e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${translated_fir}  ${value[1]}
79*3e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
80*3e2a3bdfSSridevi Ramesh
81*3e2a3bdfSSridevi Ramesh
82*3e2a3bdfSSridevi Ramesh# On chip controller (OCCFIR) related error injection.
83*3e2a3bdfSSridevi Ramesh
84*3e2a3bdfSSridevi RameshVerify Recoverable Callout Handling For OCC At Host Boot
85*3e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for OCCFIR with
86*3e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
87*3e2a3bdfSSridevi Ramesh    [Tags]  Verify_Recoverable_Callout_Handling_For_OCC_At_Host_Boot
88*3e2a3bdfSSridevi Ramesh
89*3e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  OCCFIR_RECV1
90*3e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}occfir_th1
91*3e2a3bdfSSridevi Ramesh
92*3e2a3bdfSSridevi Ramesh
93*3e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
94*3e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
95*3e2a3bdfSSridevi Ramesh
96*3e2a3bdfSSridevi Ramesh# Nest control vunit (NCUFIR) related error injection.
97*3e2a3bdfSSridevi Ramesh
98*3e2a3bdfSSridevi RameshVerify Pdbg Recoverable Callout Handling For NCUFIR At Host Boot
99*3e2a3bdfSSridevi Ramesh    [Documentation]  Verify recoverable callout handling for NCUFIR
100*3e2a3bdfSSridevi Ramesh    ...              using pdbg tool during Host Boot path.
101*3e2a3bdfSSridevi Ramesh    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_NCUFIR_At_Host_Boot
102*3e2a3bdfSSridevi Ramesh
103*3e2a3bdfSSridevi Ramesh    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_RECV1
104*3e2a3bdfSSridevi Ramesh    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
105*3e2a3bdfSSridevi Ramesh    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_th1
106*3e2a3bdfSSridevi Ramesh
107*3e2a3bdfSSridevi Ramesh    Inject Error At HOST Boot Path  ${translated_fir}  ${value[1]}
108*3e2a3bdfSSridevi Ramesh    ...  ${value[2]}  ${err_log_path}
109