diff options
Diffstat (limited to 'src/include/usr/hwas/common/pgLogic.H')
-rw-r--r-- | src/include/usr/hwas/common/pgLogic.H | 45 |
1 files changed, 39 insertions, 6 deletions
diff --git a/src/include/usr/hwas/common/pgLogic.H b/src/include/usr/hwas/common/pgLogic.H index 66e59f5f0..12eac2f49 100644 --- a/src/include/usr/hwas/common/pgLogic.H +++ b/src/include/usr/hwas/common/pgLogic.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -129,6 +129,7 @@ namespace PARTIAL_GOOD // MC // PG/AG Masks extern const uint16_t MC_R1_AG_MASK; + extern const uint16_t MC_R1_AG_MASK_AXONE; extern const uint16_t MC_R2_PG_MASK; extern const uint16_t MC_R3_PG_MASK; @@ -533,17 +534,27 @@ namespace PARTIAL_GOOD }, { TARGETING::TYPE_MC, { - // MC Rule 1 + // MC Rule 1 (Cumulus) new PartialGoodRule ( - {&PREDICATE_CUMULUS, &PREDICATE_AXONE}, + {&PREDICATE_CUMULUS}, ALL_ON_PG_MASK, MC_R1_AG_MASK, USE_CHIPLET_ID, APPLICABLE_TO_ALL, NO_SPECIAL_RULE ), - // MC Rule 2: Chiplet N1 must be checked for chip unit 1 + // MC Rule 1 (Axone) + new PartialGoodRule + ( + {&PREDICATE_AXONE}, + ALL_ON_PG_MASK, + MC_R1_AG_MASK_AXONE, + USE_CHIPLET_ID, + APPLICABLE_TO_ALL, + NO_SPECIAL_RULE + ), + // MC Rule 2: Chiplet N1 must be checked for chip unit 1 (Axone & Cumulus) new PartialGoodRule ( {&PREDICATE_CUMULUS, &PREDICATE_AXONE}, @@ -553,7 +564,7 @@ namespace PARTIAL_GOOD ONE_BIT_CU_MASK, NO_SPECIAL_RULE ), - // MC Rule 3: Chiplet N3 must be checked for chip unit 0 + // MC Rule 3: Chiplet N3 must be checked for chip unit 0 (Axone & Cumulus) new PartialGoodRule ( {&PREDICATE_CUMULUS, &PREDICATE_AXONE}, @@ -670,6 +681,17 @@ namespace PARTIAL_GOOD APPLICABLE_TO_ALL, NO_SPECIAL_RULE ), + // @todo-RTC:208518 - Add Axone NPU PG rules + // NPU Rule 2: This logic is for Axone only. + new PartialGoodRule + ( + {&PREDICATE_AXONE}, + NPU_R1_PG_MASK, //wrong + ALL_OFF_AG_MASK, + USE_CHIPLET_ID, + APPLICABLE_TO_ALL, + NO_SPECIAL_RULE + ), }// End of PG Rules for NPU Target }, { TARGETING::TYPE_OBUS, @@ -724,13 +746,24 @@ namespace PARTIAL_GOOD // here. new PartialGoodRule ( - PREDICATE_P9, + {&PREDICATE_NIMBUS, &PREDICATE_CUMULUS}, MASK_NA, MASK_NA, INDEX_NA, APPLICABLE_TO_ALL, ObusBrickSpecialRule ), + // Axone will have some special rules related to the NPUs + // @todo-RTC:208518 - Add Axone OBUS_BRICK PG rules + new PartialGoodRule + ( + {&PREDICATE_AXONE}, + MASK_NA, + MASK_NA, + INDEX_NA, + APPLICABLE_TO_ALL, + NO_SPECIAL_RULE + ), }// End of PG Rules for OBUS BRICK Target }, { TARGETING::TYPE_OMI, {new PartialGoodRule(),}}, |