summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2019-04-25 12:03:26 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-05-29 10:47:06 -0500
commit8dd975ed59754b4ada188a0edebc2ed0f4acb6f1 (patch)
tree594bc0bbc01899fb503ec3679d1a7d4dc33cfe4b /src/usr/hwas
parentab9d2e9319258d03c2fccd5908dda50e55300fe2 (diff)
downloadblackbird-hostboot-8dd975ed59754b4ada188a0edebc2ed0f4acb6f1.tar.gz
blackbird-hostboot-8dd975ed59754b4ada188a0edebc2ed0f4acb6f1.zip
Document Axone NPU configuration
- Updated simics_AXONE.system.xml with the valid target configuration that we should be using for NPUs in Axone. - Updated target xml files as well - Corrected 1 PG rule that no longer applies - Also modified the OBUS_BRICK layout in simics_AXONE as well Change-Id: I05c68be027cd4da39afabee04fefbb266b87c5fb RTC: 208518 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76510 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Glenn Miles <milesg@ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/hwas')
-rw-r--r--src/usr/hwas/common/pgLogic.C22
-rw-r--r--src/usr/hwas/hwasPlat.C5
-rw-r--r--src/usr/hwas/test/hwas1test.H8
3 files changed, 26 insertions, 9 deletions
diff --git a/src/usr/hwas/common/pgLogic.C b/src/usr/hwas/common/pgLogic.C
index edcb41b9a..cd0aa9b19 100644
--- a/src/usr/hwas/common/pgLogic.C
+++ b/src/usr/hwas/common/pgLogic.C
@@ -31,6 +31,7 @@
#include <hwas/common/hwasError.H>
using namespace HWAS::COMMON;
+using namespace HWAS; //needed for trace macros
namespace PARTIAL_GOOD
{
@@ -258,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.
@@ -345,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
@@ -359,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;
@@ -482,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,
diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C
index 1fc6f939d..0fd519cdb 100644
--- a/src/usr/hwas/hwasPlat.C
+++ b/src/usr/hwas/hwasPlat.C
@@ -1202,7 +1202,10 @@ errlHndl_t platPresenceDetect(TargetHandleList &io_targets)
DEVICE_CACHE_EEPROM_ADDRESS(present, EEPROM::VPD_PRIMARY));
errl = deviceRead(pTarget, &present, presentSize,
DEVICE_CACHE_EEPROM_ADDRESS(present, EEPROM::VPD_PRIMARY));
- errlCommit(errl, HWAS_COMP_ID);
+ if( errl )
+ {
+ errlCommit(errl, HWAS_COMP_ID);
+ }
// errl is now null, move on to next target
}
#endif
diff --git a/src/usr/hwas/test/hwas1test.H b/src/usr/hwas/test/hwas1test.H
index 759ad7ad7..306fea006 100644
--- a/src/usr/hwas/test/hwas1test.H
+++ b/src/usr/hwas/test/hwas1test.H
@@ -2354,6 +2354,7 @@ public:
break;
case TYPE_OBUS_BRICK:
{
+#ifndef CONFIG_AXONE //@todo-RTC:208518 - Add Axone OBUS_BRICK rules
//Two cases here:
//OBUS==SMP --> Target should be present regardless
// of PG
@@ -2385,7 +2386,7 @@ public:
TS_FAIL("testHWAS"
"checkPartialGoodForDescendants> "
"functional = 0x%x, should be true "
- "because"
+ "because "
"OBUS_BRICK is SMP: PG = 0x%04x. "
"pDesc HUID 0x%.8x",
checkPartialGoodForDescendants(
@@ -2410,7 +2411,7 @@ public:
TS_FAIL("testHWAS"
"checkPartialGoodForDescendants> "
"functional = 0x%x, should be "
- "false because"
+ "false because "
"OBUS_BRICK is NVLINK: PG = "
"0x%04x. "
"pDesc HUID 0x%.8x",
@@ -2426,10 +2427,12 @@ public:
pgData[VPD_CP00_PG_N3_INDEX] =
(uint16_t)VPD_CP00_PG_N3_GOOD;
+#endif
break;
}
case TYPE_NPU:
+#ifndef CONFIG_AXONE //@todo-RTC:208518 - Add Axone NPU rules
TS_INFO( "testHWAScheckPartialGoodForDescendants: "
"NPU is not functional");
pgData[VPD_CP00_PG_N3_INDEX] |=
@@ -2449,6 +2452,7 @@ public:
pgData[VPD_CP00_PG_N3_INDEX] =
(uint16_t)VPD_CP00_PG_N3_GOOD;
+#endif
break;
case TYPE_PERV:
OpenPOWER on IntegriCloud