summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/common/pgLogic.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwas/common/pgLogic.C')
-rw-r--r--src/usr/hwas/common/pgLogic.C25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/usr/hwas/common/pgLogic.C b/src/usr/hwas/common/pgLogic.C
index 2cc30944f..cd0aa9b19 100644
--- a/src/usr/hwas/common/pgLogic.C
+++ b/src/usr/hwas/common/pgLogic.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2018 */
+/* Contributors Listed Below - COPYRIGHT 2018,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -31,6 +31,7 @@
#include <hwas/common/hwasError.H>
using namespace HWAS::COMMON;
+using namespace HWAS; //needed for trace macros
namespace PARTIAL_GOOD
{
@@ -134,6 +135,7 @@ namespace PARTIAL_GOOD
// MC
// PG/AG Masks
const uint16_t MC_R1_AG_MASK = 0xE0FD;
+ const uint16_t MC_R1_AG_MASK_AXONE = 0xE03D;
const uint16_t MC_R2_PG_MASK = 0x0040;
const uint16_t MC_R3_PG_MASK = 0x0020;
@@ -257,6 +259,9 @@ namespace PARTIAL_GOOD
if (rulesIterator == pgRules_map.end())
{
+ HWAS_ERR( "No rules found for type %d",
+ i_target->getAttr<TARGETING::ATTR_TYPE>() );
+
// Target is missing from the table. This is an error, so break
// out of this section of code and return the appropriate error
// below.
@@ -344,6 +349,12 @@ namespace PARTIAL_GOOD
// the following error if applicable.
if ((l_errl == nullptr) && (o_targetPgLogic.size() == 0))
{
+ HWAS_ERR( "No rule found for Target %.8X of type %d",
+ get_huid(i_target),
+ i_target->getAttr<TARGETING::ATTR_TYPE>() );
+ uint64_t userdata1 = static_cast<uint64_t>(i_target->getAttr<TARGETING::ATTR_TYPE>());
+ userdata1 <<= 32;
+ userdata1 |= static_cast<uint64_t>(get_huid(i_target));
/*@
* @errortype
* @severity ERRL_SEV_UNRECOVERABLE
@@ -358,15 +369,16 @@ namespace PARTIAL_GOOD
*
* @custdesc A problem occured during IPL of the system:
* Internal Firmware Error
- * @userdata1 target type attribute
- * @userdata2 HUID of the target
+ * @userdata1[00:31] target type attribute
+ * @userdata1[32:63] HUID of the target
+ * @userdata2 Number of rules for this target type
*/
l_errl = hwasError(
ERRL_SEV_UNRECOVERABLE,
HWAS::MOD_FIND_RULES_FOR_TARGET,
HWAS::RC_NO_PG_LOGIC,
- i_target->getAttr<TARGETING::ATTR_TYPE>(),
- get_huid(i_target));
+ userdata1,
+ pgRules_map.size());
}
return l_errl;
@@ -481,8 +493,7 @@ namespace PARTIAL_GOOD
!= TARGETING::OPTICS_CONFIG_MODE_SMP)
&& ((i_pgData[N3_PG_INDEX] & NPU_R1_PG_MASK) != ALL_OFF_AG_MASK))
{
- TRACFCOMP(HWAS::g_trac_imp_hwas,
- "pDesc 0x%.8X - OBUS_BRICK pgData[%d]: "
+ HWAS_INF( "pDesc 0x%.8X - OBUS_BRICK pgData[%d]: "
"actual 0x%04X, expected 0x%04X - bad",
i_desc->getAttr<TARGETING::ATTR_HUID>(),
N3_PG_INDEX,
OpenPOWER on IntegriCloud