summaryrefslogtreecommitdiffstats
path: root/src/include/usr/hwas
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2017-11-29 17:20:08 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-12-08 11:56:02 -0500
commit9f3429c045619b95782e01435c0ae760b6bfcf1b (patch)
tree7ba8f6b5f1a749994d1dfc4087dfaa5c08564321 /src/include/usr/hwas
parentce376fc3f4c70df7dd804b860f339dc15792b01f (diff)
downloadtalos-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.H11
-rw-r--r--src/include/usr/hwas/common/hwasCommon.H11
-rw-r--r--src/include/usr/hwas/common/hwas_reasoncodes.H3
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,
};
};
OpenPOWER on IntegriCloud