summaryrefslogtreecommitdiffstats
path: root/hwpf/src
diff options
context:
space:
mode:
authorSantosh Puranik <santosh.puranik@in.ibm.com>2016-06-28 05:51:59 -0500
committerJennifer A. Stofer <stofer@us.ibm.com>2016-06-29 13:48:25 -0400
commit8bd4d78ccbe225f99b6f61f63757b9b30837b3c5 (patch)
treedf414db1364f5016a66ee6c2e1e4916d06b8cfe8 /hwpf/src
parenta874a8d59dc7fad583e785a9ea227cdf424100ab (diff)
downloadtalos-sbe-8bd4d78ccbe225f99b6f61f63757b9b30837b3c5.tar.gz
talos-sbe-8bd4d78ccbe225f99b6f61f63757b9b30837b3c5.zip
Add MCBIST Target Support
-- Support MCBIST targets -- Fix MCS targets Change-Id: Ib80e0986171102877059fd3142412277b6d0189f Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26330 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Sunil Kumar <skumar8j@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'hwpf/src')
-rw-r--r--hwpf/src/plat/target.C30
1 files changed, 26 insertions, 4 deletions
diff --git a/hwpf/src/plat/target.C b/hwpf/src/plat/target.C
index 74b2bdd1..c63af312 100644
--- a/hwpf/src/plat/target.C
+++ b/hwpf/src/plat/target.C
@@ -356,13 +356,13 @@ fapi_try_exit:
}
/*
- * Memory Controller Synchronous (MCS) Targets
+ * Memory Controller Synchronous (MCBIST) Targets
*/
- l_beginning_offset = MCS_TARGET_OFFSET;
- for (uint32_t i = 0; i < MCS_TARGET_COUNT; ++i)
+ l_beginning_offset = MCBIST_TARGET_OFFSET;
+ for (uint32_t i = 0; i < MCBIST_TARGET_COUNT; ++i)
{
- fapi2::Target<fapi2::TARGET_TYPE_MCS> target_name((fapi2::plat_target_handle_t)i);
+ fapi2::Target<fapi2::TARGET_TYPE_MCBIST> target_name((fapi2::plat_target_handle_t)i);
// Determine if the chiplet is present and, thus, functional
// via partial good attributes
@@ -440,6 +440,28 @@ fapi_try_exit:
G_vec_targets.at(l_beginning_offset+i) = revle32((fapi2::plat_target_handle_t)(target_name.get()));
}
+ /*
+ * MCS Targets
+ */
+
+ l_beginning_offset = MCS_TARGET_OFFSET;
+ for (uint32_t i = 0; i < MCS_TARGET_COUNT; ++i)
+ {
+ fapi2::Target<fapi2::TARGET_TYPE_MCS> target_name((fapi2::plat_target_handle_t)i);
+
+ // Check if both the MCBIST as well as the NEST chiplets for the MCS
+ // are present and functional
+ if((G_vec_targets.at(MCBIST_TARGET_OFFSET + (i / MCS_PER_MCBIST))).fields.present &&
+ (plat_getTargetHandleByChipletNumber(N3_CHIPLET - (MCS_PER_MCBIST * (i / MCS_PER_MCBIST)))).fields.present)
+ {
+ target_name.setPresent();
+ target_name.setFunctional(true);
+ }
+
+ G_vec_targets.at(l_beginning_offset+i) = revle32((fapi2::plat_target_handle_t)(target_name.get()));
+ }
+
+
fapi_try_exit:
return fapi2::current_err;
}
OpenPOWER on IntegriCloud