summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-04-09 12:30:22 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-10 15:54:44 -0400
commit4f32915aa1240d07bb2671010f95695ba5f306c3 (patch)
tree1a47694858b4089d6d0cc843b83fa65dddc352a1 /src/include/usr
parentb10263aeedd30c991c5b20926a3ac1a4f5a4c70f (diff)
downloadtalos-hostboot-4f32915aa1240d07bb2671010f95695ba5f306c3.tar.gz
talos-hostboot-4f32915aa1240d07bb2671010f95695ba5f306c3.zip
Clear perv scrach register prior to triggering HRESET
Before we initiate an HRESET we need to make sure that the perv scratch register that the SBE looks at during boot are all zeros. When these registers are zeros the SBE will ignore them and pull values from its own image. We need to do this because Hostboot will repurpose these registers after the SBE boots the first time so the data in the registers is no longer valid. It is okay for the SBE to pull the values from it's own image because during the IPL hostboot customized the SBE image with the correct values. Change-Id: I8b434d04cde3c384e35a3089a349a1d121b6b1dc RTC: 180242 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56959 Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> CI-Ready: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/sbeio/sbe_retry_handler.H15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/usr/sbeio/sbe_retry_handler.H b/src/include/usr/sbeio/sbe_retry_handler.H
index deef15c32..43bc9b84f 100644
--- a/src/include/usr/sbeio/sbe_retry_handler.H
+++ b/src/include/usr/sbeio/sbe_retry_handler.H
@@ -189,6 +189,21 @@ class SbeRetryHandler
#endif
/**
+ * @brief There are 8 scratch registers that the SBE will look at during initialization.
+ After we bring up the slave SBE in istep 8, hostboot will begin to repurpose
+ these registers. If we restart the SBE during runtime with HRESET the SBE will
+ look at these registers which hostboot has repurposed. We do not want the SBE
+ to use this data as it is no longer valid. If the registers are all zero's then
+ the SBE will use data from its image. This will work because hostboot has customized
+ the image with the correct values during the IPL. This function will zero out all
+ of the scratch registers to make sure the SBE uses its own copy of the values it
+ is looking for in these registers.
+ *
+ * @param[in] i_target - Proc we are clearing scratch regs for
+ */
+ errlHndl_t clearSbeScratchRegisters(TARGETING::Target * i_target);
+
+ /**
* @brief This function will look at what iv_currentAction is set to
* and take into account how many times we have tried to boot
* and how many times we have switched sides.
OpenPOWER on IntegriCloud