diff options
| author | Christian Geddes <crgeddes@us.ibm.com> | 2017-11-29 17:20:08 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-12-08 11:56:02 -0500 |
| commit | 9f3429c045619b95782e01435c0ae760b6bfcf1b (patch) | |
| tree | 7ba8f6b5f1a749994d1dfc4087dfaa5c08564321 /src/include/usr/hwas | |
| parent | ce376fc3f4c70df7dd804b860f339dc15792b01f (diff) | |
| download | talos-hostboot-9f3429c045619b95782e01435c0ae760b6bfcf1b.tar.gz talos-hostboot-9f3429c045619b95782e01435c0ae760b6bfcf1b.zip | |
TI w/ unrecoverable error if system boots w/ mismatching processors
We do not support processor modules w/ different EC levels to be
on the same system. The rule is that all processors must match
the master processor. If this is not true then hostboot will TI.
Techically we could probably still boot and just gard out the
non-matching proc's but the use case for this will be lab/manufac.
For those cases we want the technician to know right away that they
put a module w/ the wrong DD level in a system.
RTC: 183243
Change-Id: I09b30550edd30c8523fd2a709c7b7a83f597eab8
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50167
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/hwas')
| -rw-r--r-- | src/include/usr/hwas/common/hwas.H | 11 | ||||
| -rw-r--r-- | src/include/usr/hwas/common/hwasCommon.H | 11 | ||||
| -rw-r--r-- | src/include/usr/hwas/common/hwas_reasoncodes.H | 3 |
3 files changed, 25 insertions, 0 deletions
diff --git a/src/include/usr/hwas/common/hwas.H b/src/include/usr/hwas/common/hwas.H index 138a51887..7289b8ecb 100644 --- a/src/include/usr/hwas/common/hwas.H +++ b/src/include/usr/hwas/common/hwas.H @@ -138,6 +138,17 @@ errlHndl_t checkMinimumHardware( bool *o_bootable = NULL); /** +* @brief Loop through processors, make sure all have the same EC level +* create an error log for any slave processor that does not match +* the master's EC level +* +* +* @return errlHndl_t Error returned will be a summary of all errors that +* occurred during the procedure, all PLIDs should match +*/ +errlHndl_t validateProcessorEcLevels(); + +/** * @brief Struct representing a particular target. Used by * invokePresentByAssoc to populate a vector of TargetInfo's for subsequent * use by deconfigPresentByAssoc diff --git a/src/include/usr/hwas/common/hwasCommon.H b/src/include/usr/hwas/common/hwasCommon.H index 7462571b4..946d2c7a8 100644 --- a/src/include/usr/hwas/common/hwasCommon.H +++ b/src/include/usr/hwas/common/hwasCommon.H @@ -348,6 +348,17 @@ void hwasErrorAddProcedureCallout(errlHndl_t & io_errl, const HWAS::callOutPriority i_priority); /** + * @brief wrapper function to add a procedure callout to an error log in a + * platform-specific manner. + * + */ +void platHwasErrorAddHWCallout(errlHndl_t & io_errl, + const TARGETING::ConstTargetHandle_t i_target, + const HWAS::callOutPriority i_priority, + const HWAS::DeconfigEnum i_deconfigState, + const HWAS::GARD_ErrorType i_gardErrorType); + +/** * @brief wrapper function to update the plid in a platform-specific manner. * * If io_plid is non-zero then io_errl is updated with io_plid diff --git a/src/include/usr/hwas/common/hwas_reasoncodes.H b/src/include/usr/hwas/common/hwas_reasoncodes.H index 729743162..09d90a796 100644 --- a/src/include/usr/hwas/common/hwas_reasoncodes.H +++ b/src/include/usr/hwas/common/hwas_reasoncodes.H @@ -33,6 +33,7 @@ namespace HWAS MOD_PROCESS_CALLOUT = 0x02, MOD_CHECK_MIN_HW = 0x03, MOD_DECONFIG_TARGETS_FROM_GARD = 0x04, + MOD_VALIDATE_EC_LEVELS = 0x05, }; enum HwasReasonCode @@ -55,6 +56,8 @@ namespace HWAS RC_SYSAVAIL_MISSING_CRITICAL_RESOURCE = HWAS_COMP_ID | 0x0B, RC_SYSAVAIL_NO_MCAS_FUNC = HWAS_COMP_ID | 0x0C, RC_SYSAVAIL_NO_NX_FUNC = HWAS_COMP_ID | 0x0E, + RC_EC_MISMATCH = HWAS_COMP_ID | 0x0F, + RC_FAILED_EC_VALIDATION = HWAS_COMP_ID | 0x10, }; }; |

