Skip to content

Commit

Permalink
Final solution for Axone HCODE lid id
Browse files Browse the repository at this point in the history
Axone can just reuse the lid number that is assigned to Nimbus
since it is only used to map to a common PNOR partition.  There
is never a real lid load done with this value.

Change-Id: I7e1c2cc5f3f76e28b35dfd11e02a0af62c239c1b
RTC: 214257
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83138
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: Christian R Geddes <crgeddes@us.ibm.com>
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
  • Loading branch information
dcrowell77 committed Sep 9, 2019
1 parent 8d0f324 commit cd820b6
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
26 changes: 17 additions & 9 deletions src/usr/isteps/pm/pm_common.C
Expand Up @@ -285,15 +285,23 @@ namespace HBPM

do
{
// TODO RTC: 214257
// Remove workaround forcing use of NIMBUS lid for Axone's hcode lid
#ifdef CONFIG_AXONE_BRING_UP
bool l_isNimbus = true;
#else
bool l_isNimbus = (i_target->getAttr<ATTR_MODEL>() == MODEL_NIMBUS);
#endif
uint32_t l_lidId = (l_isNimbus) ? Util::NIMBUS_HCODE_LIDID
: Util::CUMULUS_HCODE_LIDID;
uint32_t l_lidId = 0;
auto l_model = i_target->getAttr<ATTR_MODEL>();
switch( l_model )
{
case(MODEL_AXONE):
// Axone just reuses the Nimbus LIDID since it is only
// used to lookup a common partition in PNOR
case(MODEL_NIMBUS):
l_lidId = Util::NIMBUS_HCODE_LIDID;
break;
case(MODEL_CUMULUS):
l_lidId = Util::CUMULUS_HCODE_LIDID;
break;
default:
assert(false,"Unsupported proc type");
}

if(g_pHcodeLidMgr.get() == nullptr)
{
g_pHcodeLidMgr = std::shared_ptr<UtilLidMgr>
Expand Down
4 changes: 0 additions & 4 deletions src/usr/util/utillidpnor.C
Expand Up @@ -53,10 +53,6 @@ static const PnorLidsMap PnorToLidsMap =
{ PNOR::OCC, LidAndContainerLid(OCC_LIDID, OCC_CONTAINER_LIDID)},
{ PNOR::WOFDATA, LidAndContainerLid(WOF_LIDID, WOF_CONTAINER_LIDID)},
{ PNOR::HCODE, LidAndContainerLid(NIMBUS_HCODE_LIDID, HCODE_CONTAINER_LIDID)},
/* @TODO RTC:177927 - Figure out how to handle different Lids for the
same PNOR section based on chip.
{ PNOR::HCODE, LidAndContainerLid(CUMULUS_HCODE_LIDID, HCODE_CONTAINER_LIDID)},
*/
{ PNOR::RINGOVD, LidAndContainerLid(HWREFIMG_RINGOVD_LIDID,INVALID_LIDID)},
};

Expand Down

0 comments on commit cd820b6

Please sign in to comment.