diff options
| author | Marty Gloff <mgloff@us.ibm.com> | 2017-07-26 11:27:45 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-09 13:34:40 -0400 |
| commit | 7c53973849de64198de72fcdd680e1424832a4e0 (patch) | |
| tree | 4a4b8daa6f29cc1fc75025b24b4e2010756b0600 /src/usr/sbe/HBconfig | |
| parent | e276a9bbce83803dca7fb399c5b69a174b4ade4b (diff) | |
| download | talos-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/HBconfig | 26 |
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 |

