diff --git a/lib/ras/host_utils.robot b/lib/ras/host_utils.robot
old mode 100644
new mode 100755
index a9c52f6..bf989dd
--- a/lib/ras/host_utils.robot
+++ b/lib/ras/host_utils.robot
@@ -4,10 +4,11 @@
 Resource            ../../lib/utils.robot
 Variables           ../../lib/ras/variables.py
 Library             ../../lib/bmc_ssh_utils.py
-Library             OperatingSystem
 Library             ../../lib/gen_print.py
 Library             ../../lib/gen_robot_print.py
 
+Library             OperatingSystem
+
 *** Keywords ***
 
 Getscom Operations On OS
@@ -114,6 +115,7 @@
 
     Delete Error Logs
     Login To OS Host
+    Set Auto Reboot  1
     Gard Operations On OS  clear all
 
     # Fetch processor chip IDs.
@@ -197,6 +199,8 @@
 
     Delete Error Logs
     Login To OS Host
+    Set Auto Reboot  1
+
     Gard Operations On OS  clear all
 
     ${threshold_limit}=  Convert To Integer  ${threshold_limit}
diff --git a/openpower/ras/ras_utils.robot b/openpower/ras/ras_utils.robot
index 3bed3ca..2170b0b 100755
--- a/openpower/ras/ras_utils.robot
+++ b/openpower/ras/ras_utils.robot
@@ -1,9 +1,6 @@
 *** Settings ***
 Documentation       Utility for RAS test scenarios through HOST & BMC.
 Resource            ../../lib/utils.robot
-Resource            ../../lib/openbmc_ffdc.robot
-Resource            ../../lib/openbmc_ffdc_utils.robot
-Resource            ../../lib/openbmc_ffdc_methods.robot
 Resource            ../../lib/ras/host_utils.robot
 Resource            ../../lib/resource.robot
 Resource            ../../lib/state_manager.robot
@@ -49,12 +46,12 @@
 
 Inject Recoverable Error With Threshold Limit
     [Documentation]  Inject and verify recoverable error on processor through
-    ...              host.
+    ...              BMC/HOST.
     ...              Test sequence:
-    ...              1. Enable Auto Reboot Setting.
-    ...              2. Inject Error on processor/centaur.
-    ...              3. Check If HOST is running.
-    ...              4. Verify error log entry & signature description.
+    ...              1. Inject recoverable error on a given target
+    ...                 (e.g: Processor core, CAPP MCA) through BMC/HOST.
+    ...              2. Check If HOST is running.
+    ...              3. Verify error log entry & signature description.
     ...              4. Verify & clear gard records.
     [Arguments]      ${interface_type}  ${fir}  ${chip_address}  ${threshold_limit}
     ...              ${signature_desc}  ${log_prefix}
@@ -66,7 +63,6 @@
     # signature_desc      Error log signature description.
     # log_prefix          Log path prefix.
 
-    Set Auto Reboot  1
     Run Keyword If  '${interface_type}' == 'HOST'
     ...     Inject Error Through HOST  ${fir}  ${chip_address}  ${threshold_limit}
     ...     ${master_proc_chip}
@@ -81,19 +77,20 @@
     # TODO: Verify SOL console logs.
 
 
-Inject Unrecoverable Error Through Host
-    [Documentation]  Inject and verify recoverable error on processor through
-    ...              host.
+Inject Unrecoverable Error
+    [Documentation]  Inject and verify unrecoverable error on processor through
+    ...              BMC/HOST.
     ...              Test sequence:
-    ...              1. Enable Auto Reboot Setting.
-    ...              2. Inject Error on processor/centaur.
-    ...              3. Check If HOST is rebooted.
-    ...              4. Verify & clear gard records.
-    ...              5. Verify error log entry & signature description.
-    ...              6. Verify & clear dump entry.
-    [Arguments]      ${fir}  ${chip_address}  ${threshold_limit}
+    ...              1. Inject unrecoverable error on a given target
+    ...                 (e.g: Processor core, CAPP MCA) through BMC/HOST.
+    ...              2. Check If HOST is rebooted.
+    ...              3. Verify & clear gard records.
+    ...              4. Verify error log entry & signature description.
+    ...              5. Verify & clear dump entry.
+    [Arguments]      ${interface_type}  ${fir}  ${chip_address}  ${threshold_limit}
     ...              ${signature_desc}  ${log_prefix}
     # Description of argument(s):
+    # interface_type      Inject error through 'BMC' or 'HOST'.
     # fir                 FIR (Fault isolation register) value (e.g. 2011400).
     # chip_address        Chip address (e.g 2000000000000000).
     # threshold_limit     Threshold limit (e.g 1, 5, 32).
@@ -101,9 +98,13 @@
     #                     (e.g 'mcs(n0p0c0) (MCFIR[0]) mc internal recoverable')
     # log_prefix          Log path prefix.
 
-    Set Auto Reboot  1
-    Inject Error Through HOST  ${fir}  ${chip_address}  ${threshold_limit}
-    ...  ${master_proc_chip}
+    Run Keyword If  '${interface_type}' == 'HOST'
+    ...     Inject Error Through HOST  ${fir}  ${chip_address}  ${threshold_limit}
+    ...     ${master_proc_chip}
+    ...  ELSE
+    ...     Inject Error Through BMC  ${fir}  ${chip_address}  ${threshold_limit}
+    ...     ${master_proc_chip}
+
     Wait Until Keyword Succeeds  500 sec  20 sec  Is Host Rebooted
     Wait for OS
     Verify Error Log Entry  ${signature_desc}  ${log_prefix}
diff --git a/openpower/ras/test_bmc_ras.robot b/openpower/ras/test_bmc_ras.robot
index 960d2a7..2cfa1e3 100755
--- a/openpower/ras/test_bmc_ras.robot
+++ b/openpower/ras/test_bmc_ras.robot
@@ -2,14 +2,9 @@
 Documentation       This suite tests checkstop operations through BMC using
                     pdbg utility.
 
-Resource            ../../lib/utils.robot
 Resource            ../../lib/openbmc_ffdc.robot
-Resource            ../../lib/ras/host_utils.robot
-Resource            ../../lib/resource.robot
-Resource            ../../lib/state_manager.robot
 Resource            ../../lib/openbmc_ffdc_methods.robot
-Resource            ../../lib/boot_utils.robot
-Resource            ../../lib/dump_utils.robot
+Resource            ../../lib/openbmc_ffdc_utils.robot
 Resource            ../../openpower/ras/ras_utils.robot
 Variables           ../../lib/ras/variables.py
 Variables           ../../data/variables.py
@@ -54,6 +49,16 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For MCA
+    [Documentation]  Verify unrecoverable callout handling for MCACALIFIR
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCA
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir
+    Inject Unrecoverable Error  BMC
+    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
+
 #  Memory controller Interface (MCIFIR) related error injection.
 
 Verify Pdbg Recoverable Callout Handling For MCI With Threshold 1
@@ -66,6 +71,17 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For MCI
+    [Documentation]  Verify unrecoverable callout handling for mci
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCI
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir
+    Inject Unrecoverable Error  BMC
+    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
+
+
 # CAPP accelerator (CXAFIR) related error injection.
 
 Verify Pdbg Recoverable Callout Handling For CXA With Threshold 5
@@ -88,6 +104,15 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For CXA
+    [Documentation]  Verify unrecoverable callout handling for CXAFIR
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CXA
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_ue
+    Inject Unrecoverable Error  BMC
+    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 #  Optical BUS (OBUSFIR) related error injection.
 
@@ -136,6 +161,15 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${value[0]}  ${value[1]}  32  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For NXDMAENG
+    [Documentation]  Verify unrecoverable callout handling for NXDMAENG
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NXDMAENG
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_ue
+    Inject Unrecoverable Error  BMC
+    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 #  L2FIR related error injection.
 
@@ -161,6 +195,17 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${translated_fir}  ${value[1]}  32  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For L2FIR
+    [Documentation]  Verify unrecoverable callout handling for L2FIR
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L2FIR
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_UE
+    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_ue
+    Inject Unrecoverable Error  BMC
+    ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
+
 #  L3FIR related error injection.
 
 Verify Pdbg Recoverable Callout Handling For L3FIR With Threshold 1
@@ -185,6 +230,17 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${translated_fir}  ${value[1]}  32  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For L3FIR
+    [Documentation]  Verify unrecoverable callout handling for L3FIR
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L3FIR
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_UE
+    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_ue
+    Inject Unrecoverable Error  BMC
+    ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
+
 # On chip controller (OCCFIR) related error injection.
 
 Verify Pdbg Recoverable Callout Handling For OCC With Threshold 1
@@ -223,6 +279,17 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For NCUFIR
+    [Documentation]  Verify unrecoverable callout handling for NCUFIR
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NCUFIR
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_UE
+    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_ue
+    Inject Unrecoverable Error  BMC
+    ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
+
 # Core FIR related error injection.
 
 Verify Pdbg Recoverable Callout Handling For CoreFIR With Threshold 5
@@ -249,6 +316,18 @@
     Inject Recoverable Error With Threshold Limit
     ...  BMC  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
+Verify Pdbg Unrecoverable Callout Handling For CoreFIR
+    [Documentation]  Verify unrecoverable callout handling for CoreFIR
+    ...              with pdbg tool.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CoreFIR
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  COREFIR_UE
+    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
+    Disable CPU States Through HOST
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_ue
+    Inject Unrecoverable Error  BMC
+    ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
+
 Verify Pdbg Recoverable Callout Handling For EQFIR With Threshold 32
     [Documentation]  Verify recoverable callout handling for L3FIR
     ...              with threshold 32 using pdbg tool.
diff --git a/openpower/ras/test_host_ras.robot b/openpower/ras/test_host_ras.robot
index c8906f3..c7edfd9 100755
--- a/openpower/ras/test_host_ras.robot
+++ b/openpower/ras/test_host_ras.robot
@@ -1,13 +1,9 @@
 *** Settings ***
 Documentation       This suite tests checkstop operations through HOST.
-Resource            ../../lib/utils.robot
+
 Resource            ../../lib/openbmc_ffdc.robot
-Resource            ../../lib/ras/host_utils.robot
-Resource            ../../lib/resource.robot
-Resource            ../../lib/state_manager.robot
+Resource            ../../lib/openbmc_ffdc_utils.robot
 Resource            ../../lib/openbmc_ffdc_methods.robot
-Resource            ../../lib/boot_utils.robot
-Resource            ../../lib/dump_utils.robot
 Resource            ../../openpower/ras/ras_utils.robot
 Variables           ../../lib/ras/variables.py
 Variables           ../../data/variables.py
@@ -23,6 +19,7 @@
 Suite Teardown      RAS Suite Cleanup
 
 Force Tags          Host_RAS
+
 *** Variables ***
 ${stack_mode}       normal
 
@@ -55,7 +52,7 @@
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_UE
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 #  Memory buffer (MCIFIR) related error injection.
@@ -76,7 +73,7 @@
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_UE
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 # CAPP accelerator (CXAFIR) related error injection.
@@ -107,7 +104,7 @@
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_UE
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_ue
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 
@@ -164,7 +161,7 @@
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_UE
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_ue
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 #  L2FIR related error injection.
@@ -198,7 +195,7 @@
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_UE
     ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_ue
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 
@@ -233,7 +230,7 @@
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_UE
     ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_ue
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 
@@ -282,7 +279,7 @@
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_UE
     ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}ncufir_ue
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${translated_fir}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 
@@ -320,7 +317,7 @@
     ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
     Disable CPU States Through HOST
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}corefir_ue
-    Inject Unrecoverable Error Through Host
+    Inject Unrecoverable Error  HOST
     ...  ${value[0]}  ${value[1]}  1  ${value[2]}  ${err_log_path}
 
 Verify Recoverable Callout Handling For EQFIR With Threshold 32
