summaryrefslogtreecommitdiffstats
path: root/src/include/usr/hwas/common/pgLogic.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr/hwas/common/pgLogic.H')
-rw-r--r--src/include/usr/hwas/common/pgLogic.H45
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(),}},
OpenPOWER on IntegriCloud