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