summaryrefslogtreecommitdiffstats
path: root/src/usr/sbe/HBconfig
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2017-07-26 11:27:45 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-09 13:34:40 -0400
commit7c53973849de64198de72fcdd680e1424832a4e0 (patch)
tree4a4b8daa6f29cc1fc75025b24b4e2010756b0600 /src/usr/sbe/HBconfig
parente276a9bbce83803dca7fb399c5b69a174b4ade4b (diff)
downloadtalos-hostboot-7c53973849de64198de72fcdd680e1424832a4e0.tar.gz
talos-hostboot-7c53973849de64198de72fcdd680e1424832a4e0.zip
SBE update plan for OpenPOWER
We need to have a new way to handle the SBE update flow for OpenPOWER. Update the SBE code one side at a time to avoid a scenario where a bad code load bricks the system. Start by loading side 0 (primary), then re-IPL, and finally load side 1 (backup). A new config flag is used, SBE_UPDATE_CONSECUTIVE. Change-Id: Icf18ebec173c2f42fe200fb9cd547b9ebc580acc RTC: 176755 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43893 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/sbe/HBconfig')
-rw-r--r--src/usr/sbe/HBconfig26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/usr/sbe/HBconfig b/src/usr/sbe/HBconfig
index fd2a8d07b..e12929108 100644
--- a/src/usr/sbe/HBconfig
+++ b/src/usr/sbe/HBconfig
@@ -1,15 +1,16 @@
config SBE_UPDATE_SEQUENTIAL
- default y if !SBE_UPDATE_SIMULTANEOUS && !SBE_UPDATE_INDEPENDENT
- depends on !SBE_UPDATE_SIMULTANEOUS && !SBE_UPDATE_INDEPENDENT
+ default y if !SBE_UPDATE_SIMULTANEOUS && !SBE_UPDATE_INDEPENDENT && !SBE_UPDATE_CONSECUTIVE
+ depends on !SBE_UPDATE_SIMULTANEOUS && !SBE_UPDATE_INDEPENDENT && !SBE_UPDATE_CONSECUTIVE
help
If an update is necessary, only 1 SBE SEEPROM per processor will be
- updated on each IPL. If a 2nd SBE SEEPROM needs to be updated, a re-IPL
- will be requested. The end result is that both SBE SEEPROMs will
- contain the same code.
+ updated on each IPL (the SEEPROM not used to boot). If a 2nd SBE
+ SEEPROM needs to be updated (one used to boot), a re-IPL from the
+ updated SBE SEEPROM will be requested. The end result is that both
+ SBE SEEPROMs will contain the same code.
config SBE_UPDATE_SIMULTANEOUS
default n
- depends on !SBE_UPDATE_SEQUENTIAL && !SBE_UPDATE_INDEPENDENT
+ depends on !SBE_UPDATE_SEQUENTIAL && !SBE_UPDATE_INDEPENDENT && !SBE_UPDATE_CONSECUTIVE
help
If an update is necessary, both SBE SEEPROMs on a processor will be
updated at the same time before a re-IPL request is issued. The end
@@ -17,13 +18,24 @@ config SBE_UPDATE_SIMULTANEOUS
config SBE_UPDATE_INDEPENDENT
default y if PNOR_TWO_SIDE_SUPPORT
- depends on !SBE_UPDATE_SEQUENTIAL && !SBE_UPDATE_SIMULTANEOUS
+ depends on !SBE_UPDATE_SEQUENTIAL && !SBE_UPDATE_SIMULTANEOUS && !SBE_UPDATE_CONSECUTIVE
help
If an update is necessary, and if the "current" SBE SEEPROM of this
IPL is not pointing at PNOR's 'GOLDEN' side, then only the current SBE
SEEPROM will be updated. After the update a re-IPL request will be
issued. The other SBE SEEPROM will not be updated.
+config SBE_UPDATE_CONSECUTIVE
+ default n
+ depends on !SBE_UPDATE_SEQUENTIAL && !SBE_UPDATE_SIMULTANEOUS && !SBE_UPDATE_INDEPENDENT
+ help
+ If an update is necessary for the primary SBE SEEPROM (side 0), it will
+ be updated. After the update, a re-IPL is requested and the reboot
+ count will be set to the default so side 0 is used to boot. If during
+ the re-IPL an update is necessary for the backup SBE SEEPROM (side 1),
+ it will be updated and the IPL is allowed to continue. The end result
+ is that both SBE SEEPROMs will contain the same code.
+
config NO_SBE_UPDATES
default n
help
OpenPOWER on IntegriCloud