diff --git a/lib/ras/host_utils.robot b/lib/ras/host_utils.robot
index 150debe..c5db391 100755
--- a/lib/ras/host_utils.robot
+++ b/lib/ras/host_utils.robot
@@ -230,11 +230,11 @@
     Delete Error Logs
 
     REST Power On  stack_mode=skip
-    Set Auto Reboot  1
 
     Gard Operations On OS  clear all
 
     REST Power Off
+    Set Auto Reboot  1
     Initiate Host Boot  wait=${0}
 
     Start SOL Console Logging   ${EXECDIR}/esol.log
diff --git a/openpower/ras/test_host_boot_ras.robot b/openpower/ras/test_host_boot_ras.robot
index 82e7cb3..09fbd92 100644
--- a/openpower/ras/test_host_boot_ras.robot
+++ b/openpower/ras/test_host_boot_ras.robot
@@ -25,11 +25,12 @@
 ${stack_mode}       normal
 
 *** Test Cases ***
-Verify Recoverable Callout Handling For MCA At Host Boot
+
+Verify Pdbg Recoverable Callout Handling For MCA During Host Boot
 
     [Documentation]  Verify recoverable callout handling for MCACALIFIR
     ...              using pdbg tool during Host Boot path.
-    [Tags]  Verify_Recoverable_Callout_Handling_For_MCA_At_Host_Boot
+    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_MCA_During_Host_Boot
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_RECV1
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir_th1
@@ -37,13 +38,12 @@
     Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
     ...  ${value[2]}  ${err_log_path}
 
-*** Comments ***
 #  Memory buffer (MCIFIR) related error injection.
 
-Verify Recoverable Callout Handling For MCI At Host Boot
+Verify Pdbg Recoverable Callout Handling For MCI During Host Boot
     [Documentation]  Verify recoverable callout handling for MCI
     ...              using pdbg tool during Host Boot path.
-    [Tags]  Verify_Recoverable_Callout_Handling_For_MCI_At_Host_Boot
+    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_MCI_During_Host_Boot
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_RECV1
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir_th1
@@ -52,10 +52,10 @@
     ...  ${value[2]}  ${err_log_path}
 
 
-Verify Recoverable Callout Handling For NXDMAENG At Host Boot
-    [Documentation]  Verify recoverable callout handling for  NXDMAENG with
+Verify Pdbg Recoverable Callout Handling For NXDMAENG During Host Boot
+    [Documentation]  Verify recoverable callout handling for  NXDMAENG
     ...              using pdbg tool during Host Boot path.
-    [Tags]  Verify_Recoverable_Callout_Handling_For_NXDMAENG_At_Host_Boot
+    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_NXDMAENG_During_Host_Boot
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_RECV1
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_th1
@@ -66,10 +66,10 @@
 
 #  L2FIR related error injection.
 
-Verify Recoverable Callout Handling For L2FIR At Host Boot
-    [Documentation]  Verify recoverable callout handling for L2FIR with
+Verify Pdbg Recoverable Callout Handling For L2FIR During Host Boot
+    [Documentation]  Verify recoverable callout handling for L2FIR
     ...              using pdbg tool during Host Boot path.
-    [Tags]  Verify_Recoverable_Callout_Handling_For_L2FIR_At_Host_Boot
+    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_L2FIR_During_Host_Boot
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_RECV1
     ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
@@ -81,10 +81,10 @@
 
 # On chip controller (OCCFIR) related error injection.
 
-Verify Recoverable Callout Handling For OCC At Host Boot
-    [Documentation]  Verify recoverable callout handling for OCCFIR with
+Verify Pdbg Recoverable Callout Handling For OCC During Host Boot
+    [Documentation]  Verify recoverable callout handling for OCCFIR
     ...              using pdbg tool during Host Boot path.
-    [Tags]  Verify_Recoverable_Callout_Handling_For_OCC_At_Host_Boot
+    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_OCC_During_Host_Boot
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  OCCFIR_RECV1
     ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}occfir_th1
@@ -95,10 +95,10 @@
 
 # Nest control vunit (NCUFIR) related error injection.
 
-Verify Pdbg Recoverable Callout Handling For NCUFIR At Host Boot
+Verify Pdbg Recoverable Callout Handling For NCUFIR During Host Boot
     [Documentation]  Verify recoverable callout handling for NCUFIR
     ...              using pdbg tool during Host Boot path.
-    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_NCUFIR_At_Host_Boot
+    [Tags]  Verify_Pdbg_Recoverable_Callout_Handling_For_NCUFIR_During_Host_Boot
 
     ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NCUFIR_RECV1
     ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
@@ -106,3 +106,88 @@
 
     Inject Error At HOST Boot Path  ${translated_fir}  ${value[1]}
     ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For NCUFIR During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for NCUFIR
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NCUFIR_During_Host_Boot
+
+    ${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 Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For L3FIR During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for L3FIR
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L3FIR_During_Host_Boot
+
+    ${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 Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For L2FIR During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for L2FIR
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_L2FIR_During_Host_Boot
+
+    ${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 Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For NXDMAENG During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for NXDMAENG
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_NXDMAENG_During_Host_Boot
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  NX_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}nxfir_ue
+    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For CXA During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for CXAFIR
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CXA_During_Host_Boot
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  CXA_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}cxafir_ue
+    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For MCA During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for MCACALIFIR
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCA_During_Host_Boot
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCACALIFIR_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcacalfir
+    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For MCI During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for MCI
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_MCI_During_Host_Boot
+
+    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  MCI_UE
+    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}mcifir
+    Inject Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
+
+Verify Pdbg Unrecoverable Callout Handling For CoreFIR During Host Boot
+    [Documentation]  Verify unrecoverable callout handling for CoreFIR
+    ...              using pdbg tool during Host Boot path.
+    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_For_CoreFIR_During_Host_Boot
+
+    ${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 Error At HOST Boot Path  ${value[0]}  ${value[1]}
+    ...  ${value[2]}  ${err_log_path}
