diff options
| author | Dan Crowell <dcrowell@us.ibm.com> | 2019-04-25 12:03:26 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-05-29 10:47:06 -0500 |
| commit | 8dd975ed59754b4ada188a0edebc2ed0f4acb6f1 (patch) | |
| tree | 594bc0bbc01899fb503ec3679d1a7d4dc33cfe4b /src/usr/hwas | |
| parent | ab9d2e9319258d03c2fccd5908dda50e55300fe2 (diff) | |
| download | blackbird-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.C | 22 | ||||
| -rw-r--r-- | src/usr/hwas/hwasPlat.C | 5 | ||||
| -rw-r--r-- | src/usr/hwas/test/hwas1test.H | 8 |
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: |

