diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-10-31 14:08:14 -0500 |
---|---|---|
committer | AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> | 2016-11-14 03:58:02 -0500 |
commit | 47cc99ec4522b6a2729c7d4435963929fb861df0 (patch) | |
tree | c8983f1e92266e15228140150db0dd831133a25b /src | |
parent | c78869d4678eea4332fda6fa9fe3d17e4f8ea9b2 (diff) | |
download | talos-sbe-47cc99ec4522b6a2729c7d4435963929fb861df0.tar.gz talos-sbe-47cc99ec4522b6a2729c7d4435963929fb861df0.zip |
Workaround for function versus present
Change-Id: Ib37ae27c93ee1707ba02f17969c3118919219806
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32028
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Reviewed-by: Santosh S. Puranik <santosh.puranik@in.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com>
Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/hwpf/src/plat/target.C | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/hwpf/src/plat/target.C b/src/hwpf/src/plat/target.C index 9ff1a75b..301e8534 100644 --- a/src/hwpf/src/plat/target.C +++ b/src/hwpf/src/plat/target.C @@ -312,13 +312,36 @@ namespace fapi2 bool & b_present) { + // TODO via RTC 164026 + // In nimbus all pervasive chiplets (non quad, non core), are present + // other than OBUS1 and OBUS2. In cumulus all chiplets are present. + // Though on field parts, all chiplets which are present should be + // functional. But in lab when we can get partial good parts, its + // possible that few chiplets are not functional. So we need to + // differentiate between present versus functional chiplets. + // We need to see if we need to use same strategy for cores/caches as + // well. + // Also in current code we are hard coding the chiplets. We need to use + // attribute to differentiate between nimbus versus cumulus config. + static const size_t OBUS1 = 10; + static const size_t OBUS2 = 11; + if(( i_chiplet_target.getChipletNumber() != OBUS1 ) && + ( i_chiplet_target.getChipletNumber() != OBUS2 ) && + ( i_chiplet_target.getChipletNumber() < EQ_CHIPLET_OFFSET ) ) + { + static_cast<plat_target_handle_t&>((i_chiplet_target.operator()())).setPresent(); + } // Find the PERV target number in the partial good initialization // array + FAPI_TRY(plat_PervPGTargets(i_chiplet_target, b_present)); if (b_present) { - static_cast<plat_target_handle_t&>((i_chiplet_target.operator()())).setPresent(); + if( i_chiplet_target.getChipletNumber() >= EQ_CHIPLET_OFFSET ) + { + static_cast<plat_target_handle_t&>((i_chiplet_target.operator()())).setPresent(); + } static_cast<plat_target_handle_t&>((i_chiplet_target.operator()())).setFunctional(true); } else |