summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2019-08-30 14:10:49 -0500
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-09-09 15:24:13 -0500
commitcd820b6626a1af1e272e5d6457e233c1841db47f (patch)
tree7d9ba8df84bda9a267c651a920ff586b11aae8bd
parent8d0f324f7e6724cd239851a681d32f8b8cf7298b (diff)
downloadtalos-hostboot-cd820b6626a1af1e272e5d6457e233c1841db47f.tar.gz
talos-hostboot-cd820b6626a1af1e272e5d6457e233c1841db47f.zip
Final solution for Axone HCODE lid id
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>
-rw-r--r--src/usr/isteps/pm/pm_common.C26
-rw-r--r--src/usr/util/utillidpnor.C4
2 files changed, 17 insertions, 13 deletions
diff --git a/src/usr/isteps/pm/pm_common.C b/src/usr/isteps/pm/pm_common.C
index 3d31d6dd0..a4c197621 100644
--- a/src/usr/isteps/pm/pm_common.C
+++ b/src/usr/isteps/pm/pm_common.C
@@ -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>
diff --git a/src/usr/util/utillidpnor.C b/src/usr/util/utillidpnor.C
index 8d81ad0c1..96cee123b 100644
--- a/src/usr/util/utillidpnor.C
+++ b/src/usr/util/utillidpnor.C
@@ -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)},
};
OpenPOWER on IntegriCloud