Skip to content

Commit 1e3984c

Browse files
Sreekanth Reddy Kadapaladcrowell77
Sreekanth Reddy Kadapala
authored andcommitted
Clear boot status in SB_MSG reg before doing HRESET
Change-Id: I4bc5cdd5e9c46ac963a2f46344daa47cf2ebd67c STGD: 608723 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/c/hw/ekb/+/169960 Reviewed-by: Akhilesh S <[email protected]> Reviewed-by: Joseph J McGill <[email protected]> Tested-by: Jenkins Server <[email protected]> Tested-by: FSP CI Jenkins <[email protected]> Reviewed-by: Sandeep Korrapati <[email protected]> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/c/hostboot/+/169966 Reviewed-by: Jenkins Server <[email protected]> Reviewed-by: Daniel M Crowell <[email protected]> Tested-by: Daniel M Crowell <[email protected]>
1 parent 2d4f750 commit 1e3984c

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

src/import/chips/ocmb/odyssey/procedures/hwp/perv/poz_sbe_hreset.C

+30-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535

3636
using namespace scomt::poz;
3737

38-
3938
SCOMT_PERV_USE_FSXCOMP_FSXLOG_SB_CS;
4039
SCOMT_PERV_USE_FSXCOMP_FSXLOG_SB_MSG;
4140

@@ -82,6 +81,10 @@ ReturnCode poz_sbe_hreset(
8281
FAPI_INF("SBE is in NOT Runtime State");
8382
}
8483

84+
FAPI_INF("Clearing boot status in SB_MSG register before doing HRESET");
85+
SB_MSG.clearBit<0>();
86+
FAPI_TRY(SB_MSG.putCfam(i_target));
87+
8588
FAPI_INF("Resetting restart vector0 and vector1 ...");
8689
FAPI_TRY(SB_CS.getCfam(i_target));
8790
SB_CS.set_START_RESTART_VECTOR0(0);
@@ -110,13 +113,24 @@ ReturnCode poz_sbe_hreset(
110113
// bump count
111114
l_poll++;
112115

116+
if (!(l_poll <= i_boot_parms.max_polls))
117+
{
118+
FAPI_TRY(SB_CS.getCfam(i_target));
119+
120+
if (SB_CS.get_SECURE_DEBUG_MODE())
121+
{
122+
FAPI_ERR("SBE Boot failed since SDB is set");
123+
}
124+
}
125+
113126
// test for timeout
114127
FAPI_ASSERT((l_poll <= i_boot_parms.max_polls),
115128
fapi2::SBE_BOOT_CHECK_ERR_CFAM_PATH()
116129
.set_TARGET(i_target)
117130
.set_POLL_COUNT(i_boot_parms.max_polls)
118131
.set_POLL_DELAY(i_boot_parms.poll_delay_ns)
119132
.set_SB_CS(SB_CS)
133+
.set_SDB(SB_CS.get_SECURE_DEBUG_MODE())
120134
.set_SB_MSG(SB_MSG),
121135
//.set_BOOT_TYPE(l_check_for_runtime),
122136
"SBE did not Boot up prior to timeout!");
@@ -149,6 +163,10 @@ ReturnCode poz_sbe_hreset(
149163
FAPI_INF("SBE is in NOT Runtime State");
150164
}
151165

166+
FAPI_INF("Clearing boot status in SB_MSG register before doing HRESET");
167+
SB_MSG.clearBit<0>();
168+
FAPI_TRY(SB_MSG.putScom(i_target));
169+
152170
FAPI_INF("Resetting restart vector1 ...");
153171
FAPI_TRY(SB_CS.getScom(i_target));
154172
SB_CS.set_START_RESTART_VECTOR1(0);
@@ -176,13 +194,24 @@ ReturnCode poz_sbe_hreset(
176194
// bump count
177195
l_poll++;
178196

197+
if (!(l_poll <= i_boot_parms.max_polls))
198+
{
199+
FAPI_TRY(SB_CS.getScom(i_target));
200+
201+
if (SB_CS.get_SECURE_DEBUG_MODE())
202+
{
203+
FAPI_ERR("SBE Boot failed since SDB is set");
204+
}
205+
}
206+
179207
// test for timeout
180208
FAPI_ASSERT((l_poll <= i_boot_parms.max_polls),
181209
fapi2::SBE_BOOT_CHECK_ERR_SCOM_PATH()
182210
.set_TARGET(i_target)
183211
.set_POLL_COUNT(i_boot_parms.max_polls)
184212
.set_POLL_DELAY(i_boot_parms.poll_delay_ns)
185213
.set_SB_CS(SB_CS)
214+
.set_SDB(SB_CS.get_SECURE_DEBUG_MODE())
186215
.set_SB_MSG(SB_MSG),
187216
//.set_BOOT_TYPE(l_check_for_runtime),
188217
"SBE did not Boot up prior to timeout!");

src/import/chips/ocmb/odyssey/procedures/xml/error_info/ody_sbe_hreset_errors.xml

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
<ffdc>POLL_COUNT</ffdc>
3535
<ffdc>POLL_DELAY</ffdc>
3636
<ffdc>SB_CS</ffdc>
37+
<ffdc>SDB</ffdc>
3738
<ffdc>SB_MSG</ffdc>
3839
<callout>
3940
<target>TARGET</target>
@@ -54,6 +55,7 @@
5455
<ffdc>POLL_COUNT</ffdc>
5556
<ffdc>POLL_DELAY</ffdc>
5657
<ffdc>SB_CS</ffdc>
58+
<ffdc>SDB</ffdc>
5759
<ffdc>SB_MSG</ffdc>
5860
<callout>
5961
<target>TARGET</target>

0 commit comments

Comments
 (0)