summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorMarty Gloff <mgloff@us.ibm.com>2016-02-01 09:07:03 -0600
committerMatthew A. Ploetz <maploetz@us.ibm.com>2016-04-27 06:40:46 -0400
commit76febbb5c230f1231be719831f84923fb802cb95 (patch)
tree54b45deb80a2a091db0c44daa19751e191e70afc /src/include
parent5e80adfa475e07dcd896de7ced5004cf51e95ff5 (diff)
downloadtalos-hostboot-76febbb5c230f1231be719831f84923fb802cb95.tar.gz
talos-hostboot-76febbb5c230f1231be719831f84923fb802cb95.zip
P9 changes for PR core restriction
Covers the work required to support the P9 module vpd and new EQ/EX/EC core structure in relation to the processing of the PR keyword to restrict the number of cores. Add new traces or enhance old traces with additional data to improve debug. Update the module vpd binary for our standalone model. Change-Id: I20018ccf1daa429e5b0ad9e38f50b1bc5943bcb5 RTC:145459 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/705 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/hwas/common/hwas.H17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/include/usr/hwas/common/hwas.H b/src/include/usr/hwas/common/hwas.H
index 2a6d59ed9..8dafb39ae 100644
--- a/src/include/usr/hwas/common/hwas.H
+++ b/src/include/usr/hwas/common/hwas.H
@@ -81,31 +81,36 @@ errlHndl_t initHardware();
errlHndl_t discoverTargets();
/**
- * @brief restrictEXunits Internal HWAS function to restrict the EXs
+ * @brief restrictECunits Internal HWAS function to restrict the ECs
*
- * This routine will walk through the procs in the list, and turn EX
+ * This routine will walk through the procs in the list, and turn EC
* units to not functional if the number of units is larger than the max
* given. This is used for PR keyword and Field Core Override (FCO)
* processing.
*
* @param[in] i_procRestrict vector of procRestrict entries
* @param[in] i_present boolean for 'present' HWAS value for restricted
- * EX units
+ * EC units
* @param[in] i_deconfigReason DECONFIGURED_BY_ enum or 0
*
* @return errlHndl_t valid errlHndl_t handle if there was an error
* NULL if no errors;
*/
-// structure used to store proc information for EX restrict processing
+// Maximum number of EXs per proc
+#define NUM_EX_PER_EQ 2
+#define NUM_EQ_PER_CHIP 6
+#define NUM_EX_PER_CHIP (NUM_EX_PER_EQ * NUM_EQ_PER_CHIP)
+
+// structure used to store proc information for EC restrict processing
typedef struct {
TARGETING::TargetHandle_t target; // proc target
uint32_t group; // uniq id for this group - ie: FRUID, node
- uint32_t maxEXs; // max EX units for this group
+ uint32_t maxECs; // max EC units for this group
uint8_t procs; // number of procs in the group
} procRestrict_t;
-errlHndl_t restrictEXunits(
+errlHndl_t restrictECunits(
std::vector <procRestrict_t> &i_procRestrict,
const bool i_present,
const uint32_t i_deconfigReason);
OpenPOWER on IntegriCloud