diff options
author | Chris Phan <cphan@us.ibm.com> | 2013-04-22 18:06:25 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-05-10 08:57:25 -0500 |
commit | cd656f8217f2b920b41309ad0167137c9a44d029 (patch) | |
tree | 85494bd9feffef04a81190b21bab80a8b23a8219 /src/usr | |
parent | baf92da367baf3f64f6f27171b91a7f16bab7e7c (diff) | |
download | talos-hostboot-cd656f8217f2b920b41309ad0167137c9a44d029.tar.gz talos-hostboot-cd656f8217f2b920b41309ad0167137c9a44d029.zip |
PRD: fix mismatch chiplet signature
- Fix mismatch signature in shift register
between runtime and compile time
Change-Id: I6bc834e67d529ddfb24fd69ef9da05539fbe289a
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4158
Tested-by: Jenkins Server
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-by: BENJAMIN J. WEISENBECK <bweisenb@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4433
Diffstat (limited to 'src/usr')
-rwxr-xr-x | src/usr/diag/prdf/common/framework/rule/prdrExpr.H | 31 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule | 18 |
2 files changed, 31 insertions, 18 deletions
diff --git a/src/usr/diag/prdf/common/framework/rule/prdrExpr.H b/src/usr/diag/prdf/common/framework/rule/prdrExpr.H index b221dda4f..75140d37a 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrExpr.H +++ b/src/usr/diag/prdf/common/framework/rule/prdrExpr.H @@ -356,15 +356,28 @@ class ExprOp2 : public Expr uint16_t getSignature() { - return SignatureOp::combineSig( - (NULL == cv_arg[0] ? - SignatureOp::DEFAULT_SIGNATURE - : cv_arg[0]->getSignature() - ), - (NULL == cv_arg[1] ? - SignatureOp::DEFAULT_SIGNATURE - : cv_arg[1]->getSignature() - )); + // To match the signature generation during IPL + // time in RightShiftRegister/LeftShiftRegister, + // We need to skip calling combineSig during + // rule compile time. + // The casting is needed since these are extend ascii codes + if ((char(Prdr::RSHIFT) == cv_op) || + (char(Prdr::LSHIFT) == cv_op)) + { + return cv_arg[0]->getSignature(); + } + else + { + return SignatureOp::combineSig( + (NULL == cv_arg[0] ? + SignatureOp::DEFAULT_SIGNATURE + : cv_arg[0]->getSignature() + ), + (NULL == cv_arg[1] ? + SignatureOp::DEFAULT_SIGNATURE + : cv_arg[1]->getSignature() + )); + } }; }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule index 480fc12f7..458c60d9d 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule @@ -118,47 +118,47 @@ rule TpChipletSpa group gTpChipletSpa filter singlebit { - /** TP_CHIPLET_FIR[0] + /** TP_CHIPLET_SPA[0] * Attention from OCCFIR */ (TpChipletSpa, bit(0)) ? analyze(gOccFir); - /** TP_CHIPLET_FIR[1] + /** TP_CHIPLET_SPA[1] * Attention from MCIFIR_00 (Venice only) */ (TpChipletSpa, bit(1)) ? defaultMaskedError; - /** TP_CHIPLET_FIR[2] + /** TP_CHIPLET_SPA[2] * Attention from MCIFIR_01 (Venice only) */ (TpChipletSpa, bit(2)) ? defaultMaskedError; - /** TP_CHIPLET_FIR[3] + /** TP_CHIPLET_SPA[3] * Attention from MCIFIR_10 (Venice only) */ (TpChipletSpa, bit(3)) ? defaultMaskedError; - /** TP_CHIPLET_FIR[4] + /** TP_CHIPLET_SPA[4] * Attention from MCIFIR_10 (Venice only) */ (TpChipletSpa, bit(4)) ? defaultMaskedError; - /** TP_CHIPLET_FIR[5] + /** TP_CHIPLET_SPA[5] * Attention from MCIFIR_20 */ (TpChipletSpa, bit(5)) ? analyzeMcs20; - /** TP_CHIPLET_FIR[6] + /** TP_CHIPLET_SPA[6] * Attention from MCIFIR_21 */ (TpChipletSpa, bit(6)) ? analyzeMcs21; - /** TP_CHIPLET_FIR[7] + /** TP_CHIPLET_SPA[7] * Attention from MCIFIR_30 */ (TpChipletSpa, bit(7)) ? analyzeMcs30; - /** TP_CHIPLET_FIR[8] + /** TP_CHIPLET_SPA[8] * Attention from MCIFIR_31 */ (TpChipletSpa, bit(8)) ? analyzeMcs31; |